-
Path: news-archive.icm.edu.pl!news.icm.edu.pl!news.chmurka.net!.POSTED.172.24.44.20!n
ot-for-mail
From: a...@h...invalid (Arnold Ziffel)
Newsgroups: pl.misc.elektronika
Subject: Re: Generowanie sumy kontrolnej z fragmentu pliku bin
Date: Tue, 25 Jun 2024 15:22:07 -0000 (UTC)
Organization: news.chmurka.net
Message-ID: <0...@h...invalid>
References: <v5egs3$39jfk$1@news.icm.edu.pl>
MIME-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-2
Content-Transfer-Encoding: 8bit
Injection-Date: Tue, 25 Jun 2024 15:22:07 -0000 (UTC)
Injection-Info: news.chmurka.net; posting-account="arnold";
posting-host="172.24.44.20"; logging-data="3044";
mail-complaints-to="abuse-news.(at).chmurka.net"
User-Agent: tin/2.6.1-20211226 ("Convalmore") (Linux/6.1.21-v7+ (armv7l))
Cancel-Lock: sha1:XwcJQbUYdgNrLTLEWufTiOsE0eM= sha1:yJDUcpzf5Dqfj3rBryOziYD+0lA=
sha256:MkV/kPDEVf1YWyhiA+i5RTeCi8wqC4gzNTsRks81ENs=
sha1:snRLTC4zof0SWfyJc/d+IQq8BS0=
sha256:fpdIYUjy0jFpwq228j3qYjpJvy2KhfdZTPg6P85qJOc=
Xref: news-archive.icm.edu.pl pl.misc.elektronika:792553
[ ukryj 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
- 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