jump to secondary Image Vector Table (IVT)

cancel
Showing results for 
Search instead for 
Did you mean: 

jump to secondary Image Vector Table (IVT)

Jump to solution
308 Views
e_v_spronsen
Contributor II

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
246 Views
jeremyzhou
NXP TechSupport
NXP TechSupport


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
127 Views
hawkEye09
Contributor I

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

0 Kudos
117 Views
jeremyzhou
NXP TechSupport
NXP TechSupport

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
107 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
103 Views
e_v_spronsen
Contributor II

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.

 

98 Views
hawkEye09
Contributor I

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

0 Kudos
305 Views
jeremyzhou
NXP TechSupport
NXP TechSupport

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
298 Views
e_v_spronsen
Contributor II

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

0 Kudos
280 Views
jeremyzhou
NXP TechSupport
NXP TechSupport

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
174 Views
hawkEye09
Contributor I

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

 

0 Kudos
270 Views
e_v_spronsen
Contributor II

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
239 Views
e_v_spronsen
Contributor II

Removed!

0 Kudos
247 Views
jeremyzhou
NXP TechSupport
NXP TechSupport


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
238 Views
e_v_spronsen
Contributor II

This is the answer I needed to know. Thanks!

0 Kudos
284 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