以下启动代码是从《ARM嵌入式系统实验教程(一)》中提取出来的。
1
; 启动文件,初始化C程序的运行环境,然后进入C程序代码。 |Image$$RO$$Base| 表示RO输出段运行时起始地址,也可以说是程序代码存放的起始地址,由-ro-base这个参数指定; |Image$$RO$$Limit| 表示RO输出 段运行时存储区域界限,其值可通过|Image$$RO$$Base|+Code sizes+RO Data sizes+4计算得出; |Image$$RW$$Base| 表示RW输出段运行时起始地址,记得是运行时的地址,而不一定是加载时的存放地址,因为RW输出段在加载时可能是在ROM中并紧跟着RO输出段存放的,当程序运行时才移动(在有些书中说是移动,个人觉得应该只是复制,希望大家能帮我解释一下,谢谢!) 到RAM起始地址为|Image$$RW$$Base|的区域,由-rw-base这个参数指定;未指定的话,默认紧跟RO输 出段,那么|Image$$RW$$Base|=|Image$$RO$$Limit|; |Image$$RW$$Limit| 表示RW输出 段运行时存储区域界限,其值可通过|Image$$RW$$Base|+RW Data sizes+4计算得出; |Image$$ZI$$Base| 表示ZI输出段运行时起始地址,它是运行时在RAM中生成的,紧跟着RW输出段存放,其 值和|Image$$RW$$Limit| 一样; |Image$$ZI$$Limit| 表示ZI输出 段运行时存储区域界限,其值可通过|Image$$ZI$$Base|+ZI Data sizes+4计算得出。 |
|
来自: BeautymengRoom > 《我的图书馆》