Hi, I wrote an application in a 8051 device containing several modules. One of them needs some certification and after that it can no longer be modified. To ensure this a CRC is computed on the firmware file.
The problem is that after certificates the other modules need to be modified and this will affect the firmware CRC even if I didn't modify the certified module.
The solution would be to somehow isolate the certified module in a separate firmware file and the just load both files into the device.
Is there any way to do this?
CODE keyword in the linker command line
Well, yeah, if he wants to do it on the linker level.
On the "firmware file" level, there's tools like srecord (very useful, and free, too) for splitting/merging binary and hex files.
The CODE keyword would generate a COD file, but all code would still be mixed up inside right? I'm probably missing something because I don't understand how this would help me.
About splitting merging binary files, Is there a way I can't find where to split the firmware file? How can I know where the code for the non-modifiable module is placed?
http://www.keil.com/support/man/docs/bl51/bl51_code.ht
"The absolute memory location of individual CODE segments"
Erik
http://www.keil.com/support/man/docs/bl51/bl51_code.htm
Erik, I did read the manual, but I'm actually using LX51 instead of BL51 because I'm using a bigger ROM size than 64KB. The definition of the CODE keyword seems to be completely different. http://www.keil.com/support/man/docs/lx51/lx51_code.htm
Can something like the BL51 definition be done in LX51? If not this option can be ruled out.
I noticed that using Code banking I can generate different firmware files, but I'd rather stay away from this option if something simpler can be done.
I apologize if I'm asking stupid questions, I'm quite a newbie in regards to this stuff.