Tool/software:
Hello,
I am working with MSPM0G3519 with custom bootloader. I placed custom bootloader to 0x00000000 and I placed the app after custom bootloader code with offset.
I do necessary linker modifications. I reduced flash size for bootloader project and I added offset for the flash section on the app project's linker. I also changed .intvecs section on the app side.
I added "SCB->VTOR = (FLASH_BASE | k_ADDRESS_APP);" this line on the app project at the top of main function.
Here is my jump function :
/* function pointer to jump from boot to application code */
typedef void (*pf_application)(void);
static uint32_t v_JumpUserApp(void)
{
static volatile pf_application pfnc_jump_app = NULL;
static volatile uint32_t dw_jump_app_address = 0;
// Get App Address
uint32_t EntryAddr = dw_GetAppAddress();
__disable_irq;
dw_jump_app_address = *(volatile uint32_t*)(EntryAddr + 4);
pfnc_jump_app = (pf_application)dw_jump_app_address;
/* Initialize user application's Stack Pointer */
__set_MSP(*(volatile uint32_t*)(EntryAddr));
/* Jump to application */
pfnc_jump_app();
return(EntryAddr);
}
My question is do I have to use BSL and BCR? I will check CRC of the app on bootloader. Do I need BSL or BCR for any other needs ? (for ex: cybersecurtiy)
Thanks