共2条
1/1 1 跳转至页
ARMlink,ropi,rwpi ARMlink的属性-ropi和-rwpi有何用?

问
ARMlink的属性-ropi和-rwpi有何用?
看了手册说PI是与位置无关,什么叫与位置无关(独立),
ropi 示例变量
执行区在存储器映射中相邻放置。然而,-ropi 将包含 RO 输出节的载入区和执行区标记为位置独立的。
该如何理解这个"位置无关(独立)"?请高手解释一下! 答 1: 顶一下我有个测试CODE:
AREA DataRam, DATA,READWRITE
Array space 1000
AREA Bootload1, CODE, READONLY
First
ldr a1,=0x0f
str a1,Array
END
------------------------------------
在ADS环境下,在ARM LINKER选项,假如我不勾选“ROPI”,则编译链接都通过。假如我勾选了“ROPI”,则编译能通过,链接不能通过,提示错误“Error : L6248E: main.o(Bootload1) in PI region 'ER_RO' CANnot have offset type relocation to DataRam in ABSOLUTE region 'ER_RW'.”
===
ROPI到底有什么作用啊?假如我想在ARM LINKER中勾选“ROPI”也能编译通过,str a1,Array 这句应该如何修改?
麻烦大家指点!谢谢!
答 2: 再顶一下
看了手册说PI是与位置无关,什么叫与位置无关(独立),
ropi 示例变量
执行区在存储器映射中相邻放置。然而,-ropi 将包含 RO 输出节的载入区和执行区标记为位置独立的。
该如何理解这个"位置无关(独立)"?请高手解释一下! 答 1: 顶一下我有个测试CODE:
AREA DataRam, DATA,READWRITE
Array space 1000
AREA Bootload1, CODE, READONLY
First
ldr a1,=0x0f
str a1,Array
END
------------------------------------
在ADS环境下,在ARM LINKER选项,假如我不勾选“ROPI”,则编译链接都通过。假如我勾选了“ROPI”,则编译能通过,链接不能通过,提示错误“Error : L6248E: main.o(Bootload1) in PI region 'ER_RO' CANnot have offset type relocation to DataRam in ABSOLUTE region 'ER_RW'.”
===
ROPI到底有什么作用啊?假如我想在ARM LINKER中勾选“ROPI”也能编译通过,str a1,Array 这句应该如何修改?
麻烦大家指点!谢谢!
答 2: 再顶一下
共2条
1/1 1 跳转至页