From: SourceForge.net <no...@so...> - 2003-12-04 13:23:21
|
Feature Requests item #853893, was opened at 2003-12-04 09:12 Message generated for change (Comment added) made by maartenbrock You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=350599&aid=853893&group_id=599 Category: None Group: None Status: Open Priority: 5 Submitted By: Maarten Brock (maartenbrock) Assigned to: Nobody/Anonymous (nobody) Summary: CRC output from linker Initial Comment: Hello, I would like to see the option added to the linker to be able to have it compute a CRC on the produced code and insert that into the output code as well. This way a program can sanity check itself before startup. This way one could also decide (based on an educated guess) not to download code to a target, because it wasn't changed, which saves development time. To implement this, I think the following are required: 1) Generate a symbol for the CRC 2) Select an area to compute the CRC over 3) Fill unused bytes in the area with a default value (FF) 4) Compute the CRC (8/16/32) 5) Store the CRC outside this area. Keep up the good work, hope this helps improving SDCC further and further. Maarten ---------------------------------------------------------------------- >Comment By: Maarten Brock (maartenbrock) Date: 2003-12-04 14:23 Message: Logged In: YES user_id=888171 Hi Frieder, I know there is something like srecord. But a quick glance learned me it doesn't support omf files, that's why I popped the question. Otherwise using srecord would be perfectly ok, allthough integrating into sdcc is nicer. But maybe I should just request this feature for srecord and not for sdcc. Greets, Maarten ---------------------------------------------------------------------- Comment By: Frieder Ferlemann (frief) Date: 2003-12-04 10:07 Message: Logged In: YES user_id=589052 Hi Maarten, just to make things complicated: I'm using the following command line to fill the unused bytes with 0x12 (0x12 is good for a 8051) and to insert several additive checksums: srec_cat myfile.ihx -Intel -fill 0x12 0x0000 0x006FFE -Big_Endian_Checksum_Negative 0x006FFE 0x02 0x02 -fill 0x12 0x007000 0x007FFE -Big_Endian_Checksum_Negative 0x007FFE 0x02 0x02 -fill 0x12 0x008000 0x00EFFE -Big_Endian_Checksum_Negative 0x00EFFE 0x02 0x02 -Output myfile.hex -Intel The link to srecord is in the manual (srecord supports CRC16 and CRC32 in little and big-endian) ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=350599&aid=853893&group_id=599 |