-
Data: 2024-06-25 17:22:07
Temat: Re: Generowanie sumy kontrolnej z fragmentu pliku bin
Od: a...@h...invalid (Arnold Ziffel) szukaj wiadomości tego autora
[ pokaż wszystkie nagłówki ]Atlantis <m...@w...pl> wrote:
> 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).
Wytniesz przez:
dd if=file.bin bs=1 skip=2 count=3 status=none
Spatchujesz plik przez:
dd bs=1 seek=2 count=3 conv=notrunc of=plik.bin.new status=none
Przykładowo:
$ yes test | head -n10 > file.bin
$ hexdump -C file.bin
00000000 74 65 73 74 0a 74 65 73 74 0a 74 65 73 74 0a 74 |test.test.test.t|
00000010 65 73 74 0a 74 65 73 74 0a 74 65 73 74 0a 74 65 |est.test.test.te|
00000020 73 74 0a 74 65 73 74 0a 74 65 73 74 0a 74 65 73 |st.test.test.tes|
00000030 74 0a |t.|
00000032
$ echo "ST" | dd bs=1 seek=2 count=2 conv=notrunc of=file.bin status=none
$ hexdump -C file.bin
00000000 74 65 53 54 0a 74 65 73 74 0a 74 65 73 74 0a 74 |teST.test.test.t|
00000010 65 73 74 0a 74 65 73 74 0a 74 65 73 74 0a 74 65 |est.test.test.te|
00000020 73 74 0a 74 65 73 74 0a 74 65 73 74 0a 74 65 73 |st.test.test.tes|
00000030 74 0a |t.|
00000032
Teraz tylko znaleźć program, który zrobi crc16 z linii poleceń -- na
szybko nie znalazłem, może się okazać, że będzie trzeba napisać jakiś
kawałek kodu w Pythonie albo czymś podobnym.
> Konkretnie korzystam z procedury crc16_arc_f opisanej na tej stronie:
> http://regregex.bbcmicro.net/crc-code.htm#crc-code.1
6.8080
Jeśli korzystasz z niestandardowej procedury to tym bardziej napisz jakiś
mały program. Z drugiej strony, mając program, możesz w zasadzie zrobić
całość w nim.
--
Najbardziej pamiętam jedną z wigilii, kiedy wyciąłem śliczne gwiazdki na
choinkę ze skórzanej kurtki mojego taty. Pamiętam też, że mleczaki
wypadły mi wcześniej niż rówieśnikom...
Następne wpisy z tego wątku
- 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
- 26.06.24 12:55 J.F
Najnowsze wątki z tej grupy
- zagadka pneumatyczna
- Klip testowy, jak sie to używa
- Jak sie smazy elektronike z odleglosci kilkuset metrów?
- William Shockley, co-inventor of the transistor
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
- Silikonowy przewód ekranowany
- Wtyk bananowy ekranowany
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
- Superkondensator. Czy to się uda?
- Stare filmy o technice
Najnowsze wątki
- 2025-11-14 "Partia rządzi, partia radzi. Partia nigdy cię nie zdradzi..."
- 2025-11-14 Czyja PRAWNA wina: Ukraina zestrzeliła ruski pocisk Iskander na ambasadę Azerbejdżanu
- 2025-11-14 Warszawa => Junior Rekruter <=
- 2025-11-14 Myślenice => Specjalista ds. kontrolingu <=
- 2025-11-14 Warszawa => Fullstack PHP Developer <=
- 2025-11-14 Warszawa => Mid/Senior IT Recruiter <=
- 2025-11-14 Zakrzewo => SAP HCM Consultant <=
- 2025-11-14 zagadka pneumatyczna
- 2025-11-14 Serwis Kii w Warszawie
- 2025-11-14 Warszawa => IT Recruiter <=
- 2025-11-14 Warszawa => Senior Microsoft Dynamics 365 Business Central Consultant
- 2025-11-14 Warszawa => Senior Microsoft Dynamics 365 Business Central Konsultant
- 2025-11-14 Wrocław => Programista React ze znajomością C++ <=
- 2025-11-14 Lublin => Programista Delphi <=
- 2025-11-14 Zabójstwo dzika




Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei