Hai,
I am working on IMXRT1170 EVKB. I understand that when the board is turned ON or reset, the control goes to ROM bootloader, ROM bootloader in turn reads the Image Vector Table entry of the default BOOT HEADER (which contains DCD, IVT etc.) and then jumps to the reset handler of bootloader code and then the main bootloader code is executed.
The above-mentioned code flow is working fine, if the BOOT HEADER starts from 0x3000_0000 and my custom bootloader code starts from 0x3000_2000. Mean to tell that Vector Table of bootloader starts from 0x3000_2000.
But the problem arises if I add the custom header (to store the version of my bootloader) at 0x3000_2000 and move the custom bootloader code to the location 0x3000_2080.
In this case the control is not jumping from ROM bootloader to my custom bootloader. Please help. I have attached the screenshots of the linker file and map file for reference.
Linker file contents: Boot header, custom header, followed by bootloader .text section
Map file indicating the start address of the boot header, custom header and .text section
Linker file indicating the start address of the Board FLASH
Regards,
Brunda Sathish
Hi @brundasathish,
How are you building and uploading the image; Are you using MCUXpresso or Secure Provisioning Tool? What is the setup you have on Memory Details under MCU Settings?:
BR,
Edwin.
Hai @EdwinHz,
I am building and uploading the image via MCUxpresso IDE. Please find the attached image of Memory Details under MCU Settings.
We are not making any changes in the MCU Settings section. We are creating the custom header section in .ld file as shown in the previous attachments.
Regards,
Brunda Sathish
Hi @brundasathish,
Do you have the same results when uploading it via Secure Provisioning Tool instead of MCUXpresso?