系统移植之bootloader移植

做boot移植工作之前,首先要确定整个boot的启动流程,根据启动流程确定移植步骤。

首先看一下boot的启动流程:

Bootloader执行最基本的硬件初始化操作。如关闭中断,关闭看门狗以避免处理器被复位,以及关闭MMU功能,关闭处理器缓存(数据缓存一定要关闭,指令缓存可以打开),设置系统时钟,初始化内存等。这一阶段代码通常由汇编代码编写,为了运行下一阶段的C程序还必须设置好堆栈。如果是从NAND Flash启动,则必须通过NAND Flash控制器将bootloader代码复制到内存。

这一阶段一般用C语言编写,大致分为一下几步:

1)初始化各种硬件设备,如设置处理器正常工作的时钟频率,初始化串口等。

2)检测系统内存,主要是确定系统内存容量以及其地址空间信息。

3)将内核映像文件加载到内存。

4)准备内核引导参数。

5)跳转到内核的第一条指令处,开始执行内核初始化代码,控制权转移到内核代码,bootload的使命结束。

基本上每个架构平台的单板移植都需要以下移植步骤:

1、确定架构(比如ARM,MIPS,POWERPC)、平台(比如三星、海思)、单板(fs4412、exynos_origen)

2、确认交叉开发环境(更改Makefile的CROSS_COMPILE为arm-linux-)

3、配置、编译及烧写(make fs4412_config;make)

烧写时要注意环境变量的配置

4、查看串口是否有输出

如果没有输出首先查找串口驱动上面的问题,再按照整个boot的启动流程判断哪里存在问题。

5、查看外围设备是否正常工作(如网卡)

6、裁剪(如果使用flash较小就需要针对不需要的功能进行裁剪)

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值