RTV forum PL | NewsGroups PL

Gcc: Jak zaimplementować obliczanie CRC w pamięci Flash bez narzędzi zewnętrznych?

gcc i crc w hex

NOWY TEMAT

elektroda NewsGroups Forum Index - Elektronika Polska - Gcc: Jak zaimplementować obliczanie CRC w pamięci Flash bez narzędzi zewnętrznych?

Sebastian Biały
Guest

Fri Mar 22, 2013 11:44 am   



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.

Jakub Rakus
Guest

Fri Mar 22, 2013 10:58 pm   



W dniu 22.03.2013 11:44, Sebastian Biały pisze:
Quote:
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.

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.

--
Pozdrawiam
Jakub Rakus

mw_wawa
Guest

Fri Mar 22, 2013 10:58 pm   



"Sebastian Bialy" <heby@poczta.onet.pl> schrieb
Quote:
Takie proste (?) zadanie: jest program na uC. Program posiada magiczne
miejsce pod koniec pamieci Flash w którym chcialbym zmiescic crc calej
reszty flasha. Potrzebuje to w celu werfyfikacji przez bootloader
poprawnosci reszty kodu.

Idealnie bylo by aby skrypt linkera gcc byl w stanie w momencie
linkowania policzyc mi CRC[16|32] i wstawic to pod koniec Flash.
Pytanie: czy bez udzialu narzedzi zewnetrznych ktokolwiek widzial
podobny bajer? Idealne rozwiazanie to poslugiwanie sie wylacznie
narzedziami gcc.

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

Sebastian Biały
Guest

Fri Mar 22, 2013 11:50 pm   



On 2013-03-22 22:58, Jakub Rakus wrote:
Quote:
Hmm, jeśli to byłby jakiś PIC to MPLAB pokazuje CRC kodu wrzucanego do
flasha, więc można sobie je łatwo "przepisać".

*ZAUTOMATYZOWAC* chciałbym.

Quote:
O gotowcach do gcc do czegoś takiego nie słyszałem, ale może nie byłoby
takie trudne samemu napisać prosty skrypcik?

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

Quote:
Tylko jedna wątpliwość -
czemu w momencie linkowania?

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

Sebastian Biały
Guest

Fri Mar 22, 2013 11:51 pm   



On 2013-03-22 22:58, mw_wawa wrote:
Quote:
Napisac program ktory policzy crc pliku i wpisze do niego wynik
(jak rozumiem) to w sumie banalne zadanie. Mozesz sie posluzyc
gcc oczywiscie.

Ja wiem. To dalej jest workaround.

Marek
Guest

Sat Mar 23, 2013 12:51 am   



On Fri, 22 Mar 2013 11:44:13 +0100, Sebastian
Biały<heby@poczta.onet.pl> wrote:
Quote:
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

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

--
Marek

Sebastian Biały
Guest

Sat Mar 23, 2013 9:33 am   



On 2013-03-23 00:51, Marek wrote:
Quote:
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.

Piotr Gałka
Guest

Sat Mar 23, 2013 11:35 am   



Użytkownik "Marek" <fake@fakeemail.com> napisał w wiadomości
news:almarsoft.5158863783065747090@news.neostrada.pl...
Quote:

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

Sprawdzanie CRC przez bootloader to nie tylko zaraz po flashowaniu.

P.G.

Zbych
Guest

Sat Mar 23, 2013 1:52 pm   



Sebastian Biały przemówił ludzkim głosem:
Quote:
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.

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

elektroda NewsGroups Forum Index - Elektronika Polska - Gcc: Jak zaimplementować obliczanie CRC w pamięci Flash bez narzędzi zewnętrznych?

NOWY TEMAT

Regulamin - Zasady uzytkowania Polityka prywatnosci Kontakt RTV map News map