打印

关于启动代码的疑问,还请大家赐教

[复制链接]
605|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
596863302|  楼主 | 2017-2-12 10:42 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
沙发
MK60| | 2017-2-25 15:45 | 只看该作者
这是问题问得好!
主要依据IDE(编译器、汇编器)、C运行时库、具体器件的存储器映射等。

使用特权

评论回复
板凳
airwill| | 2017-2-27 17:48 | 只看该作者
启动代码就是些中断定义,这个需要芯片手册。
堆栈设置和初始化, 这个跟芯片基本没有关系了。

使用特权

评论回复
地板
birdSTM32| | 2017-2-28 14:13 | 只看该作者
首先,上电之后,所有芯片都是从设定好的位置(这大多是通过硬件实现的)读取第一条指令开始执行,但是C语言之类的高级语言,并不能和内核进行交流,这就需要用到汇编了。但是用汇编写程序确实是一件繁琐的事情,为了方便后期的编程,我们使用汇编来写一些必要的前期工作,所有这些前期工作的总和,就被称作“启动文件”,它为我们准备好了面向高级语言编程的接口。
主要依据当然是内核对应的汇编指令集、编译环境指令(可以辅助汇编程序编写的伪指令和编译条件设置指令),知道用什么指令写程序之后,就是常规的启动步骤编写,初始化堆栈、PC、中断向量表、系统时钟、然后跳转到主程序。
大家一直都这么做的,只是因为这样做合乎逻辑。以后估计也会这么做,而且以后估计也不会有哪本官方手册告诉你如何一步步编写他们的启动代码。。。

使用特权

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

本版积分规则

3

主题

3

帖子

0

粉丝