Hi, i'm working with LPC54608 and MCUxpresso, I have already coded my main application and now I have to code a secondary bootloader, so I have some question about this:
1 - first I've moved the main app at the 0x8000 address (32kB sector) in flash using the MCUxpresso's memory setting option, but now I can't debug this app because when I launch the debug session the debugger doesn't break in the main function but jumps in a wrong RAM location (the flash memory from 0x0 to 0x7FFF is empty). What I'm missing to correctly debug the main relocated app?
2 - For my Secondary Bootloader first step I've tryed to make a bootloader that only should jump immediatly at the main app (at the flash address 0x8000) but I have some problems with the jump so what is the right calling code to jump from the secondary bootloader to main app?
3 - what is the right code to jump back from main app to the bootloader at 0x00000000 address?
4 - is it possible automatically upload the SecondaryBootloader firmware together the main app during the main app debugg session launch?
Hi Cybaluke,
Which debugger connection are you using?
I would recommend you to use the LPC1700 secondary USB bootloader as reference:
http://cache.nxp.com/docs/en/application-note/AN10866.zip
This is the function used by the bootloader to jump to the application:
__asm void boot_jump( uint32_t address ){
LDR SP, [R0] ;Load new stack pointer address
LDR PC, [R0, #4] ;Load new program counter address
}
add-symbol-file C:\\Users\\Documents\\MCUXpressoIDE_10.xxx\\workspace\\MK64FN1M0xxx12_Project_2\\Debug\\MK64FN1M0xxx12_Project_2.axf 0x80000
The address 0x80000 corresponds to the first flash section of the second project which was previously flashed to the MCU:
Hope it helps!
Best Regards,
Carlos Mendoza
Technical Support Engineer
Any comment about my reply/question?
thanks Carlos for the answer,
but.... I'm using the MCUXpresso LinkServer Debugger with the OM13092 lpclink onboard debugger for my first tests and then I use an LPC_LINK2 debugger for my custom target board (via SWD connection), so I can't find the "add-symbol-file filename address" equivalent settings you suggested for my debug configurations. I think your solution is right for the Segger debug interface, isn't it?
Is there an equivalent solution for the LinkServer debugger configuration for loading and debugging both the bootloader (@0x0000 address) and the main app (@0x8000 address) projects?
thanks Carlos for the answer,
but.... I'm using the MCUXpresso LinkServer Debugger with the OM13092 lpclink onboard debugger for my first tests and then I use an LPC_LINK2 debugger for my custom target board (via SWD connection), so I can't find the "add-symbol-file filename address" equivalent settings you suggested for my debug configurations. I think your solution is right for the Segger debug interface, isn't it?
Is there an equivalent solution for the LinkServer debugger configuration for loading and debugging both the bootloader (@0x0000 address) and the main app (@0x8000 address) projects?