1.前言
我们知道,在Linux平台下编写的程序要想在arm平台上运行,我们就得使用交叉的编译器,我们用arm-linux-none-gnueabi-gcc 或者arm-linux-gcc也罢,这些编译器编译产生的程序能够直接运行在arm的平台上,那我们的bootstrap.bin自己来实现,都需要具备哪些文件呢?众所周知,在引导程序中当今做大的最大的莫过于U-Boot这个组织,今天,我们就模仿U-Boot来实现一个简易的引导程序,我们称之为Bootstrap.bin。实现该bin文件我们模仿U-Boot的工程模版,写出几个实现文件:
start.S
我们知道汇编指令的代码在机器上执行的速度比较快,那些短小精悍的程序往往运行在设备初始化的初级阶段,我们在这里引用start.S的目的也是在此初始化我们arm设备的一些必须要初始化的系统外设,比如:
设置SVC32模式
关闭看门狗
屏蔽所有中断
关闭MMU以及Cache
初始化时钟
初始化SDRAM
初始化Nand
——-未完待续
上一篇:[初级教程]搭建arm-linux裸机开发的环境
下一篇:[中级教程]如何关闭MMU以及I-Cache和D-Cache?
推荐阅读最新更新时间:2024-11-20 14:31