This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

UART would not work after jumping from bootloader.

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

Parents
  • 1. You seem to disable the interrupt before you jump. Enough to disable interrupts.
    2. I'd place "NVIC_SetVTOR(USER_PROGRAM_START);" in the bootloaders itself.
    3. Does you bootloader re-enable the UARTS?
    4. Show bootloader entry code...

Reply
  • 1. You seem to disable the interrupt before you jump. Enough to disable interrupts.
    2. I'd place "NVIC_SetVTOR(USER_PROGRAM_START);" in the bootloaders itself.
    3. Does you bootloader re-enable the UARTS?
    4. Show bootloader entry code...

Children