已解决! 转到解答。
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.
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
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.
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
Hello,
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"?
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
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 .