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

Immediate offset problem with the LDR commands

Compiler give error message for following codes.
A1174E: "Data transfer offset 0x00000102 out of range. Permitted values are 0x00..0x1F"

    LDR   R1,=USB_BASE
    LDRB  R0,[R1,#USB0_CSRL0] ; Error code is A1174E !!!!

USB_BASE   EQU 0x40050000
USB0_CSRL0 EQU 0x102

But compiler dont give any error if i write this program thats way

USB_BASE   EQU 0x40050000
USB0_CSRL0 EQU 0x102

    LDR   R1,=USB_BASE
    LDRB  R0,[R1,#USB0_CSRL0] ; Error code is A1174E !!!!

What is wrong?

Parents
  • Andy is (once again) absolutely correct - Why do you not take note of the responses you receive?

    "What is wrong?"

    As the assembler reports, the offset is out of range. It is even helpful enough to tell you what the acceptable range is.

    So ... The reason the assembler is rejecting your code is because it is invalid.

    As I said before, you really should read up on the fundamentals of the ARM core.

Reply
  • Andy is (once again) absolutely correct - Why do you not take note of the responses you receive?

    "What is wrong?"

    As the assembler reports, the offset is out of range. It is even helpful enough to tell you what the acceptable range is.

    So ... The reason the assembler is rejecting your code is because it is invalid.

    As I said before, you really should read up on the fundamentals of the ARM core.

Children