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.

ソリューションへジャンプ
653件の閲覧回数
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 解決策
382件の閲覧回数
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 返信
383件の閲覧回数
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 件の賞賛