At the bootloader, LPC1788 communicates with the bluetooth (HC05) module through UART1. After jumping to the code in the RAM, the UART1 would not work and nothing will be ready on its interrupts. My jumping code is as follows:
nand_readPartition(0, byte_wr_ptr, 29996); __disable_irq(); UART_TxCmd(UART_1, DISABLE); NVIC_DisableIRQ(UART1_IRQn); UART_DeInit(UART_1); SysTick_Config(0); //NVIC_DeInit(); //NVIC_SCBDeInit(); NVIC_SetVTOR(USER_PROGRAM_START); boot_jump(USER_PROGRAM_START);
everything is correct, i uses CAN and its interrupts. the interrupts for CAN is works fun. it means the vector interrupts remap correctly.
Best Regards, Mostafa
Hard for me to know, it isn't my code and the fragment you provided gives little in the way of context. If you call from the USART IRQHandler then the processor isn't going to unstack properly and the NVIC still thinks you are in the handler, and will only service things that preempt that.