-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!.POSTED.cdq63.neoplus.adsl.tpnet.pl!not
-for-mail
From: Atlantis <m...@w...pl>
Newsgroups: pl.misc.elektronika
Subject: Generowanie sumy kontrolnej z fragmentu pliku bin
Date: Tue, 25 Jun 2024 15:31:47 +0200
Organization: ICM, Uniwersytet Warszawski
Message-ID: <v5egs3$39jfk$1@news.icm.edu.pl>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 25 Jun 2024 13:31:47 -0000 (UTC)
Injection-Info: news.icm.edu.pl;
posting-host="cdq63.neoplus.adsl.tpnet.pl:83.30.166.63";
logging-data="3460596"; mail-complaints-to="u...@n...icm.edu.pl"
User-Agent: Mozilla Thunderbird
Content-Language: en-US, pl-PL
Xref: news-archive.icm.edu.pl pl.misc.elektronika:792552
[ ukryj nagłówki ]Mam pewien projekt, do którego firmware jest budowany w wielu krokach (w
Makefile) z wielu różnych plików. Po drodze powstaje plik .bin, który
jednak nie jest produktem końcowym - docelowo binarka trafia na kartę
pamięci, skąd jest ładowana do RAM-u i wykonywana. W sofcie jest
zaimplementowana procedura liczenia sumy kontrolnej (CRC16) z tej części
pamięci, w której jest przechowywany kod wykonywalny. Na chwilę obecną
mogę dzięki temu upewnić się, że kod z każdym razem jest ładowany w
powtarzalny sposób - to jednak nie daje mi pewności, że nie ma błedów,
bo muszę jeszcze porównać sumę z obrazem generowanym na PC.
Potrzebuję więc jakiegoś narzędzia, które pozwoli mi w sposób
automatyczny (pod Linuksem, wewnątrz Makefile) wykonać następujący ciąg
operacji.
- Bierzemy fragment pliku bin - od określonego adresu i o określonej
długości.
- Liczymy z niego sumę kontrolną CRC16.
- Wyświetlamy wynik
- Zapisujemy wynik w tym samym pliku bin, pod określonym adresem (to w
przyszłości pozwoli mi zatrzymać wykonywanie programu, jeśli po jego
załadowaniu okaże się, że suma się nie zgadza).
Projekt jest retro, na antycznym CPU - stąd zastosowanie CRC16.
Konkretnie korzystam z procedury crc16_arc_f opisanej na tej stronie:
http://regregex.bbcmicro.net/crc-code.htm#crc-code.1
6.8080
Następne wpisy z tego wątku
- 25.06.24 17:22 Arnold Ziffel
- 25.06.24 18:24 Jacek Marcin Jaworski
- 25.06.24 18:40 LordBluzg(R)??
- 25.06.24 20:34 Adam
- 25.06.24 22:44 Atlantis
- 26.06.24 06:56 ptoki
- 26.06.24 10:39 Adam
- 26.06.24 12:01 LordBluzg(R)??
- 26.06.24 12:22 Piotr Gałka
- 26.06.24 12:29 Piotr Gałka
- 26.06.24 12:35 Robert Wańkowski
- 26.06.24 12:39 LordBluzg(R)??
- 26.06.24 12:42 J.F
- 26.06.24 12:44 LordBluzg(R)??
- 26.06.24 12:48 Robert Wańkowski
Najnowsze wątki z tej grupy
- ale zawziętość i cierpliwość
- Chiński elektrolizer tester wody
- Dzisiaj Bentlejem czyli przybieżeli sześciu Króli do Rysia na kasie
- ciekawy układ magnetofonu
- Mikroskop 3D
- Jak być bezpiecznym z Li-Ion?
- Szukam monitora HDMI ok. 4"
- Obcinaczki z łapaczem
- termostat do lodowki
- SEP 1 kV E
- Aku LiPo źródło dostaw - ktoś poleci ?
- starość nie radość
- Ataki hakerskie
- Akumulatorki Ni-MH AA i AAA Green Cell
- Dławik CM
Najnowsze wątki
- 2024-12-28 Antyradar
- 2024-12-28 Deweloper przegral w sadzie musi zwrócic pieniądze Posypia sie kolejne pozwy?
- 2024-12-28 Warszawa => Full Stack .Net Engineer <=
- 2024-12-28 Warszawa => Sales Assistant <=
- 2024-12-28 Warszawa => Programista Full Stack .Net <=
- 2024-12-28 Warszawa => Full Stack web developer (obszar .Net Core, Angular6+) <=
- 2024-12-28 Katowice => Head of Virtualization Platform Management and Operating S
- 2024-12-28 Błonie => Analityk Systemów Informatycznych (TMS SPEED) <=
- 2024-12-28 Warszawa => Senior Frontend Developer (React + React Native) <=
- 2024-12-28 Żerniki => Employer Branding Specialist <=
- 2024-12-28 ale zawziętość i cierpliwość
- 2024-12-27 most kilometrowy
- 2024-12-27 Dyplomaci a alkomaty
- 2024-12-27 Zmiana kary
- 2024-12-27 Chiński elektrolizer tester wody