图书介绍
深入理解BOOTLOADERPDF|Epub|txt|kindle电子书版本网盘下载
![深入理解BOOTLOADER](https://www.shukui.net/cover/9/31901086.jpg)
- 胡尔佳编著 著
- 出版社: 北京:机械工业出版社
- ISBN:711148570X
- 出版时间:2015
- 标注页数:268页
- 文件大小:29MB
- 文件页数:278页
- 主题词:单片微型计算机
PDF下载
下载说明
深入理解BOOTLOADERPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 BootLoader的概念1
1.1 BootLoader的角色1
1.2 BootLoader的来历2
1.3 BootLoader的概念6
1.3.1 MCU下的BootLoader10
1.3.2 嵌入式ARM和Linux下的BootLoader17
1.3.3 PC下的引导流程18
1.4 本章小结20
第2章 Linux开发环境21
2.1 编辑器Vim21
2.1.1 Vim介绍22
2.1.2 Vim的两个基本模式22
2.1.3 Vim的两个常用模式24
2.1.4 Vim的启动与退出25
2.1.5 Vim下光标的移动26
2.1.6 Vim下的复制、粘贴和删除28
2.1.7 Vim下的撤销和重复28
2.1.8 Vim下的查找和替换28
2.1.9 Vim下的文件恢复29
2.1.10 Vim下的插件29
2.2 编译器GCC和交叉编译器30
2.2.1 GCC的编译流程30
2.2.2 GCC的常用编译选项31
2.2.3 交叉编译器35
2.3 常用shell命令和脚本37
2.3.1 find命令38
2.3.2 grep命令42
2.3.3 管道与重定向46
2.4 工程管理Make和Makefile49
2.4.1 Make和Makefile49
2.4.2 Makefile中的变量52
2.4.3 自动推导规则53
2.4.4 嵌套的Makefile53
2.4.5 Make伪目标54
2.4.6 自动化变量56
2.4.7 Make的内嵌函数56
2.5 本章小结60
第3章 ARM体系结构61
3.1 处理器模式61
3.2 异常62
3.3 ARM寄存器63
3.4 通用寄存器64
3.4.1 未分组的寄存器:R0~R765
3.4.2 分组的寄存器:R8~R1465
3.4.3 寄存器R15:程序计数器66
3.5 程序状态寄存器66
3.5.1 PSR位的类型66
3.5.2 条件标志位67
3.5.3 中断禁止位68
3.5.4 模式位68
3.6 本章小结68
第4章 ARM指令集69
4.1 数据处理指令69
4.2 分支指令73
4.3 软中断指令74
4.4 程序状态寄存器指令75
4.5 协处理器指令76
4.6 加载常量的伪指令78
4.7 本章小结78
第5章 ARM寻址模式79
5.1 寻址模式1——数据处理指令的寻址模式79
5.1.1 编码格式80
5.1.2 移位器操作数80
5.1.3 数据处理操作——立即数81
5.1.4 数据处理操作——寄存器82
5.1.5 数据处理操作——立即数的逻辑左移83
5.1.6 数据处理操作——寄存器的逻辑左移84
5.1.7 数据处理操作——立即数的逻辑右移85
5.1.8 数据处理操作——寄存器的逻辑右移85
5.1.9 数据处理操作——立即数的算术右移86
5.1.10 数据处理操作——寄存器的算术右移87
5.1.11 数据处理操作——立即数的循环右移88
5.1.12 数据处理操作——寄存器的循环右移89
5.1.13 数据处理操作——扩展的循环右移90
5.2 寻址模式2——字或无符号字节的load/store指令90
5.2.1 编码格式91
5.2.2 立即数偏移92
5.2.3 寄存器偏移93
5.2.4 比例寄存器偏移94
5.2.5 立即数的前变址寻址95
5.2.6 寄存器的前变址寻址96
5.2.7 比例寄存器的前变址寻址97
5.2.8 立即数的后变址寻址99
5.2.9 寄存器的后变址寻址100
5.2.10 比例寄存器的后变址寻址101
5.3 寻址模式3——杂类load/store指令的寻址方式103
5.3.1 编码格式103
5.3.2 杂类load/store——立即数偏移104
5.3.3 杂类load/store——寄存器偏移105
5.3.4 杂类load/store——立即数的前变址寻址106
5.3.5 杂类load/store——寄存器的前变址寻址107
5.3.6 杂类load/store——立即数的后变址寻址108
5.3.7 杂类load/store——寄存器的后变址寻址109
5.4 寻址模式4——批量load/store110
5.4.1 编码格式110
5.4.2 批量load/store——执行后增加111
5.4.3 批量load/store——执行前增加112
5.4.4 批量load/store——执行后减少112
5.4.5 批量load/store——执行前减少113
5.4.6 用于栈操作的批量load/store114
5.5 寻址模式5——协处理器的load/store115
5.5.1 编码格式115
5.5.2 协处理器的load/store——立即数偏移116
5.5.3 协处理器的load/store——立即数的前变址寻址117
5.5.4 协处理器的load/store——立即数的后变址寻址118
5.5.5 协处理器的load/store——无索引119
5.6 本章小结119
第6章 编译和链接120
6.1 ELF文件结构描述122
6.2 段表128
6.3 符号表结构133
6.4 存储空间分配138
6.4.1 简单的存储布局138
6.4.2 实际采用的空间布局139
6.5 重定位信息140
6.5.1 重定位表项140
6.5.2 重定位类型142
6.6 静态链接和重定位143
6.6.1 符号和符号表144
6.6.2 符号解析145
6.6.3 重定位146
6.7 本章小结150
第7章 链接脚本151
7.1 链接脚本的基本概念152
7.2 链接脚本格式152
7.3 简单的链接脚本示例153
7.4 简单的链接脚本命令154
7.4.1 入口点154
7.4.2 文件命令155
7.4.3 格式命令156
7.4.4 区域别名157
7.4.5 杂类命令159
7.5 为符号分配值160
7.5.1 简单的分配161
7.5.2 HIDDEN161
7.5.3 PROVIDE162
7.5.4 PROVIDE HIDDEN162
7.5.5 源代码引用162
7.6 段命令164
7.6.1 输出段描述164
7.6.2 输出段名称165
7.6.3 输出段地址165
7.6.4 输入段描述166
7.6.5 输出段数据171
7.6.6 输出段关键字172
7.6.7 输出段丢弃172
7.6.8 输出段属性172
7.6.9 覆盖描述175
7.7 内存命令177
7.8 链接脚本的表达式178
7.8.1 常量178
7.8.2 符号常量179
7.8.3 符号名称179
7.8.4 孤立的段179
7.8.5 位置计数器180
7.8.6 运算符182
7.8.7 赋值183
7.8.8 内建函数183
7.9 本章小结187
第8章 Linux下开发流水灯188
8.1 GNU ARM汇编简介188
8.2 流水灯的硬件描述191
8.3 流水灯的汇编实现193
8.4 流水灯的编译和链接195
8.5 本章小结196
第9章 U-Boot代码的分析197
9.1 U-Boot简介197
9.2 U-Boot目录结构198
9.3 U-Boot配置和编译200
9.4 U-Boot代码分析207
9.4.1 SPL代码追踪208
9.4.2 U-Boot代码追踪233
9.5 本章小结245
第10章 实现简单的BootLoader246
10.1 STM32下的BootLoader设计246
10.2 硬件平台pcDuino简介251
10.2.1 pcDuino nano配置252
10.2.2 pcDuino nano的接口和外设253
10.2.3 平台和主芯片介绍254
10.3 三种方式实现代码复制和跳转255
10.3.1 方式一255
10.3.2 方式二258
10.3.3 方式三259
10.4 实现BootLoader261
10.4.1 广义上的BootLoader261
10.4.2 如何引导Linux264
10.4.3 引导代码实现266
10.4.4 BootLoader引导Linux总结267
10.5 本章小结267