iMXRT1020 Secondary Boot Loader - Flow

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

iMXRT1020 Secondary Boot Loader - Flow

Jump to solution
889 Views
harikrishnan_ch
Contributor I

Hello all,

Need help in getting Secondary Image or redundant boot  flow working. 

Using FlexSPI NOR as boot device holding applications.

Here is what I have done. 

1. Primary Image at 0x6000 0000

2. Contains MBR or primary image table at 0x6000 0000

    and Secondary Image table at 0x6000 0200 : 0000_0000  0000_0000  0011_2233  0000_00C8       

    0000_0000

3. Size of primary Image is 100Kb = 102.400 bytes  -  0x19000.

4. Secondary image starts at 0x6001_9000

    Image is compiled with Initial Load Region (MBR , IVT , Boot data etc .. and Image)

5. In secondary Image table 

   firstSectorNumber in Secondary Image table is set to;  512byte sectors count of Secondary Image     

   start offset(0x19000). 

   102.400/512 = 0xC8 ;  This corresponds to Boot config/Boot record table in Secondary Image

 

6. Then in Primary image program following is performed to trigger Secondary image Boot on reset.

             D_PRINTF("PERSISTENT SRC_GPR10 0x%x\r\n", SRC->GPR[9] );

             SRC->GPR[9] = (0x01<<30);

             NVIC_SystemReset();

             

7. On Restart, the control do not load Secondary Image table and execute Secondary image. 

    It keeps entering primary image. 

 

8. Then Modified 

   firstSectorNumber in Secondary Image table is set to;  512byte sectors count of Secondary Image

   IVT offset (0x19000 + 0x1000). 

   106.496/512 = 0xD0 ;  This corresponds to IVT Location in Secondary Image.

 

9. This also yielded same result.

 

Please, could any one help regarding this and provide guidance?

Thanks and regards,

Harikrishnan C

0 Kudos
1 Solution
871 Views
jeremyzhou
NXP Employee
NXP Employee

Hi,

Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.
To provide the fastest possible support, I'd highly recommend you to refer to the application note which illustrates how to implement a second boot loader on i.MX RT1050, i.MX RT1020, and i.MX RT1060 part based on XIP flash and you can download its demo code via the below link.
https://www.nxp.com.cn/docs/en/application-note-software/AN12604SW.zip
Have a great day,
TIC

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

View solution in original post

0 Kudos
2 Replies
857 Views
harikrishnan_ch
Contributor I

Thanks for guideline. Shall follow the suggestion.

0 Kudos
872 Views
jeremyzhou
NXP Employee
NXP Employee

Hi,

Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.
To provide the fastest possible support, I'd highly recommend you to refer to the application note which illustrates how to implement a second boot loader on i.MX RT1050, i.MX RT1020, and i.MX RT1060 part based on XIP flash and you can download its demo code via the below link.
https://www.nxp.com.cn/docs/en/application-note-software/AN12604SW.zip
Have a great day,
TIC

-------------------------------------------------------------------------------
Note:
- If this post answers your question, please click the "Mark Correct" button. Thank you!

 

- We are following threads for 7 weeks after the last post, later replies are ignored
Please open a new thread and refer to the closed one, if you have a related question at a later point in time.
-------------------------------------------------------------------------------

0 Kudos