Why does the programmer change these bytes in the flash of LPC812 and what do these bytes mean.

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

Why does the programmer change these bytes in the flash of LPC812 and what do these bytes mean.

跳至解决方案
658 次查看
nkremers
Contributor I

Hi,

Flash a hex-file in-circuit into a LPC812 I use flash magic with an ISP serial interface or i use J-flash with a SWD interface. With these tools we have no problems. 

In the production run we use Beeprog2 from elnec. After programming de LPC812 doesn't boot. The same hex-file is used. After programming I see that the flash in the LPC812 is not identical to the data in de .hex-file. Both flash-magic and J-flash change the data in the first row of 64 bytes.

The first 64-bits in the hex file is:

 :40000000E80400106901000079010000710100000000000000000000000000000000000000000000000000000000000073010000000000000000000075010000770100000C

The first 64-bits in the flash of the LPC812 is:

:40000000E8040010690100007901000071010000000000000000000000000000C5F6FFEF000000000000000000000000730100000000000000000000750100007701000063

The red part is different and is missing when using the Elnec program tool. I wonder what these bytes mean and why flash magic and j-flash load these files into the flash.

标签 (1)
标记 (2)
0 项奖励
1 解答
387 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

Hi, N Kremers,

    C5F6FFEF is the vector 7 in the NVIC, each vector have 4 bytes, vector 7 is the checksum complement data of vector0 to vector6, just like the following picture:

pastedImage_1.png

     This checksum complement data normally calculated by the development tools, and write to the chip.

     This is why you will find the vector 7 (checksum) data is different as the original data.

     If you use Beeprog2 , and can't boot, you can contact with elnec, whether you forget some operation step, we don't have this tool on our side.

Wish it helps you!

Have a great day,
Kerry

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
1 回复
388 次查看
kerryzhou
NXP TechSupport
NXP TechSupport

Hi, N Kremers,

    C5F6FFEF is the vector 7 in the NVIC, each vector have 4 bytes, vector 7 is the checksum complement data of vector0 to vector6, just like the following picture:

pastedImage_1.png

     This checksum complement data normally calculated by the development tools, and write to the chip.

     This is why you will find the vector 7 (checksum) data is different as the original data.

     If you use Beeprog2 , and can't boot, you can contact with elnec, whether you forget some operation step, we don't have this tool on our side.

Wish it helps you!

Have a great day,
Kerry

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励