Dear all,
I am using MCF51AC256, and I need to verify flash memory CRC as described in AN3257.
I need a simple method that does not interfer when compiling a new software release.
My code is build with 2 parts :
- Fisrt a Bootloader system. (here I will verify flash CRC before starting the application)
- Then the application.
The Bootloader is flashed only once time and is flash protected.
The application is flashed by final user when he need to change firmware.
The computation as explained in AN3257 is under control (I use a CRC method using hardware CRC engine in the coldfire instead of the XOR method described in the AN3257.)
The C routine to realize the CRC compute on the flash should be implement without trouble.
The main matter is :
How should I manage the "original" CRC as simple as possible with minimal impact when compiling a new application release ?
All yours ideas are welcome, thanks.
Julien
I treat the 'bootloader' and 'application' processes as completely independent processes. They are built independently, and each area has its own CRC. The bootloader has routines to download & program S records in the application area. This is all largely controlled (and CRC is calculated) by prm-file entries. When operating the debugger, each job has been set up to protect (reprogram) the FLASH area of the other. I manually combine the .s19 files to create a 'whole' image for production programming. I will note that my world is S08, but I expect the MCF51 processor has similar hooks for FLASH protection and vector redirection.
Hi Julien,
I'm not sure what the problem is specifically. If you want to append a CRC to a compiled/linked image, you can use srec_cat from the SRecord package. I pointed to that program in the other thread that you started.
Regards,
- mike