当前位置: 代码迷 >> 驱动开发 >> ARM链结脚本有关问题
  详细解决方案

ARM链结脚本有关问题

热度:60   发布时间:2016-04-28 10:49:40.0
ARM链结脚本问题
有链结脚本文件如下:
LR_EWROM 0x08000000 0x02000000 {
EWROM 0x08000000 0x02000000 {
boot.o(INIT, +FIRST)
* (+RO)
  }

EWRAM 0x02000000 UNINIT 0x00020000 {
* (+RW,+ZI)
}
}

编译后产生结果如下:
Program Size: Code=32660 RO-data=1308 RW-data=280 ZI-data=3960

生成的.map文件内容摘录如下:
Load$$EWRAM$$RW$$Base 0x08000000
Load$$EWRAM$$RW$$Length 0x00000118
Image$$EWRAM$$ZI$$Base 0x02000118
Image$$EWRAM$$ZI$$Length 0x00000f78
Image$$EWRAM$$RW$$Base 0x02000000

对于.map文件内容:
Load$$EWRAM$$RW$$Length 0x00000118
0x00000118是RW数据的大小,转换为十进制为280,与编译产生的结果对应;

但是:
Load$$EWRAM$$RW$$Base 0x08000000
却让我不能理解,我认为Linker应该生成的Load$$EWRAM$$RW$$Base的值是: 
0x08000000 + 32660 + 1308 = 0x080084b0
但为什么Linker导出的值却是 0x08000000 呢?

请各位不吝赐教,谢谢!

------解决方案--------------------
有呀,我是厂商送的呵呵

 ADS 这个很垃圾 呵呵

IAR 是我用过的,感觉比较好的开发环境 




探讨

IAR没用过,用过ADS,呵呵.

考虑到开发的东西是要release给客户的,所以后面会用gcc的ARM工具链来代替RealView MDK,以免有版权的问题.

顺便请教一下,IAR是免费的吗?

------解决方案--------------------
查看下嵌入式arm开发
  相关解决方案