eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronika › Generowanie sumy kontrolnej z fragmentu pliku bin
Ilość wypowiedzi w tym wątku: 32

  • 1. Data: 2024-06-25 15:31:47
    Temat: Generowanie sumy kontrolnej z fragmentu pliku bin
    Od: Atlantis <m...@w...pl>

    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


  • 2. Data: 2024-06-25 17:22:07
    Temat: Re: Generowanie sumy kontrolnej z fragmentu pliku bin
    Od: a...@h...invalid (Arnold Ziffel)

    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...


  • 3. Data: 2024-06-25 18:24:17
    Temat: Re: Generowanie sumy kontrolnej z fragmentu pliku bin
    Od: Jacek Marcin Jaworski <j...@a...pl>


    > 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.

    Ja mogę trzepnąć taki programik za parę stówek w C lub w C++ lub w D.


  • 4. Data: 2024-06-25 18:40:35
    Temat: Re: Generowanie sumy kontrolnej z fragmentu pliku bin
    Od: LordBluzg(R)?? <m...@p...onet.pl>

    W dniu 25.06.2024 o 18:24, Jacek Marcin Jaworski pisze:
    >
    >> 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.
    >
    > Ja mogę trzepnąć taki programik za parę stówek w C lub w C++ lub w D.
    >
    Mogę Ci dorobić podkład muzyczny w C-dur :) za stówkę lub w A-mol,
    bardziej nostalgiczny :D
    --
    LordBluzg(R)??
    <<<?i? ć?d?? i Putina i ęjcaredefnoK>>>


  • 5. Data: 2024-06-25 20:34:37
    Temat: Re: Generowanie sumy kontrolnej z fragmentu pliku bin
    Od: Adam <a...@p...onet.pl>

    Dnia Tue, 25 Jun 2024 18:40:35 +0200, LordBluzg®🇵🇱 napisał(a):

    > W dniu 25.06.2024 o 18:24, Jacek Marcin Jaworski pisze:
    >>
    >>> 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.
    >>
    >> Ja mogę trzepnąć taki programik za parę stówek w C lub w C++ lub w D.
    >>
    > Mogę Ci dorobić podkład muzyczny w C-dur :) za stówkę lub w A-mol,
    > bardziej nostalgiczny :D


    A możesz wytłumaczyć, czym się różni C-dur od a-moll, prz założeniu, że
    masz na myśli skalę naturalną?


    --
    Pozdrawiam.

    Adam


  • 6. Data: 2024-06-25 22:44:10
    Temat: Re: Generowanie sumy kontrolnej z fragmentu pliku bin
    Od: Atlantis <m...@w...pl>

    On 25.06.2024 18:24, Jacek Marcin Jaworski wrote:

    > Ja mogę trzepnąć taki programik za parę stówek w C lub w C++ lub w D.

    Nie no, na spokojnie przeanalizuję sobie co robi ten asemblerowy kod
    8080 i spróbuję napisać odpowiednik w C. Po prostu liczyłem na to, że
    może nie trzeba będzie wyważać otwartych drzwi i któryś z linuksowych
    kombajnów już to potrafi. :)


  • 7. Data: 2024-06-26 06:56:39
    Temat: Re: Generowanie sumy kontrolnej z fragmentu pliku bin
    Od: ptoki <p...@e...pl>

    On 2024-06-25 10:22, Arnold Ziffel wrote:
    > 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
    >
    >
    > 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.
    >

    moze to?
    https://github.com/onslauth/bash_crc16


  • 8. Data: 2024-06-26 10:39:31
    Temat: Re: Generowanie sumy kontrolnej z fragmentu pliku bin
    Od: Adam <a...@p...onet.pl>

    Dnia Tue, 25 Jun 2024 23:36:07 +0200, LordBluzg®🇵🇱 napisał(a):

    > W dniu 25.06.2024 o 20:34, Adam pisze:
    >
    >>>>> 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.
    >>>>
    >>>> Ja mogę trzepnąć taki programik za parę stówek w C lub w C++ lub w D.
    >>>>
    >>> Mogę Ci dorobić podkład muzyczny w C-dur :) za stówkę lub w A-mol,
    >>> bardziej nostalgiczny :D
    >>
    >> A możesz wytłumaczyć, czym się różni C-dur od a-moll, prz założeniu, że
    >> masz na myśli skalę naturalną?
    >>
    > To dość proste. Przede wszystkim solmizacją i przyjęło się, że tonacja
    > dur jest "wesoła" a tonacja mol bardziej "smutna". W tonacji c-dur nie
    > występują np, półdźwięki a w tonacji a-mol mamy gis w akordzie dla
    > e-dur, czyli trójdźwięk e-gis-h :) bo całkowicie "molowo" byłoby za
    > "smutne" :)

    No właśnie niezupełnie.
    Już od wprowadzenia systemu równomiernie temperowanego tego nie słychać, bo
    akordy brzmią jednakowo.

    Jest jeszcze gdzieś w Polsce kościół, w którym są organy w starym stroju,
    mające podwójny klawisz h.
    Taką niejako "zaszłością" podwójnego h jest skala minorowa melodyczna,
    gdzie idąc w górę septyma jest podniesiona, a idąc w dół obniżona.

    Przynajmniej tyle pamiętam z wykładów sprzed jakichś 40 lat.
    Qrde, znany muzykolog mnie uczył, ale mam zaćmę i nie mogę sobie
    przypomnieć nazwiska.

    Jeszcze jedno:
    űródła pisane donoszą, że w Średniowieczu czy Odrodzeniu i później,
    większość ludzi (czyli "miastowych", nie "wieśniaków") była w stanie
    odróżnić tonację w granym na organach utworze.
    Druga ciekawostka:
    Aktualnie można utwór dowolnie transponować przy skali równimiernie
    temperowanej. Wcześniej w zasadzie utwór transponowany już nie brzmiał
    prawidłowo.


    --
    Pozdrawiam.

    Adam


  • 9. Data: 2024-06-26 12:01:12
    Temat: Re: Generowanie sumy kontrolnej z fragmentu pliku bin
    Od: LordBluzg(R)?? <m...@p...onet.pl>

    W dniu 26.06.2024 o 10:39, Adam pisze:
    > Dnia Tue, 25 Jun 2024 23:36:07 +0200, LordBluzg(R)???????????? napisał(a):
    >
    >> W dniu 25.06.2024 o 20:34, Adam pisze:
    >>
    >>>>>> 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.
    >>>>>
    >>>>> Ja mogę trzepnąć taki programik za parę stówek w C lub w C++ lub w D.
    >>>>>
    >>>> Mogę Ci dorobić podkład muzyczny w C-dur :) za stówkę lub w A-mol,
    >>>> bardziej nostalgiczny :D
    >>>
    >>> A możesz wytłumaczyć, czym się różni C-dur od a-moll, prz założeniu, że
    >>> masz na myśli skalę naturalną?
    >>>
    >> To dość proste. Przede wszystkim solmizacją i przyjęło się, że tonacja
    >> dur jest "wesoła" a tonacja mol bardziej "smutna". W tonacji c-dur nie
    >> występują np, półdźwięki a w tonacji a-mol mamy gis w akordzie dla
    >> e-dur, czyli trójdźwięk e-gis-h :) bo całkowicie "molowo" byłoby za
    >> "smutne" :)
    >
    > No właśnie niezupełnie.
    > Już od wprowadzenia systemu równomiernie temperowanego tego nie słychać, bo
    > akordy brzmią jednakowo.

    Chyba jednak nie. C-E-G brzmi inaczej niż A-C-E. Dodatkowo zależy to też
    od instrumentu. Na przykład gitara i "riffy/chwyty" w różnych tonacjach
    brzmią skrajnie różnie.

    > Jeszcze jedno:
    > Źródła pisane donoszą, że w Średniowieczu czy Odrodzeniu i później,
    > większość ludzi (czyli "miastowych", nie "wieśniaków") była w stanie
    > odróżnić tonację w granym na organach utworze.

    Tak jest nadal. To "słuch absolutny" i akurat mam taką umiejętność.
    Nabyłem ją dziedzicznie.

    > Druga ciekawostka:
    > Aktualnie można utwór dowolnie transponować przy skali równimiernie
    > temperowanej. Wcześniej w zasadzie utwór transponowany już nie brzmiał
    > prawidłowo.

    No nie, zmienia się wtedy wysokość dźwięków. Przykładem może być, że
    większość utworów "techno, rave itd" czyli ten typ muzyki, pisze się w
    tonacji B...a to tylko dlatego, że częstotliwość tej tonacji jest
    inaczej/lepiej odbierana przez ogół słuchających...w sensie wytwarzania
    dopaminy :)

    --
    LordBluzg(R)??
    <<<?i? ć?d?? i Putina i ęjcaredefnoK>>>


  • 10. Data: 2024-06-26 12:22:09
    Temat: Re: Generowanie sumy kontrolnej z fragmentu pliku bin
    Od: Piotr Gałka <p...@c...pl>

    W dniu 2024-06-26 o 10:39, Adam pisze:
    >
    > No właśnie niezupełnie.
    > Już od wprowadzenia systemu równomiernie temperowanego tego nie słychać, bo
    > akordy brzmią jednakowo.

    Mam słuch muzyczny pierwszego rodzaju - rozróżniam kiedy grają, a kiedy
    nie. Dla mnie jak najbardziej - wszystkie akordy brzmią jednakowo.

    Ale...
    Syn zdawał dodatkowy egzamin z muzyki do liceum z klasą o profilu
    muzycznym. Usłyszawszy akord miał określić, czy to jest dur, czy mol
    więc musi to być słychać.
    Z tego co opowiadał to pani coś zagrała a on na to że mol w drugim
    przewrocie. Jako jeden z kilku dostał z tego egzaminu max, ale do szkoły
    go nie przyjęli :(

    Mimo, że w dzieciństwie byłem katowany grą na pianinie to o przewrotach
    akordów usłyszałem wtedy po raz pierwszy.

    > Jeszcze jedno:
    > Źródła pisane donoszą, że w Średniowieczu czy Odrodzeniu i później,
    > większość ludzi (czyli "miastowych", nie "wieśniaków") była w stanie
    > odróżnić tonację w granym na organach utworze.
    > Druga ciekawostka:
    > Aktualnie można utwór dowolnie transponować przy skali równimiernie
    > temperowanej. Wcześniej w zasadzie utwór transponowany już nie brzmiał
    > prawidłowo.

    O tym, że kiedyś nie było równomiernego temperowania usłyszałem po raz
    pierwszy jak pianino dla syna było po raz pierwszy strojone. Trafiliśmy
    (przypadkiem) na stroiciela, który właśnie rozkręcał biznes wynajmowania
    fortepianów na koncerty a potem do tego stopnia współpracował z
    Możdżerem, że kupili sobie domy w tej samej wsi. Byłem kiedyś u niego na
    'domowym koncercie' Możdżera.
    Ale przy moim słuchu to jest kompletnie bez znaczenia kto naciska
    klawisze fortepianu.

    Wcześniej myślałem, że odległość między kolejnymi dźwiękami skali od
    zawsze była taka sama. Przecież to tak prosto wynika z matematyki
    (stosunek chęstotliwości = 2^(1/12)), że nie rozumiem po co było to
    komplikować :) .
    P.G.

strony : [ 1 ] . 2 ... 4


Szukaj w grupach

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: