Bootloader Problem

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 
910件の閲覧回数
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 解決策
905件の閲覧回数
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 返答(返信)
906件の閲覧回数
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 件の賞賛
901件の閲覧回数
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 件の賞賛