在GCC中,内存命令描述目标中内存块的位置和大小。该命令必须使用此道路。
MEMORY
{
name [(attr)] : ORIGIN = origin, LENGTH = len
...
}现在,我有一个链接器文件,用于链接器(基于GCC的Infineon Tricore微控制器链接器,tricore-ld),它定义了一个RAM内存部分:
MEMORY
{
ram (w!xp): org = 0x70000000, len = 32k
...
}你能解释一下“p”在(w!xp)中的意思吗?“p”一般是什么意思?
发布于 2016-10-18 22:24:20
当然,对于定制的微控制器目标来说,这不是一个标准的链接器脚本,也不是不寻常的。可能是很久以前的叉子了。然而,它可以很容易地反向工程,GCC一直使用ELF格式的目标文件.谷歌“精灵部分属性”,弹出的这一击,在这里很有帮助。
所以你有分配,执行,写作,程序。Aha,p ==程序。因此(w!xp)肯定应该被解释为“区段是可写的,而不是可执行的,初始数据存储在可执行映像中”。
没什么特别的,这是C程序中的传统.data部分。与.bss相比,而不是p。
OP添加的信息:
来自UNIX格式的这个介绍性:
https://stackoverflow.com/questions/39958158
复制相似问题