Try: LDR r1, =F4_ROM
ADR is relative to PC. i.e the label need to be quite near to the ADR instruction (to be simple).Use movw and movt movw r1, #:lower16:F4_ROM movt r1, #:upper16:F4_ROMthe code needs 2 instructions instead of one but it will works in all case !
movw r1, #:lower16:F4_ROM movt r1, #:upper16:F4_ROM
ADR.W R1,F4_ROM ;F4_ROM is the label of the table belowwhen i use the instruction ADR.W above,the compiler tells : [E0200] Offset out of range.how can i solve the promble? thanks.
hello,webshaker, how can i get the lower16/upper16 of the F4_ROM, F4_ROM is not a constant.by the way,the compiler i use is TI's ccs5.2.