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

RL-RTL don't run in flash address 0x8000

I have a RL-RTL application, if I compile it to 0x8000 address, and use a loader to start the application does not start successfully. But if I compile to address 0 and programmed into the flash, it starts successfully. the loader can successfully start a non RL-RTL application in the flash 0x8000 address . why?

loader code:

Reset_Handler

;Loader LDR R0, =LOADER_TAG_ADDARE LDR R1,[R0] LDR R2, =0xFFFFFFFF TEQ R1,R2 BNE Reset_Start LDR R0, =SOFT_TAG_ADDARE LDR R1,[R0] LDR R2, =0xAA55AA55 TEQ R1,R2 BNE First_Soft LDR R0,=USER2_ADDARE BX R0
First_Soft LDR R0,=USER1_ADDARE BX R0

Parents
  • It's ok. I don't remap the interrupt vector table.

    MEMMAP          EQU     0xE01FC040
    ROMSTART        EQU     0x00008000
                    MOV     R0, #0x40000000
                    LDR     R1, =ROMSTART
    
                    LDMIA   R1!, {R2-R9}
                    STMIA   R0!, {R2-R9}
                    LDMIA   R1!, {R2-R9}
                    STMIA   R0!, {R2-R9}
    
                    LDR     R0, =MEMMAP
                    MOV     R1, #2
                    STR     R1, [R0]
    

Reply
  • It's ok. I don't remap the interrupt vector table.

    MEMMAP          EQU     0xE01FC040
    ROMSTART        EQU     0x00008000
                    MOV     R0, #0x40000000
                    LDR     R1, =ROMSTART
    
                    LDMIA   R1!, {R2-R9}
                    STMIA   R0!, {R2-R9}
                    LDMIA   R1!, {R2-R9}
                    STMIA   R0!, {R2-R9}
    
                    LDR     R0, =MEMMAP
                    MOV     R1, #2
                    STR     R1, [R0]
    

Children