Hello;
I'm tying to setup my program to run with the µTasker Bootloader from @mjbcswitzerland using Linker Scripts from MCUXpresso.
(https://www.utasker.com/docs/iMX/MCUXpresso.pdf - Section 5)
Using an SDK-Example (such as evkmimxrt1060_iled_blinky) and editing the Flash_Start address to be 0x60020400, E_ENTRY(resetISR) is 0x6002071D after compiling.
I don't know why, as the Linkerscript defines resetISR to be at the start:
INCLUDE "MIMXRT1062xxxxA_memory.ld"
ENTRY(ResetISR)
SECTIONS
{
/* Image Vector Table and Boot Data for booting from external flash */
.boot_hdr : ALIGN(4)
{
FILL(0xff)
__boot_hdr_start__ = ABSOLUTE(.) ;
KEEP(*(.boot_hdr.conf))
. = 0x1000 ;
KEEP(*(.boot_hdr.ivt))
. = 0x1020 ;
KEEP(*(.boot_hdr.boot_data))
. = 0x1030 ;
KEEP(*(.boot_hdr.dcd_data))
__boot_hdr_end__ = ABSOLUTE(.) ;
. = 0x2000 ;
} >BOARD_FLASH
/* MAIN TEXT SECTION */
.text : ALIGN(4)
{
FILL(0xff)
__vectors_start__ = ABSOLUTE(.) ;
KEEP(*(.isr_vector))
My startup from the SDK is:
__attribute__ ((used, section(".isr_vector")))
void (* const g_pfnVectors[])(void) = {
// Core Level - CM7
&_vStackTop, // The initial stack pointer
ResetISR, // The reset handler
NMI_Handler, // The NMI handler
What changes need to be made to ensure resetISR / E_Entry is at the start of flash?
Attached my linker scripts