原创 TQ2440学习笔记-RO BASE和ENTRY POINT

2011-7-11 18:01 2960 8 8 分类: MCU/ 嵌入式

最近杂事太多,好长时间没更新了。这两天弄明白了ADS设置里面的RO BASE Image entry point

TQ2440测试程序项目里设置RO BASE 0X30000000,这是编译链接后映像文件的起始地址。在ARM-LINKER-OPTIONS选项里还有一个Image entry point,也设置成0X30000000。那么Image entry point为什么要这么设置呢?

Image entry point是程序的入口地址,也就是2440init.s里定义的ENTRY处的地址。

2440init.s里定义了段Init

AREA    Init,CODE,READONLY

       ENTRY

这是程序的入口,在ARM LINKER-LAYOUT选项里设置了第一个链接的目标文件是2440init.o,段名是Init。也就是说链接后段Init在整个映像文件的开始,地址是0X30000000

所以Image entry point要设置成0X30000000

如果在ARM LINKER-LAYOUT里把第一个链接的目标文件设置成其它的文件,假设链接后段Init的地址是0X30001000,那么Image entry point就应该设置成0X30001000了。

也就是说Image entry point的值和ARM LINKER-LAYOUT里设置的第一个链接目标文件有关。

 

ARM复位后是从0X00000000开始执行的,而这里设置的入口地址是0X30000000,这个问题还没想明白,后面接着分析。

文章评论0条评论)

登录后参与讨论
我要评论
0
8
关闭 站长推荐上一条 /2 下一条