ARM裸机开发-bootloader-我是bootloader设计师

本文详细介绍了ARM处理器的bootloader设计,包括其在系统启动中的角色,以及如何通过模仿uboot进行设计。文章还探讨了ARM的启动流程,特别是对于2440、6410和210型号的处理器,分析了它们的启动方式、地址布局和流程。同时,对uboot的工作流程进行了分析,从BL1和BL2阶段入手,阐述了bootloader的构建过程和任务执行。最后,提出了Bootloader架构设计的原则和思维导图。
摘要由CSDN通过智能技术生成

一、bootloader设计蓝图

1、什么是bootloader

如果说系统内核是航天飞机的话,那么bootloader就是助推器,它带动了内核。在内核启动之前它要做许多硬件的初始化操作,来适合系统的安全启动。

2、bootloader设计方法-模仿

90%的设计从模仿开始,模仿加入自己的想法就是设计。bootloader的模仿我们一般会参照行业老大uboot。

3、uboot简介

uboot可以支持多种嵌入式cpu,例如X86、ARM、MIPS

还可以支持多种嵌入式操作系统,例如wince、linux、vxworks、QNX

uboot分为自主模式和开发模式:自主模式下,uboot的运行不需要人的参与,这往往也是产品模式。

开发模式是供开发人员使用,对uboot进行修改,来适应自己的需要。

4、uboot的查看

我们一般会使用sourceinsight来查看相对比较大的程序,它可以自动定位函数位置。这方便了我们的查找。

二、ARM的启动流程

为什么要关心ARM的启动流程

这是因为软件的设计要遵循硬件的要求。满足硬件的一些要求。

主要从三个方面进行介绍:1、启动方式  2、地址布局  3、启动流程

几点说明:一上电,处理器会从0地址开始读取指令并执行。  Nandflash不参与统一编址。

2440:

1、启动方式:Norflash   Nandflash

2、内存地址从00x30000000开始

3、启动流程(来自手册):s3c2440A boot code can be executed on an external NAND flash memory. In ord

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值