eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaGenerowanie sumy kontrolnej z fragmentu pliku binGenerowanie sumy kontrolnej z fragmentu pliku bin
  • 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

Podziel się

Poleć ten post znajomemu poleć

Wydrukuj ten post drukuj


Następne wpisy z tego wątku

Najnowsze wątki z tej grupy


Najnowsze wątki

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: