Hello i have a strange problem with my secondary bootloader.
The user app resides from 0x0 - 0x1ffff
The Bootloader from 0x20000 - 0x30000
The user app starts from reset.
The bootloader is called by the user app.
The bootloader erases 0x0 - 0x1ffff and program the sectors with the new data via uart data.
After all data transfered, it makes an reset via wdog.
But the new user app won't start.
To check the data, i read out over swd with an segger j-link.
The data looks okay, and when i erase memory with j-link and program the same
data, that i readout before, it works !!!
So the data programmed through my bootloader are Okay.
Any hints?
Why does a complete chip erase do the job?
Andreas
Solved! Go to Solution.
Have you set the vector checksum? Debuggers tend to do this during download, but unless this is done during your build, you will need to set it yourself.
https://community.nxp.com/t5/LPCXpresso-IDE-FAQs/LPC-Image-Checksums/m-p/471035
Have you set the vector checksum? Debuggers tend to do this during download, but unless this is done during your build, you will need to set it yourself.
https://community.nxp.com/t5/LPCXpresso-IDE-FAQs/LPC-Image-Checksums/m-p/471035
Hi,
strange ...
I use the directive checksum -p ${TargetChip} -d "${BuildArtifactFileBaseName}.bin"
But when i use the binary uitilities create hex,
in the hex file the checksum ist not set.
That is a messy pitfall.
Thank you, that solves my problem.
Andreas