[RT1050] Boot Data Format For HAB signed boot image

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

[RT1050] Boot Data Format For HAB signed boot image

1,396 Views
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.

 

Labels (1)
Tags (2)
0 Kudos
Reply
3 Replies

1,351 Views
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 Kudos
Reply

1,119 Views
RichardY
Contributor II

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 Kudos
Reply

1,360 Views
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 Kudos
Reply