Bootloader(1)

本文介绍了NorFlash的特点及其在Bootloader中的应用。包括Bootloader的布局、内核及文件系统的加载过程,以及不同类型的Flash芯片如何进行引导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NorFlash可以支持随机访问,所以代码是可以直接在Flash上执行的。

 

Bootloader一般放在Flash的顶端或者底端,这要根据处理器的复位向量设置。要使Bootloader的入口位于处理器上电执行的第一个条指令的位置。

 

接下来分配参数区,这里可以作为Bootloader的参数保存区域。

 

再接下来内核映像区。Bootloader引导Linux内核,就是要从这个地方把内核映像解压到RAM中去,然后跳转到内核映像入口执行。

 

然后是文件系统区,如果使用Ramdisk文件系统,则需要Bootloader把它解压到RAM中。如果使用JFFS2文件系统,将直接挂接为根文件系统。

 

最后还可以分出一些数据区,这要根据实际需要和Flash大小来考虑了。

这些分区是开发者定义的,Bootloader一般直接读写对应的偏移地址。到了Linux内核空间,可以配置成MTD设备来访问Flash分区。

但是,有的Bootloader也支持分区的功能,例如:Redboot可以创建Flash分区表,并且内核MTD驱动可以解析出redboot的分区表。

 

除了NorFlash,其他的flash芯片一般通过专用控制器的IO方式来访问,不能随机访问,因此引导方式与NorFlash方式也不同。在这些芯片上,需要配置专用的引导程序。通常,这种引导程序起始的一段代码就吧整个引导程序复制到RAM中运行,从而实现自举启动,这跟从磁盘上启动有写相似。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值