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
  • Corrected version of above file is:
    rapidshare.com/.../non_RTX_bootloader_with_RTX_application_for_lpc2378.rar
    (This works with new RTX (from v3.40) of uVision). Old version is deleted from rapidshare.

    Please note that in my case (in this example)

    RAM_INTVEC REMAP RAM_MODE
    

    ASM option for startup file does not remap IVT as Tamir Michael suggested. I have to say

    memcpy((char *)0x40000000, (char *)(0x00002000), 64);
    

    (see __rt_entry...)

    This is part of startup file that has to do with those macros:

    ; Memory Mapping (when Interrupt Vectors are in RAM)
    MEMMAP          EQU     0xE01FC040      ; Memory Mapping Control
                    IF      :DEF:REMAP
                    LDR     R0, =MEMMAP
                    IF      :DEF:RAM_MODE
                    MOV     R1, #2
                    ELSE
                    MOV     R1, #1
                    ENDIF
                    STR     R1, [R0]
                    ENDIF
    

    So uVision generated REMAP and RAM_MODE, but not a RAM_INTVEC part... And I guess that this is the reason why vectors are not remapped as in Tamir's case, but have to be copied manually in my case...

Reply
  • Corrected version of above file is:
    rapidshare.com/.../non_RTX_bootloader_with_RTX_application_for_lpc2378.rar
    (This works with new RTX (from v3.40) of uVision). Old version is deleted from rapidshare.

    Please note that in my case (in this example)

    RAM_INTVEC REMAP RAM_MODE
    

    ASM option for startup file does not remap IVT as Tamir Michael suggested. I have to say

    memcpy((char *)0x40000000, (char *)(0x00002000), 64);
    

    (see __rt_entry...)

    This is part of startup file that has to do with those macros:

    ; Memory Mapping (when Interrupt Vectors are in RAM)
    MEMMAP          EQU     0xE01FC040      ; Memory Mapping Control
                    IF      :DEF:REMAP
                    LDR     R0, =MEMMAP
                    IF      :DEF:RAM_MODE
                    MOV     R1, #2
                    ELSE
                    MOV     R1, #1
                    ENDIF
                    STR     R1, [R0]
                    ENDIF
    

    So uVision generated REMAP and RAM_MODE, but not a RAM_INTVEC part... And I guess that this is the reason why vectors are not remapped as in Tamir's case, but have to be copied manually in my case...

Children