start address with/without IVT

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

start address with/without IVT

跳至解决方案
1,016 次查看
zxdd
Contributor II
Hi NXP,

 

  1. Under what condition does the S32K3 choose to start CM7 with the address configured in the IVT?
  2. There are multiple addresses in the IVT, such as "CM7_x Application reset address" and "Pointer to APPBL". What are the differences between them? Which one is used to start CM7 when I enable/disable Basic Secure Boot (BSB)?
  3. If BSB only starts one core, is the address configured in the IVT still valid, aside from the "CM7_0 Application reset address"? 
  4. Should the above mentioned addresses point to AppBL Header Tag(Magic number 0xD5) or  AppBL content(app executable code)

 

Thanks.
标记 (3)
0 项奖励
回复
1 解答
979 次查看
petervlna
NXP TechSupport
NXP TechSupport

Hello,

My understanding of your response to Question 2 :
when BOOT_SEQ == 1 and APPBL verify OK ,coreX(X according to IVT_BCW config) will run from APPBL(0x30 in IVT).

when BOOT_SEQ == 1 and IVT is valid ,coreX will run from "CM7_x Application reset address" in IVT ,Did I understand it correctly?

Hmm, this is some SW implementation as uC only refer to IVT for boot. If that is the case please refer to the documentation of that SW.

uC scans for valid IVT starting from lowest address and boot one it find it. 

petervlna_0-1743663416767.png

 

for Question 3&4 :

I was wondering ,When I use BSB and AppBL verified OK,Does “CM7_x Application reset address” config in IVT still useful, does anyone use it?
“CM7_x Application reset address” should point to AppBL Tag (0x00 APPBL struct) or AppBL Content(0x40 AppBL struct)?

Hard to say, this is SW implementation.

From HW point, the device will scan for IVT. once it find it process it and set boot according the settings in IVT. After it it will jump to address of cores in IVT and leave reset. Further on it is all in hands of SW, so for every application it will be different..

Usually you will always use the bootloader in IVT, and will perform branch to application from bootloader by SW.

 

Best regards,

Peter

在原帖中查看解决方案

4 回复数
980 次查看
petervlna
NXP TechSupport
NXP TechSupport

Hello,

My understanding of your response to Question 2 :
when BOOT_SEQ == 1 and APPBL verify OK ,coreX(X according to IVT_BCW config) will run from APPBL(0x30 in IVT).

when BOOT_SEQ == 1 and IVT is valid ,coreX will run from "CM7_x Application reset address" in IVT ,Did I understand it correctly?

Hmm, this is some SW implementation as uC only refer to IVT for boot. If that is the case please refer to the documentation of that SW.

uC scans for valid IVT starting from lowest address and boot one it find it. 

petervlna_0-1743663416767.png

 

for Question 3&4 :

I was wondering ,When I use BSB and AppBL verified OK,Does “CM7_x Application reset address” config in IVT still useful, does anyone use it?
“CM7_x Application reset address” should point to AppBL Tag (0x00 APPBL struct) or AppBL Content(0x40 AppBL struct)?

Hard to say, this is SW implementation.

From HW point, the device will scan for IVT. once it find it process it and set boot according the settings in IVT. After it it will jump to address of cores in IVT and leave reset. Further on it is all in hands of SW, so for every application it will be different..

Usually you will always use the bootloader in IVT, and will perform branch to application from bootloader by SW.

 

Best regards,

Peter

1,005 次查看
petervlna
NXP TechSupport
NXP TechSupport

Hello,

1. Under what condition does the S32K3 choose to start CM7 with the address configured in the IVT?

See the boot flow: If the IVT is valid
petervlna_0-1743579029767.png

 

 
2. There are multiple addresses in the IVT, such as "CM7_x Application reset address" and "Pointer to APPBL". What are the differences between them?
CM7_x Application reset address - It is where you want to start the application after reset
Pointer to APPBL - it is where you want to start the code in case of boot loaded.
 
Which one is used to start CM7 when I enable/disable Basic Secure Boot (BSB)?
This is not connected to which one. Both if you like. You can configure secure boot in IVT.
petervlna_1-1743579563215.png

 

 
3. If BSB only starts one core, is the address configured in the IVT still valid, aside from the "CM7_0 Application reset address"? 
petervlna_2-1743579614528.png

 

I am afraid I do not understand. Secure code will run only on HSE core. In any situation, which is independent of your app or BL IVT is the sboot is enabled in IVT of whatever.

 

4. Should the above mentioned addresses point to AppBL Header Tag(Magic number 0xD5) or  AppBL content(app executable code)

Could you elaborate closer? I do not understand what you mean.

IVT will always point to your startup code of whatever application you run.

Best regards,

Peter

990 次查看
zxdd
Contributor II

Thank you for your reply , I have a follow - up question:

My understanding of your response to Question 2 :
when BOOT_SEQ == 1 and APPBL verify OK ,coreX(X according to IVT_BCW config) will run from APPBL(0x30 in IVT).

when BOOT_SEQ == 1 and IVT is valid ,coreX will run from "CM7_x Application reset address" in IVT ,Did I understand it correctly?

for Question 3&4 :

I was wondering ,When I use BSB and AppBL verified OK,Does “CM7_x Application reset address” config in IVT still useful, does anyone use it?
“CM7_x Application reset address” should point to AppBL Tag (0x00 APPBL struct) or AppBL Content(0x40 AppBL struct)?

thanks .

0 项奖励
回复
962 次查看
zxdd
Contributor II
Correction to my previous response:
when BOOT_SEQ == 1 and APPBL verify OK ,coreX(X according to IVT_BCW config) will run from APPBL(0x30 in IVT).
when BOOT_SEQ == 0 ,coreX will run from "CM7_x Application reset address" in IVT .

0 项奖励
回复