我希望通过软件方式进入BSL,调用下面的代码之后,程序确实脱离了原来的流程(原流程会闪灯),但无法确定有没有进入BSL,通过串口发送0xFF,并没有收到预期的BSL 0x00回复,请问问题可能出在哪里呢?
// #define BSL_PARAM 0xFC48FFFF // I2C slave address = 0x48, Interface selection = Auto
#define BSP_BSL_PARAM 0xFC48DFFF // I2C slave address = 0x48, Interface selection = UART
void L2_entry_bsp_with_uart(void)
{
#if 0
MAP_Interrupt_disableMaster();
// Setup interrupt priorities into 0x00 before entering bootloader
for (int i=0; i < 240; i++) NVIC->IP[i] = 0;
NVIC->ICER[0] = 0xFFFF;
NVIC->ICPR[0] = 0xFFFF;
NVIC->ICER[1] = 0xFFFF;
NVIC->ICPR[1] = 0xFFFF;
// Call the BSL with given BSL parameters
#endif
// BSL_SOFTWARE_CALL();
((void (*)())BSP_BSL_ENTRY_FUNCTION)((uint32_t)BSP_BSL_PARAM) ;
}