打印

arm启动代码为什么有的是init.s有的是starup.s

[复制链接]
2750|4
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
dalujia|  楼主 | 2007-8-23 10:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
最近刚学arm,用的是周立功的教材,书上写的启动代码是以init.s命名的,但到他的网站上,却都是以startup.s命名的,有的还没有启动代码.那么启动代码文件不确定,那么编译器(我用的是ads1.2)如何判定哪个是启动代码那.上摆渡搜不到,来这里求助!

相关帖子

沙发
阿南| | 2007-8-23 20:06 | 只看该作者

没记错的话,周公的基础教程里有介绍启动代码的

楼主再仔细分析分析

使用特权

评论回复
板凳
wangkj| | 2007-8-23 22:43 | 只看该作者

看reset部分,这个肯定是启动部分

使用特权

评论回复
地板
chinawei97| | 2007-8-24 09:20 | 只看该作者

关键知道启动的原理!

init.s有的是starup.s  都不要紧,你要知道arm 汇编的入口汇编指令和link是的首地址就好!

使用特权

评论回复
5
chunk| | 2007-8-24 10:19 | 只看该作者

文件起什么名字都是问题啊?

叫abc.s也可以啊,只要真的把它编译且连接了就行。

启动代码的一大特征是开头必然包括CPU复位后要执行的第一条指令,又一大特征是必然包含了对“栈指针”的初始化,再一大特征是必然包含了对“有初值”的全局变量的初始化(通常是在一个循环中把CODE空间的一块数据拷贝到RAM空间中),最后一大特征是在末尾必然包含了对一个外部符号的调用(这个符号可能是_main/__main/或带有各种古怪前缀的main/或其它什么莫名其妙的东西,这个符号肯定不在启动代码中定义)。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

42

主题

145

帖子

1

粉丝