您的位置 首页 主动

ARM的发动代码为什么要用汇编语言

在ARM中讲到ARM的启动代码必须有汇编语言写成,一直不是很了解。书上给的原因是C语言不具备上电立即运行的条件:全局变量没有初始化、系统…

ARM中讲到ARM的发动代码有必要有汇编言语写成,一向不是很了解。
书上给的原因是
C言语不具备上电当即运转的条件:
全局变量没有初始化、体系仓库没有初始化等。
单片机的C言语怎样就不要发动代码?(keil带有发动代码,可是处理欠好会犯错,一般不必也没事)
看来仍是和编译器有关,今日看到了一个比较服气的答案。
编译器在编译C言语时,会在前加一段固定的代码**.O文件,他是编译器自带的一个文件,
即C言语履行的第一条指令不是C言语的main进口函数中,而是**.O中指令。
指令初始化后调用MAIN函数进口,可是并不能直接运转,咱们有必要写一段代码来替代他。
所以咱们常常能看到一些超简略的发动代码:
AREA|DATA|,CODE,READONLY
ENTRY
ldrr13,=0x1000
IMPORTledMain
bledMain
END
如上。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/zhudong/274898.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部