|
From: | larry barello |
Subject: | [avr-gcc-list] srec_cat help request |
Date: | Wed, 4 Apr 2007 15:11:42 -0700 |
I am updating my boot-loader to perform a CRC check across
the application – it will stay in the BL if the CRC is bad. I am trying to use srec_cat to generate the CRC value.
I am having no success getting the CRC value to match what the bootloader
calculates. Since srec_cat operation is opaque to me, I am asking for
some help. How do I get srec_cat to calculate a CRC value from 0 to
(lets say) 0x1F7FD and plop that value down in 0x1F7FE? I.e. deposit the
CRC into the last two bytes prior to my bootloader (2k byte, m128). This is the command line I am using w/o luck (well, *something* is getting deposited…) srec_cat $(TARGET).hex
-Intel -fill 0xFF 0 0x1F7FE -Little_Endian_CRC16 0x1F7FE
-Cyclic_Redundancy_Check_16_XMODEM -Output $(TARGET).hex -Intel Does the above process the CRC over the entire address range?
Or just the extents of the input file? Srec_cat isn’t clear on
that. Has anyone used these tools to do this? The only
example I have uses the application to check itself – it “knows”
it’s extents because the linker provides that. Unfortunately the
boot-loader doesn’t have access to that information… Alternatively if I could get srec_cat to put both the
maximum extent and the CRC near the end of FLASH, I could adjust my boot-loader
to read those values in generating the CRC. Thanks in advance. |
[Prev in Thread] | Current Thread | [Next in Thread] |