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