Looking for how to generate a CRC32 for Kinetics parts using CW 10.Xl preferably 10.3. As part of this I am also looking for verifying the CRC on startup. I have found information and flash size in the lcf files, but not about automatically generating a CRC and including it in the S19.
已解决! 转到解答。
Hello Dale,
I had same problem and after many hours I disclaimed. Also after some my personal test on the firmware updating by USB download I found this particular behaviour that could be a problem if you find a solution on your problem:
I am using a Kinetis K60 (MK60DN512ZVLQ10) and CW10.3 Beta (is the same with 10.3) with the USB Multilink Universal.
After compile the project I have also the "project.s19" file and I convert it to a binary file (this is the format i choose to copy on my USB Device) filling the unused location with 0xFF (as i especting to find in the unused flash memory), but comparing the binary file with the memoryes inside the Microcontroller there is a difference on the addresses 0x000003FC
there is 0xFFFF007E instead of 0xFFFFFFFF (the locations are not used in the project and so are filled into 0xFF) as in the binary file of the project:(see above)
Also if I update my firmware during debug with the USB device the debug restart with the 0xFFFFFFFF values and it seems ok.
I think that if you calculate CRC from linker it will be different after first debug download unless you exclude this locations.
An option could be to write the CRC if you find 0xFFFFFFFF inside the CRC locations (after first programming) so you can avoid debug problems and can check the CRC from the second starting of Software.
Hope this help you in some way.
Bye,
Paolo
Hello Dale,
I had same problem and after many hours I disclaimed. Also after some my personal test on the firmware updating by USB download I found this particular behaviour that could be a problem if you find a solution on your problem:
I am using a Kinetis K60 (MK60DN512ZVLQ10) and CW10.3 Beta (is the same with 10.3) with the USB Multilink Universal.
After compile the project I have also the "project.s19" file and I convert it to a binary file (this is the format i choose to copy on my USB Device) filling the unused location with 0xFF (as i especting to find in the unused flash memory), but comparing the binary file with the memoryes inside the Microcontroller there is a difference on the addresses 0x000003FC
there is 0xFFFF007E instead of 0xFFFFFFFF (the locations are not used in the project and so are filled into 0xFF) as in the binary file of the project:(see above)
Also if I update my firmware during debug with the USB device the debug restart with the 0xFFFFFFFF values and it seems ok.
I think that if you calculate CRC from linker it will be different after first debug download unless you exclude this locations.
An option could be to write the CRC if you find 0xFFFFFFFF inside the CRC locations (after first programming) so you can avoid debug problems and can check the CRC from the second starting of Software.
Hope this help you in some way.
Bye,
Paolo