Mastering Ebedded Linux Programming-读书笔记

本文详细介绍了Bootloader的作用,包括初始化系统、加载Linux内核的过程。讲解了Bootloader在不同存储设备上的启动顺序,特别是对于NOR flash和非NOR flash的情况。此外,还探讨了设备树的概念,解释了如何通过设备树描述硬件配置,并提到了标签和中断的相关知识。

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

All about Bootloaders

准备工作:

  • Linux主机需要安装 device-tree-compiler, git, make, patch, and u-boot-tools
  • 第二章利用 Crostool-NG 编译的工具链,由于个人使用的是 BeagleBone-AI,所以使用的工具链为 arm-cortex_a15-gnueabihf
  • 一个SD卡和读卡器
  • BeagleBone Black 开发板,本人使用的是BeagleBone AI 开发板
  • 5V1A直流电源

Bootloader 作用

最基本的初始化系统,并加载 Linux 内核,在开始上电之初,DRAM、NAND flash、MMC 都无法使用,唯一可以操作的是 CPU 的一个核,以及片上 RAMboot ROM


boot 顺序

Bootloader 存储在 NOR flash(线性存储,支持随机访问),根据处理器的复位向量(将处理器指向第一条指定的地址,也就是处理器开始运行的位置),来决定 Bootloader 存储在 Flash 的顶端或者底端,即 Bootloader 的入口位于处理器上电第一条指令的位置。BootloaderNOR flash 中运行后先初始化 DRAM 控制器,初始化成功后,Bootloader 将内核从 NOR flash 加载到 DRAM 中。
若不是使用 NOR flash, 则一般需要三个阶段

1. 芯片上电或复位后,最开始运行的程序称作 ROM code,保存在片上 ROM 中,ROM code 可以从 NAND falshMMC 设备(EMMCSD 卡)等加载一小段代码到 SRAMSRAM 不需要内存控制)中,如果从这些 flash 设备上读取失败,则会通过以太网,USBUART 接口读取一个字节流。而 SRAM 太小无法加载完整的 Bootloader 程序,因此需要辅助加载程序(SPL)。也就是 ROM codeSPL 加载到 SRAM 当中,当 ROM

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值