胡尔佳编著的《深入理解BootLoader》主要介绍BootLoader的开发理论、流程与实例,以当前流行的ARM和Linux为蓝本,详细介绍了如何一步步实现可用的BootLoader。该书既对Linux开发环境、编译器使用、处理器架构以及编译和链接、链接脚本的细节做了较全面的理论介绍,又结合具体的环境向读者说明了BootLoader的原理和开发流程,使读者真正懂得BootLoader是如何工作的,即便今后遇到其他处理器或者引导其他操作系统,也能熟知开发或者移植BootLoader的思路。
本书是初涉BootLoader移植开发领域读者的一本不可多得的参考书。书中介绍的理论不仅仅对理解BootLoader有帮助,而且对理解计算机系统(嵌入式系统)也有启发意义,适合广大嵌入式系统爱好者和开发人员参考使用。
BootLoader是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境设置成一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。
胡尔佳编著的《深入理解BootLoader》详细介绍如何一步一步地实现可用的BootLoader。对Linux下的开发环境、编译器使用、处理器架构以及编译和链接、链接脚本的细节做了较全面的理论介绍,又结合具体的环境向读者说明BootLoader的原理和开发流程,使读者真正懂得BootLoader是如何工作的,即便今后遇到其他处理器或者引导其他操作系统,也能熟知开发或者移植BootLoader的思路。
前言
第1章 BootLoader的概念
1.1 BootLoader的角色
1.2 BootLoader的来历
1.3 BootLoader的概念
1.3.1 MCU下的BootLoader
1.3.2 嵌入式ARM和Linux下的BootLoader
1.3.3 PC下的引导流程
1.4 本章小结
第2章 Linux开发环境
2.1 编辑器Vim
2.1.1 Vim介绍
2.1.2 Vim的两个基本模式
2.1.3 Vim的两个常用模式
2.1.4 Vim的启动与退出
2.1.5 Vim下光标的移动
2.1.6 Vim下的复制、粘贴和删除
2.1.7 Vim下的撤销和重复
2.1.8 Vim下的查找和替换
2.1.9 Vim下的文件恢复
2.1.10 Vim下的插件
2.2 编译器GCC和交叉编译器
2.2.1 GCC的编译流程
2.2.2 GCC的常用编译选项
2.2.3 交叉编译器
2.3 常用shell命令和脚本
2.3.1 find命令
2.3.2 grep命令
2.3.3 管道与重定向
2.4 工程管理Make和Makefile
2.4.1 Make和Makefile
2.4.2 Makefile中的变量
2.4.3 自动推导规则
2.4.4 嵌套的Makefile
2.4.5 Make伪目标
2.4.6 自动化变量
2.4.7 Make的内嵌函数
2.5 本章小结
第3章 ARM体系结构
3.1 处理器模式
3.2 异常
3.3 ARM寄存器
3.4 通用寄存器
……
第4章 ARM指令集
第5章 ARM寻址模式
第6章 编译和链接
第7章 链接脚本
第8章 Linux下开发流水灯
第9章 U-Boot代码的分析
第10章 实现简单的BootLoader