jump to secondary Image Vector Table (IVT)

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

jump to secondary Image Vector Table (IVT)

Jump to solution
2,982 Views
e_v_spronsen
Contributor III

I'm trying to make a secondary bootloader. I'm missing a lot of imported information.

I can't find the sequence between the ROM bootloader and the start of reading the image.

At 0x70001000 is the IVT stored.(RT1064).  Where is the address stored in the rom bootloader. Is this hardcoded?  If I want to boot form an other device I needed to modify the IVT at 0x70001000 to boot from on other location?

Or

Can I make a a bootloader application that move the IVT table to an other location like this?

void ResetISR(void)
{
  SCB->VTOR = 0x70040000 ;
  NVIC_SystemReset();
}

The IVT is stored at:  0x70041000.

Does this work?

Thanks.

Evs.

 

0 Kudos
1 Solution
2,920 Views
jeremyzhou
NXP Employee
NXP Employee


Hi,
Thanks for your reply.
The BL_APP_VECTOR_TABLE_ADDRESS is pointing to the start address of the application code.
Hope this is clear.
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
14 Replies
2,801 Views
hawkEye09
Contributor I

This may be a stupid question, but How do I import this project to mcuexpresso?

0 Kudos
2,791 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 refer to the user guide of the MCUXpresso IDE.
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
2,781 Views
hawkEye09
Contributor I

I mean the AN12604 application project. The zip file contains the IAR project and linker file. I have tried to import it but it didn't work.

0 Kudos
2,777 Views
e_v_spronsen
Contributor III

It is a bit odd that the application note NXP made is not for there own eco-system.

What I did. I make a new project for example the blinky project and copied the relevant code from the application note into this project.

 

2,772 Views
hawkEye09
Contributor I

Thank you. That's a good idea. I will try that. Can you share your example code?

0 Kudos
2,979 Views
jeremyzhou
NXP Employee
NXP Employee

Hi,
Thank you for your interest in NXP Semiconductor products and for the opportunity to serve you.
Firstly, the RT1064 can't boot from other external devices instead of internal Flash, secondly, I'd highly recommend you to refer to the application note AN12604 which illustrates how to implement the second boot loader on RT10XX part.
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
2,972 Views
e_v_spronsen
Contributor III

Please tell me where my question is answer in this document. AN12604 is a document full of generalities.

0 Kudos
2,954 Views
jeremyzhou
NXP Employee
NXP Employee

Hi,
Thanks for your reply.
To provide the fastest possible support, I'd highly recommend you refer to the source code of the AN12604 which illustrates how to implement jump operation.
Please go to download the code via the below link.
https://www.nxp.com/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
2,848 Views
hawkEye09
Contributor I

This may be a stupid question, but How do I import this project to mcuexpresso?

 

0 Kudos
2,944 Views
e_v_spronsen
Contributor III

I also looked at AN12604SW

- In function: static void jump_to_application(uint32_t applicationAddress, uint32_t stackPointer)please give me some more information about this line: SCB->VTOR = (uint32_t)BL_APP_VECTOR_TABLE_ADDRESS;

 I need more information BL_APP_VECTOR_TABLE_ADDRESS is exactly pointing to?

 

0 Kudos
2,913 Views
e_v_spronsen
Contributor III

Removed!

0 Kudos
2,921 Views
jeremyzhou
NXP Employee
NXP Employee


Hi,
Thanks for your reply.
The BL_APP_VECTOR_TABLE_ADDRESS is pointing to the start address of the application code.
Hope this is clear.
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
2,912 Views
e_v_spronsen
Contributor III

This is the answer I needed to know. Thanks!

0 Kudos
2,958 Views
mjbcswitzerland
Specialist V

Hi

A complete range of tried and tested boot loaders (out-of-the-box in-field and OTA - to avoid needing to port) is available for the i.MX RT 1064 for registered users of the uTasker project:
https://www.utasker.com/iMX/RT1064.html

Professionals don't need to waste time redeveloping the wheel but can instead solve their project needs in minutes (including simple on-the-fly decrypted applications). Video: https://youtu.be/5iT7KP691ls

Regards

Mark
[uTasker project developer for Kinetis and i.MX RT]
Contact me by personal message or on the uTasker web site to discuss professional training, solutions to problems or rapid product development requirements

For professionals searching for faster, problem-free Kinetis and i.MX RT 10xx developments the uTasker project holds the key: https://www.utasker.com/iMX/RT1064.html

0 Kudos