Gast
#2822964
Hallo, Ich möchte gern vom bootloader mein Applikations-Image mittels CRC16 prüfen. Dazu wollte ich die CRC16 der Image-Datei bilden. Ich benutze folgenden Aufruf >srec_cat output.bin -binary -crop 0 10 -crc16_b_e 0x10000 -POLYnomial ibm -crop 0x10000 0x10002 -o - -hex-dump Ich kann die generierte CRC aber mit anderen Tools nicht bestätigen. Jetzt habe ich eine datei gebildet mit dem Inhalt "1234567890" - 10 Bytes. Ich teste online mittels http://www.lammertbies.nl/comm/info/crc-calculation.html Und dann habe ich mir noch ein tool geschrieben mit dem Algorithmen aus der AVRlib http://www.nongnu.org/avr-libc/user-manual/group__util__crc.html Bei den meisten CRC Versionen stimmen die Werte nicht überein, nur bei XMODEM habe ich in allen drei Verfahren gleiche Werte. Avrlib CRC16 c20a (Startwert 0xffff) CCITT b4ec (Startwert 0xffff) XMODEM d321 (Startwert 0) Web CRC16(Modbus) c20a CCITT(0xFFFF) 3218 CCITT(XMODEM) d321 SREC_CAT IBM 4ce7 CCITT 57d8 XMODEM d321 Da ich eigentlich sreg das Ausrechnen meiner CRC16 überlassen wollte, möchte ich gerne wissen, warum ich bei CRC16(IBM) und CCITT so andere Werte bekomme? Könnt ihr mir weiterhelfen? Danke, Adib.