自己写bootloadder

本文详细介绍了Bootloader的主要目标及其实现步骤,包括初始化硬件、重定位Bootloader、读取内核到内存、设置参数及启动内核等关键环节。

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

bootloader的目标:启动内核。


①从Flash上把内核读入内存(SDRAM)

    a.能读Flash

    b.初始化/内存/时钟/其他

②启动

    a.设置参数(告诉内核内存大小、应该去哪里找根文件系统)

    b.跳转执行



最简单的bootloader的编写步骤:

1、初始化硬件:关看门狗、设置时钟、设置SDRAM、初始化Nand Flash

    (关看门狗:对于2440,一上电看门狗会打开着,必须把它关掉,如果不关掉,过3秒钟会复位这个开发板)

    (设置时钟:对于2440,上电的时候,它运行的频率是12MHz,想要让它运行更快一点)

    (设置SDRAM:SDRAM这款内存,先要初始化)

    (初始化Nand Flash:因为从Nand Flash上把内核读进来,bootlorader应该对Nand Flash的操作,如果Nor Flash,就像对内存)

2、如果bootloader比较大,要把它重定位到SDRAM

3、把内核从Nand Flash读到SDRAM

4、设置“要传给内核的参数”

5、跳转执行内核



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值