jak policzyc crc dla flasha w avr
Masz problem? Zapytaj na forum elektroda.pl
From: =?ISO-8859-2?Q?Krzysztof_Szmur=B3o?=
Subject: jak policzyc crc dla flasha w avr
Date: Mon, 16 Jan 2006 15:18:07 +0100
Witam
Chcę policzyć sumę crc zawartości flasha w avr. W libc są do tego
procedury np: crc16_update(..). Nie bardzo jednak wiem jak tą funkcje
użyć do policzenia całego flasha. Czy mam dla każdej komórki wywołać
crc16_update() i dodać wyniki do siebie?
Pozdrawiam
Krzysztof Szmurło
From: Jurek Szczesiul <jerzy.szczesiul_at_nospam_wycin.ep.com.pl>
Subject: Re: jak policzyc crc dla flasha w avr
Date: Mon, 16 Jan 2006 17:42:35 +0100
Mon, 16 Jan 2006 15:18:07 +0100, na pl.misc.elektronika, Krzysztof Szmurło
napisał(a):
Czy mam dla każdej komórki wywołać
crc16_update() i dodać wyniki do siebie?
Cześć Krzysztof.
Prawie - tylko nie dodajesz a obrabiasz w pętli otrzymywany z funkcji
wynik. Tak np. ustawiam crc16 dla bufora nadajnika uart ( ostatnie 2 bajty
) :
void SetTxCrc(void)
{
uint CrcCalcValue;
int j;
CrcCalcValue = 0xffff;
for (j=0;j<(TX_SIZE-2);j++)
CrcCalcValue = _crc16_update(CrcCalcValue,TxBuffer[j]);
memcpy((uchar*)&TxBuffer[TX_SIZE-2],(uchar*)&CrcCalcValue,2);
}
U Ciebie zamiast bajtów TxBuffer będą kolejne bajty flasha.
--
Pozdrowienia
Jurek Szczesiul
From: =?ISO-8859-2?Q?Krzysztof_Szmur=B3o?= <ks123_at_nospam_tlen.do.wyciecia.pl>
Subject: Re: jak policzyc crc dla flasha w avr
Date: Mon, 16 Jan 2006 20:27:32 +0100
Jurek Szczesiul napisał(a):
Czy mam dla każdej komórki wywołać
crc16_update() i dodać wyniki do siebie?
Cześć Krzysztof.
Prawie - tylko nie dodajesz a obrabiasz w pętli otrzymywany z funkcji
wynik. Tak np. ustawiam crc16 dla bufora nadajnika uart ( ostatnie 2 bajty
) :
void SetTxCrc(void)
{
uint CrcCalcValue;
int j;
CrcCalcValue = 0xffff;
for (j=0;j<(TX_SIZE-2);j++)
CrcCalcValue = _crc16_update(CrcCalcValue,TxBuffer[j]);
memcpy((uchar*)&TxBuffer[TX_SIZE-2],(uchar*)&CrcCalcValue,2);
}
U Ciebie zamiast bajtów TxBuffer będą kolejne bajty flasha.
A też mi taka idea świtała w głowie, ale nie byłem jej pewien (jakoś się
crc jeszcze nie miałem okazji bawić). W każdym razie dzięki wielkie za
pomoc, jutro to przetestuje.
Pozdrawiam
Krzysztof Szmurło