[RT1050] Boot Data Format For HAB signed boot image

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

[RT1050] Boot Data Format For HAB signed boot image

941件の閲覧回数
jayyehtw
Contributor III

Hi, 

I have a question regarding to the boot data format of the bootable image.

The boot data is in the following format.

jayyehtw_0-1628687416637.png

For the HAB signed boot, the bootable image would contains the additional HAB data.

Would the length entry of the boot data include the HAB data length or only the application image?

jayyehtw_2-1628687797676.png

 

To be more clear, the value of the length entry of the boot code should stop at point A, B or C?

Thanks a lot.

 

ラベル(1)
タグ(2)
0 件の賞賛
3 返答(返信)

896件の閲覧回数
jayyehtw
Contributor III

Hi Omar,

Thanks for the reply. 

I have one follow-up question regarding to the entry data of the ivt region.

I encountered a weird issue after using the HAB signed boot.

The tool I used was the NXP-MCUBootUtility (https://github.com/JayHeng/NXP-MCUBootUtility). 

For trial, I used some small applications like led-blinky and it worked well.

After deploy my own application(around 350KB code size), the MCU would hang or crash when executing a certain function.

After comparing the binary file built from McuXpresso and the signed binary generated by the NXP-MCUBootUtility, the entry data of ivt is different.

The entry data of ivt for binary built by McuXpresso is 0x60002000

jayyehtw_2-1629340211438.png

The entry data of ivt for binary built by  NXP-MCUBootUtility is 0x60002305

jayyehtw_4-1629340339898.png

After manually modify the ivt entry data generated by NXP-MCUBootUtility to 0x60002000 and sign it again, the code works well without crash or hang.

So I am quite confused about the entry data of the ivt region.

Some articles in the forum suggested that the value that NXP-MCUBootUtility generated was correct but some application note from NxP said that it should be 0x60002000.

I would asume that if this value was wrong, the whole application should not be working, not only a certain function.

But for my case, 0x60002000 works not the 0x60002305.

 

0 件の賞賛

664件の閲覧回数
RichardY
Contributor I

Hi Jayyehtw,

I also realized the MCUBootUtility put 0x60002305 as a entry address rather than address used by MUCXpresso project. Do you know why? address 0x60002305 is not even 4-byte aligned.

Thanks and regards,


Richard 

 

 

0 件の賞賛

905件の閲覧回数
Omar_Anguiano
NXP TechSupport
NXP TechSupport

Hello

Hope you are well.
The boot data the program image location, size, and the plugin flag. The secure boot adds some components to the program image.
So the boot data also includes the HAB data in secure boot.

If you have more questions do not hesitate to ask me.
Best regards,
Omar

0 件の賞賛