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

USB secondary ISP bootloader for LPC23xx with RTX Kernel problem

I got the code USB secondary ISP bootloader for LPC23xx from NXP working fine with none RTX kernel but It does not working with RTX kernel. If anyone know more detail please help.

Thank you.

Parents
  • that is exactly what I am saying. an application that uses these macros, makes its startup file copy the vectors and set MEMMAP for it (have a look in the startup file - search for 'memmap'). this should be done in the application. however, you can do the mapping manually in the bootloader instead - using memcpy and MEMMAP. about my question: if you have a piece of code (bootloader) than jumps to software that is intended to handle interrupts, that jumps in its turn to an RTX application (no interrupts handling intended here), then the handling will be a little different: the mid section will use the macros to remap the interrupt vectors, but the startup file of the application must do something like this:

    LDR   R0,=RAM_BASE+0x28
    LDR   R1, =SWI_Handler
    STR   R1, [R0]
    

    to copy the SWI handler of application to the internal memory - otherwise RTX will not start. this arrangement makes sure all interrupts but the SWI will be handled in the mid section software.
    just one more comment: too bad you posted and never correct code that is clearly misleading...

Reply
  • that is exactly what I am saying. an application that uses these macros, makes its startup file copy the vectors and set MEMMAP for it (have a look in the startup file - search for 'memmap'). this should be done in the application. however, you can do the mapping manually in the bootloader instead - using memcpy and MEMMAP. about my question: if you have a piece of code (bootloader) than jumps to software that is intended to handle interrupts, that jumps in its turn to an RTX application (no interrupts handling intended here), then the handling will be a little different: the mid section will use the macros to remap the interrupt vectors, but the startup file of the application must do something like this:

    LDR   R0,=RAM_BASE+0x28
    LDR   R1, =SWI_Handler
    STR   R1, [R0]
    

    to copy the SWI handler of application to the internal memory - otherwise RTX will not start. this arrangement makes sure all interrupts but the SWI will be handled in the mid section software.
    just one more comment: too bad you posted and never correct code that is clearly misleading...

Children