- 
Data: 2011-02-15 12:20:04
 Temat: Re: Jak się liczy CRC dla (x^24+4x^3+3x+1)
 Od: Piotr Gałka <p...@C...pl> szukaj wiadomości tego autora
 [ pokaż wszystkie nagłówki ]
 Użytkownik "Adam Dybkowski" <a...@4...pl> napisał w wiadomości
 news:ijc7pv$hc5$1@news.onet.pl...
 >
 > Tyle że w dokumentacji Atmela jest błąd i w rzeczywistości CRC jest
 > liczone wg bardziej powszechnego wzoru:
 >
 > x^19 + x^4 + x^3 + x^1 + 1
 >
 > http://www.avrfreaks.net/index.php?name=PNphpBB2&fil
 e=printview&t=29418
 
 Może komuś się przyda moja wersja tego CRC:
 
 dword crcXmega(byte *buf,dword n,dword crc)
 {
 for(n>>=1;n--;buf+=2)crc=(crc<<1)^*(word*)buf^((crc&
 0x800000)?0x80001B:0);
 return crc&0xFFFFFF;
 }
 
 
 Wynik zgodził mi się dla wszystkich sum liczonych przez XMEGA po skasowaniu
 (3 wyniki) i po wpisaniu programu z bootloaderem (kolejne 3).
 Na maszynie mającej odwrotną kolejność bajtów w word mój zapis nie zadziała.
 
 Nie wnikałem jak to działa bez obracania 16 razy (bo 2 bajty za jednym
 ruchem) po bicie, ale sądzę, że przyczyną jest duża odległość między bitem
 x^19 a następnymi. I tak brakuje mi gdzieś przesunięcia o 8 w jedną albo o
 16 w drugą.
 Zastanawia mnie też to, że do XOR użyta jest liczba, która by odpowiadała
 zapisowi x^23 + x^4 + x^3 + x^1 + 1.
 Czy brak obracania może mieć związek z zastąpieniem x^19 przez x^23. Gdyby
 różnica była 8, ale jest 4.
 Mam podejrzenie, że to crc tak na prawdę nie jest opisane żadnym z tych
 wielomianów.
 P.G.
 
 Dla porównania oryginał:
 --------------------------
 #define CRC32_POLY (0x0080001BUL) /* Polynomial for use with Xmega 'A'
 devices */
 
 /* This CRC Routine is the corresponding routine implemented in Xmega
 hardware: */
 uint32_t CRC_Reference( uint32_t startWord_u32, uint32_t endWord_u32 )
 {
 uint32_t addr_u32, data_reg_u32, help_a_u32, help_b_u32;
 uint32_t crc_reg_u32 = 0;
 
 for( addr_u32 = startWord_u32; addr_u32 <= endWord_u32; addr_u32 += 2 )
 {
 help_a_u32 = crc_reg_u32 << 1;
 help_a_u32 &= 0x00FFFFFEUL; /* Always act as 24-bit variable */
 
 help_b_u32 = crc_reg_u32 & (1UL << 23);
 
 if( help_b_u32 > 0 )
 {
 help_b_u32 = 0x00FFFFFFUL;
 }
 
 data_reg_u32 = SP_ReadWord( addr_u32 );
 
 crc_reg_u32 = (help_a_u32 ^ data_reg_u32) ^ (help_b_u32 & CRC32_POLY);
 crc_reg_u32 = crc_reg_u32 & 0x00FFFFFFUL;
 }
 
 return( crc_reg_u32 );
 }
 
 
Następne wpisy z tego wątku
- 15.02.11 14:52 J.F.
- 15.02.11 15:48 Piotr Gałka
Najnowsze wątki z tej grupy
- Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- Zamek elektroniczny
- szablon do pasty DIY
- Głośnik potrzebny
- Silikonowy przewód ekranowany
- Wtyk bananowy ekranowany
- Co może być gorsze od pożaru elektryka?
- daltonizm
- Mały Linux
- Superkondensator. Czy to się uda?
- Stare filmy o technice
- Zasilanie własnych konstrukcji przez PoE
- Jak działa domofon?
- Co oni mierzą miernikiem
- 40 lat OrCAD-a
Najnowsze wątki
- 2025-10-31 Gazowy kocioł CO regulacja cyklingu i regulacja pogodowa
- 2025-10-31 Warszawa => Starszy Konsultant SAP - obszar PP <=
- 2025-10-31 Zamek elektroniczny
- 2025-10-31 Warszawa => Sales Assistant <=
- 2025-10-31 Warszawa => Senior SAP Consultant - PP area <=
- 2025-10-31 Warszawa => Junior Rekruter <=
- 2025-10-31 Warszawa => Engineering Manager (doświadczenie w branży lotniczej lu
- 2025-10-30 Był neosędzia w składzie jest cofka w apelacji [dożywocie za potrójne zabójstwo]
- 2025-10-30 Warszawa => Lead SAP PP Consultant <=
- 2025-10-30 Poznań => Konsultant SAP HCM <=
- 2025-10-30 Warszawa => Junior Rekruter <=
- 2025-10-30 Warszawa => Senior SAP Consultant - PP area <=
- 2025-10-30 Zakrzewo => SAP HCM Consultant <=
- 2025-10-30 Gang przestępców napadających przestępców już rozbity! [CBŚP,media,prawny humor]
- 2025-10-30 Kraków => Koordynator Produkcji / Przedstawiciel ds. rozwoju produktu




![Artykuł natywny, czyli jaki? Jak napisać dobry artykuł natywny? [© Trueffelpix - Fotolia.com] Artykuł natywny, czyli jaki? Jak napisać dobry artykuł natywny?](https://s3.egospodarka.pl/grafika2/artykul-natywny/Artykul-natywny-czyli-jaki-Jak-napisac-dobry-artykul-natywny-215898-150x100crop.jpg) 
![Jak najkorzystniej wysyłać i odbierać przelewy walutowe w EURO [© Production Perig - Fotolia.com] Jak najkorzystniej wysyłać i odbierać przelewy walutowe w EURO](https://s3.egospodarka.pl/grafika2/przelewy-bankowe/Jak-najkorzystniej-wysylac-i-odbierac-przelewy-walutowe-w-EURO-205900-150x100crop.jpg) 
![Content marketing - co to jest i od czego zacząć? [© patpitchaya - Fotolia.com] Content marketing - co to jest i od czego zacząć?](https://s3.egospodarka.pl/grafika2/content-marketing/Content-marketing-co-to-jest-i-od-czego-zaczac-215740-150x100crop.jpg) 
![Dni wolne od pracy i kalendarz świąt 2025 [© Tatiana Goskova na Freepik] Dni wolne od pracy i kalendarz świąt 2025](https://s3.egospodarka.pl/grafika2/dni-wolne-od-pracy/Dni-wolne-od-pracy-i-kalendarz-swiat-2025-263099-150x100crop.jpg) 
 Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei
Elektromobilność dojrzewa. Auta elektryczne kupujemy z rozsądku, nie dla idei 
 
 
 
![Milion na koncie? Wystarczyło inwestować po około 2 tysiące miesięcznie [© wygenerowane przez AI] Milion na koncie? Wystarczyło inwestować po około 2 tysiące miesięcznie](https://s3.egospodarka.pl/grafika2/oszczedzanie-pieniedzy/Milion-na-koncie-Wystarczylo-inwestowac-po-okolo-2-tysiace-miesiecznie-269397-150x100crop.jpg) 
![Wynajem mieszkania w Warszawie pochłania 44% pensji. Zobacz, jak wypadamy na tle Europy [© pixabay] Wynajem mieszkania w Warszawie pochłania 44% pensji. Zobacz, jak wypadamy na tle Europy](https://s3.egospodarka.pl/grafika2/rynek-najmu/Wynajem-mieszkania-w-Warszawie-pochlania-44-pensji-Zobacz-jak-wypadamy-na-tle-Europy-269391-150x100crop.jpg) 
![Lot z niespodzianką - jak overbooking zmienia podróż i jakie prawa mają pasażerowie? [© wygenerowane przez AI] Lot z niespodzianką - jak overbooking zmienia podróż i jakie prawa mają pasażerowie?](https://s3.egospodarka.pl/grafika2/prawa-pasazera/Lot-z-niespodzianka-jak-overbooking-zmienia-podroz-i-jakie-prawa-maja-pasazerowie-269384-150x100crop.jpg) 
![Lider z sercem: empatia i zaufanie jako klucz do sukcesu zespołu [© wygenerowane przez AI] Lider z sercem: empatia i zaufanie jako klucz do sukcesu zespołu](https://s3.egospodarka.pl/grafika2/lider/Lider-z-sercem-empatia-i-zaufanie-jako-klucz-do-sukcesu-zespolu-269133-150x100crop.png) 
![Bańka AI za 5 bilionów dolarów: Kiedy inwestorzy powiedzą: sprawdzam? [© wygenerowane przez AI] Bańka AI za 5 bilionów dolarów: Kiedy inwestorzy powiedzą: sprawdzam?](https://s3.egospodarka.pl/grafika2/AI/Banka-AI-za-5-bilionow-dolarow-Kiedy-inwestorzy-powiedza-sprawdzam-269382-150x100crop.png) 
 


