Bootloader Problem

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

Bootloader Problem

跳至解决方案
895 次查看
andreasruetten
Contributor III

 

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

标签 (1)
标记 (1)
0 项奖励
1 解答
890 次查看
converse
Senior Contributor V

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

 

 

在原帖中查看解决方案

0 项奖励
2 回复数
891 次查看
converse
Senior Contributor V

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

 

 

0 项奖励
886 次查看
andreasruetten
Contributor III

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

0 项奖励