We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi All,
I managed to update my FW, but the new FW is not start to work.
I checked that the new FW is burn correctly (I verify it with uVision3 with the verify option at the utility settings).
Please advice Kobi
A bootloader you have written, or the NXP bootloader built into the chip?
The NXP boot loader checksums your interrupt vector table before deciding if there is a program to start. If the checksum is wrong, and you haven't activated any code-protection features, then the built-in boot loader will just sit and wait for a download program to connect and start sending commands.
Hi,
This is NXP internal bootloader
TNX Kobi
It looks that the bootloader is in endless loop.
I checked with ULINK2 that it is my new FW, so why it is do not copy the VIC to address 0 and start the new program?
As I wrote before, I managed to burn my new FW instead of the old one, but the new FW is not restarts. I checked That the new FW is correct (Validate it with ULINK2). As far as I understand, the bootloader checks if the program signature is valid. My new FW is stuck at the LPC bootloader and do not run the new FW(probably because the program signature is wrong).
Is the program signature is included with the INTEL hex file? If no, how do I updates it?
The Keil tools will automagically create a checksum for the interrupt vector table. As long as you download that address range, the NXP boot loader should be able to sum all vectors and get a total of zero. This indicates that there is an application loaded, and the NXP boot loader will then start your firmware.
If your download doesn't contain the interrupt vector table - or downloads it to the wrong address - the NXP boot loader will (as intended) wait in an infinite loop for anyone to connect on the monitor port and feed it a new firmware.