Custom Bootloader LPC54606 Unable to Jump

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

Custom Bootloader LPC54606 Unable to Jump

552 Views
mohammed_elbadr
Contributor I

Hello,

I hope this finds you well.

I am using multilink universal FX to work with LPC54606. I am currently trying to make my custom bootloader. For that, I allocated first sector of program flash (0x8000 size) for it and starting second sector the main program runs. I have tried the process of modifying main program flash to start at 0x8000 then flashing it and jumping from my custom bootloader on LPC54608 (eval board) which worked fine using the following commands from NXP documentation:

void FwBoot_BootToFwImage(uint32_t fwImageBaseAddr)
{
void (*firmwareFunc)(void);
uint32_t fwEntryVal = *((uint32_t *)(fwImageBaseAddr+4U));
firmwareFunc = (void (*)(void))fwEntryVal;

SCB->VTOR = fwImageBaseAddr; /* The stack address is also the start address of vector. */
__set_MSP(fwStackVal); /* setup the stack address for MSP. */
__set_PSP(fwStackVal); /* setpu the stack address for PSP. */
firmwareFunc();
}

However, replicating this on LPC54606 has failed. I looked into boot pins defined in documentation and initalized them through pins tool in IDE, yet, no success.

Any help would be greatly appreciated.

Thank you,

Mo

Labels (1)
1 Reply

449 Views
Sabina_Bruce
NXP Employee
NXP Employee

Hello Mo,

Hope you are doing well. I'll be happy to help you find the root cause of this behavior. In order to do so, could you please provide the IDE version you are using. In addition could you share your boot pin configuration so that I can check it with detail. 

Best Regards,

Sabina