eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.misc.elektronikaGenerowanie sumy kontrolnej z fragmentu pliku bin
Ilość wypowiedzi w tym wątku: 43

  • 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-25 23:36:07
    Temat: Re: Generowanie sumy kontrolnej z fragmentu pliku bin
    Od: LordBluzg(R)?? <m...@p...onet.pl>

    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" :)
    --
    LordBluzg(R)??
    <<<?i? ć?d?? i Putina i ęjcaredefnoK>>>


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


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


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

strony : [ 1 ] . 2 ... 5


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: