gcc i crc w hex

Mar 22, 2013 8 Replies

Takie proste (?) zadanie: jest program na uC. Program posiada magiczne miejsce pod koniec pamięci Flash w którym chciałbym zmiescić crc całej reszty flasha. Potrzebuje to w celu werfyfikacji przez bootloader poprawności reszty kodu.



Idealnie było by aby skrypt linkera gcc byl w stanie w momencie linkowania policzyć mi CRC[16|32] i wstawić to pod koniec Flash. Pytanie: czy bez udzialu narzędzi zewnętrznych ktokolwiek widział podobny bajer? Idealne rozwiązanie to posługiwanie się wyłącznie narzędziami gcc.


W dniu 22.03.2013 11:44, Sebastian Biały pisze:

Hmm, jeśli to byłby jakiś PIC to MPLAB pokazuje CRC kodu wrzucanego do flasha, więc można sobie je łatwo "przepisać". Może jakieś (może nawet to co używasz) IDE, w którym klepie się programiki pod AVRy też ma taką funkcję? O gotowcach do gcc do czegoś takiego nie słyszałem, ale może nie byłoby takie trudne samemu napisać prosty skrypcik? Tylko jedna wątpliwość - czemu w momencie linkowania? Zdaje mi się, że chyba najlepiej/najprościej policzyć crc z tego co będzie w wynikowym hexie i dodać to po prostu do niego na końcu.

"Sebastian Bialy" snipped-for-privacy@poczta.onet.pl> schrieb

Napisac program ktory policzy crc pliku i wpisze do niego wynik (jak rozumiem) to w sumie banalne zadanie. Mozesz sie posluzyc gcc oczywiscie.

Wbicie wywolania tego programu w makefile no to bedzie 1 linijka w pliku tekstowym.

Pamietam jak sam w winavr cos meczylem. Mnie z kolei naszlo zeby avrdude po linkowaniu wywolywac. No i dalo sie bez problemu.

mw

*ZAUTOMATYZOWAC* chciałbym.

jesli takowe narzedzie znajduje się w gcc to wole o tym wiedzieć zanim przywiąże się do jakiegoś języka.

Bo wtedy w elfie mam to samo co w hex, ale wygodniej, tzn mogę te kilka bajtów ustawić dokładnie w pamięci tam gdzie chcę - poprzed dodatkową sekcję.

Ja wiem. To dalej jest workaround.

magiczne

Ile razy po flashowaniu nie zgadzał Ci się crc?

Wystarczy raz aby narobić strat. Flashowanie jest zautomatyzowane w procesie produkcyjnym i problemem nie jest sam Flash tylko komunikacja.

Użytkownik "Marek" snipped-for-privacy@fakeemail.com napisał w wiadomości news: snipped-for-privacy@news.neostrada.pl...

Sprawdzanie CRC przez bootloader to nie tylko zaraz po flashowaniu. P.G.

Sebastian Biały przemówił ludzkim głosem:

srecord. Nie, nie jest częścią gcc, ale jest popularny. Jest dołączany m.in. do pakietu winavr.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required