[初级教程]arm-linux裸机开发之-bootstrap.bin的实现

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

——-未完待续

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值