logo资料库

嵌入式 Linux 系统开发技术详解--基于 ARM(完整版).pdf

第1页 / 共406页
第2页 / 共406页
第3页 / 共406页
第4页 / 共406页
第5页 / 共406页
第6页 / 共406页
第7页 / 共406页
第8页 / 共406页
资料共406页,剩余部分请下载后查看
目录
前言
第1章 概述 
1.1 嵌入式系统 
1.2 嵌入式操作系统 
1.3 嵌入式Linux历史 
1.4 嵌入式Linux开发环境 
1.5 嵌入式Linux系统开发要点 
第2章 ARM处理器 
2.1 ARM处理器简介 
2.1.1 ARM公司简介 
2.1.2 ARM处理器体系结构 
2.1.3 Linux与ARM处理器 
2.2 ARM指令集 
2.2.1 ARM微处理器的指令集概述 
2.2.2 ARM指令寻址方式 
2.2.3 Thumb指令概述 
2.3 典型ARM处理器简介 
2.3.1 Atmel AT91RM9200 
2.3.2 Samsung S3C2410 
2.3.3 TI OMAP1510/1610系列 
2.3.4 Freescale i.Max21 
2.3.5 Intel Xscale PXA系列 
2.4 三星S3C2410开发板 
2.4.1 三星S3C2410开发板介绍 
2.4.2 众多的开发板供应商 
第3章 Linux编程环境 
3.1 Linux常用工具 
3.1.1 Shell简介 
3.1.2 常用Shell命令 
3.1.3 编写Shell脚本 
3.1.4 正则表达式 
3.1.5 程序编辑器 
3.2 Makefile 
3.2.1 GNU make 
3.2.2 Makefile规则语法 
3.2.3 Makefile文件中变量的使用 
3.3 二进制代码工具的使用 
3.3.1 GNU Binutils工具介绍 
3.3.2 Binutils工具软件使用 
3.4 编译器GCC的使用 
3.4.1 GCC编译器介绍 
3.4.2 GCC编译选项解析 
3.5 调试器GDB的使用技巧 
3.5.1 GDB调试器介绍 
3.5.2 GDB调试命令 
3.6 Linux编程库 
3.6.1 Linux编程库介绍 
3.6.2 Linux系统调用 
3.6.3 Linux线程库 
第4章 交叉开发环境 
4.1 交叉开发环境介绍 
4.1.1 交叉开发概念模型 
4.1.2 目标板与主机之间的连接 
4.1.3 文件传输 
4.1.4 网络文件系统 
4.2 安装交叉编译工具 
4.2.1 获取交叉开发工具链 
4.2.2 主机安装工具链 
4.3 主机开发环境配置 
4.3.1 主机环境配置 
4.3.2 串口控制台工具 
4.3.3 DHCP服务 
4.3.4 TFTP服务 
4.3.5 NFS服务 
4.4 启动目标板 
4.4.1 系统引导过程 
4.4.2 内核解压启动 
4.4.3 挂接根文件系统 
4.5 应用程序的远程交叉调试 
4.5.1 交叉调试的模型 
4.5.2 交叉调试程序实例 
第5章 交叉开发工具链 
5.1 工具链软件 
5.1.1 相关软件工程 
5.1.2 软件版本的匹配 
5.1.3 工具链制作流程 
5.2 制作交叉编译器 
5.2.1 准备编译环境 
5.2.2 编译binutils 
5.2.3 编译GCC的辅助编译器 
5.2.4 编译生成glibc库 
5.2.5 编译生成完整的GCC编译器 
5.3 制作交叉调试器 
5.3.1 编译交叉调试器 
5.3.2 编译gdbserver 
第6章 Bootloader 
6.1 Bootloader 
6.1.1 Bootloader介绍 
6.1.2 Bootloader的启动 
6.1.3 Bootloader的种类 
6.2 U-Boot编程 
6.2.1 U-Boot工程简介 
6.2.2 U-Boot源码结构 
6.2.3 U-Boot的编译 
6.2.4 U-Boot的移植 
6.2.5 添加U-Boot命令 
6.3 U-Boot的调试 
6.3.1 硬件调试器 
6.3.2 软件跟踪 
6.3.3 U-Boot启动过程 
6.3.4 U-Boot与内核的关系 
6.4 使用U-Boot 
6.4.1 烧写U-Boot到Flash 
6.4.2 U-Boot的常用命令 
6.4.3 U-Boot的环境变量 
第7章 配置编译内核 
7.1 Linux内核特点 
7.1.1 Linux内核版本介绍 
7.1.2 Linux内核特点 
7.1.3 Linux 2.6内核新特性 
7.2 配置编译内核源码 
7.2.1 内核源码结构 
7.2.2 内核配置系统 
7.2.3 Kbuild Makefile 
7.2.4 内核编译 
7.2.5 内核编译结果 
7.3 内核配置选项 
7.3.1 使用配置菜单 
7.3.2 基本配置选项 
7.3.3 驱动程序配置选项 
第8章 内核移植浅析 
8.1 移植内核源码 
8.1.1 移植前的准备工作 
8.1.2 开发板内核移植 
8.1.3 移植后的工作 
8.2 Linux内核启动过程分析 
8.2.1 内核启动流程源代码分析 
8.2.2 内核自引导程序 
8.2.3 内核vmlinux入口 
8.2.4 Linux系统初始化 
8.2.5 挂接根文件系统 
8.2.6 初始化设备驱动 
8.2.7 启动用户空间init进程 
第9章 内核调试技术 
9.1 内核调试方法 
9.1.1 内核调试概述 
9.1.2 学会分析内核源程序 
9.1.3 调试方法介绍 
9.2 内核打印函数 
9.2.1 内核映像解压前的串口输出函数 
9.2.2 内核错误报告子程序 
9.2.3 内核打印函数 
9.3 获取内核信息 
9.3.1 系统请求键 
9.3.2 通过/proc接口 
9.3.3 通过/sys接口 
9.3.4 通过ioctl方法 
9.4 处理出错信息 
9.4.1 oops信息 
9.4.2 panic 
9.5 内核源码调试 
9.5.1 KGDB调试内核源代码 
9.5.2 BDI2000调试内核源代码 
第10章 制作Linux根文件系统 
10.1 根文件系统目录结构 
10.1.1 FHS目录结构 
10.1.2 文件存放规则 
10.2 添加系统文件 
10.2.1 添加共享链接库 
10.2.2 添加内核模块 
10.2.3 添加设备文件 
10.3 init系统初始化过程 
10.3.1 inittab文件 
10.3.2 System V init启动过程 
10.3.3 Busybox init启动过程分析 
10.4 定制文件系统 
10.4.1 定制应用程序 
10.4.2 配置应用程序自动启动 
第11章 充分利用开源软件 
11.1 开放源代码工程介绍 
11.1.1 Linux系统和开源软件 
11.1.2 开源软件的特点 
11.2 Busybox使用 
11.2.1 Busybox工程介绍 
11.2.2 配置编译Busybox 
11.3 X11图形系统 
11.3.1 X Windows介绍 
11.3.2 Tiny-X介绍 
11.3.3 GTK图形库 
11.4 Qt图形库 
11.4.1 Qt介绍 
11.4.2 Qt/Embedded介绍 
11.4.3 Qt/Embedded架构 
11.4.4 Qt/Embedded软件包与安装 
11.5 MiniGUI图形系统 
11.5.1 MiniGUI图形系统概述 
11.5.2 MiniGUI移植 
11.6 MicroWindows图形系统 
11.7 Linux下的网络应用 
11.7.1 嵌入式设备的网络化 
11.7.2 TCP/IP协议概述 
11.7.3 Linux下的Socket编程 
11.8 嵌入式Linux的串行通信 
11.8.1 Linux下的串口操作 
11.8.2 Linux串口编程实例 
第12章 系统集成测试 
12.1 系统集成测试 
12.1.1 系统集成测试概述 
12.1.2 系统集成测试要求 
12.2 系统跟踪工具 
12.2.1 为什么需要跟踪工具 
12.2.2 Strace 
12.2.3 Ltrace 
12.2.4 LTT 
12.3 系统性能测量工具 
12.3.1 代码效率测量 
12.3.2 LTP 
12.3.3 LMbench 
12.4 测量内存泄漏 
12.4.1 mtrace 
12.4.2 dmalloc 
12.4.3 memwatch 
12.4.4 YAMD 
第13章 部署Linux系统 
13.1 部署Linux系统概述 
13.1.1 部署Linux系统的基本流程 
13.1.2 部署Linux系统的关键问题 
13.2 文件系统类型 
13.2.1 EXT2/EXT3 
13.2.2 JFS 
13.2.3 cramfs 
13.2.4 JFFS/JFFS2 
13.2.5 YAFFS 
13.3 存储设备 
13.3.1 MTD类型设备 
13.3.2 磁盘类型设备 
13.4 部署Linux系统 
13.4.1 安装MTD工具 
13.4.2 使用磁盘文件系统 
13.4.3 使用RAMDISK设备 
13.4.4 使用MTD设备和JFFS2文件系统 
13.4.5 系统启动和升级 
第14章 系统设计开发实例 
14.1 需求分析 
14.2 系统硬件设计 
14.3 系统软件设计 
14.4 系统集成与部署 
目 录 第 1 章 概述.................................................................................................................................... 1 1.1 嵌入式系统....................................................................................................................... 1 1.2 嵌入式操作系统............................................................................................................... 2 1.3 嵌入式 Linux 历史 ........................................................................................................... 4 1.4 嵌入式 Linux 开发环境 ................................................................................................... 5 1.5 嵌入式 Linux 系统开发要点 ........................................................................................... 7 第 2 章 ARM 处理器....................................................................................................................... 8 2.1 ARM 处理器简介............................................................................................................. 8 2.1.1 ARM 公司简介...................................................................................................... 9 2.1.2 ARM 处理器体系结构........................................................................................ 10 2.1.3 Linux 与 ARM 处理器 ........................................................................................ 12 2.2 ARM 指令集................................................................................................................... 13 2.2.1 ARM 微处理器的指令集概述............................................................................ 13 2.2.2 ARM 指令寻址方式............................................................................................ 15 2.2.3 Thumb 指令概述 ................................................................................................. 17 2.3 典型 ARM 处理器简介.................................................................................................. 17 2.3.1 Atmel AT91RM9200............................................................................................ 17 2.3.2 Samsung S3C2410 ............................................................................................... 18 2.3.3 TI OMAP1510/1610 系列 ................................................................................... 19 2.3.4 Freescale i.Max21 ................................................................................................ 22 2.3.5 Intel Xscale PXA 系列......................................................................................... 23 2.4 三星 S3C2410 开发板.................................................................................................... 24 2.4.1 三星 S3C2410 开发板介绍................................................................................. 24 2.4.2 众多的开发板供应商.......................................................................................... 26 第 3 章 Linux 编程环境................................................................................................................ 28
║2 嵌入式 系统开发技术详解——基于ARM 3.1 Linux 常用工具 .............................................................................................................. 28 3.1.1 Shell 简介 ............................................................................................................ 28 3.1.2 常用 Shell 命令.................................................................................................... 30 3.1.3 编写 Shell 脚本.................................................................................................... 38 3.1.4 正则表达式.......................................................................................................... 42 3.1.5 程序编辑器.......................................................................................................... 44 3.2 Makefile .......................................................................................................................... 48 3.2.1 GNU make ........................................................................................................... 48 3.2.2 Makefile 规则语法 .............................................................................................. 49 3.2.3 Makefile 文件中变量的使用 .............................................................................. 51 3.3 二进制代码工具的使用................................................................................................. 52 3.3.1 GNU Binutils 工具介绍....................................................................................... 52 3.3.2 Binutils 工具软件使用 ........................................................................................ 54 3.4 编译器 GCC 的使用....................................................................................................... 54 3.4.1 GCC 编译器介绍................................................................................................. 54 3.4.2 GCC 编译选项解析............................................................................................. 56 3.5 调试器 GDB 的使用技巧 .............................................................................................. 60 3.5.1 GDB 调试器介绍 ................................................................................................ 60 3.5.2 GDB 调试命令 .................................................................................................... 61 3.6 Linux 编程库 .................................................................................................................. 66 3.6.1 Linux 编程库介绍 ............................................................................................... 66 3.6.2 Linux 系统调用 ................................................................................................... 67 3.6.3 Linux 线程库 ....................................................................................................... 70 第 4 章 交叉开发环境.................................................................................................................. 73 4.1 交叉开发环境介绍......................................................................................................... 73 4.1.1 交叉开发概念模型.............................................................................................. 73 4.1.2 目标板与主机之间的连接.................................................................................. 75 4.1.3 文件传输.............................................................................................................. 76 4.1.4 网络文件系统...................................................................................................... 77 4.2 安装交叉编译工具......................................................................................................... 78 4.2.1 获取交叉开发工具链.......................................................................................... 78 4.2.2 主机安装工具链.................................................................................................. 79 4.3 主机开发环境配置......................................................................................................... 80 4.3.1 主机环境配置...................................................................................................... 80 4.3.2 串口控制台工具.................................................................................................. 81 4.3.3 DHCP 服务.......................................................................................................... 84 4.3.4 TFTP 服务 ........................................................................................................... 85 4.3.5 NFS 服务 ............................................................................................................. 86
第 1 章 目录 3 ║ 4.4 启动目标板..................................................................................................................... 88 4.4.1 系统引导过程...................................................................................................... 88 4.4.2 内核解压启动...................................................................................................... 89 4.4.3 挂接根文件系统.................................................................................................. 90 4.5 应用程序的远程交叉调试............................................................................................. 91 4.5.1 交叉调试的模型.................................................................................................. 91 4.5.2 交叉调试程序实例.............................................................................................. 92 第 5 章 交叉开发工具链.............................................................................................................. 94 5.1 工具链软件..................................................................................................................... 94 5.1.1 相关软件工程...................................................................................................... 94 5.1.2 软件版本的匹配.................................................................................................. 95 5.1.3 工具链制作流程.................................................................................................. 97 5.2 制作交叉编译器............................................................................................................. 98 5.2.1 准备编译环境...................................................................................................... 98 5.2.2 编译 binutils......................................................................................................... 99 5.2.3 编译 GCC 的辅助编译器.................................................................................. 100 5.2.4 编译生成 glibc 库.............................................................................................. 101 5.2.5 编译生成完整的 GCC 编译器.......................................................................... 105 5.3 制作交叉调试器........................................................................................................... 106 5.3.1 编译交叉调试器................................................................................................ 106 5.3.2 编译 gdbserver................................................................................................... 106 第 6 章 Bootloader ...................................................................................................................... 108 6.1 Bootloader ..................................................................................................................... 108 6.1.1 Bootloader 介绍................................................................................................. 108 6.1.2 Bootloader 的启动............................................................................................. 109 6.1.3 Bootloader 的种类..............................................................................................111 6.2 U-Boot 编程...................................................................................................................113 6.2.1 U-Boot 工程简介................................................................................................113 6.2.2 U-Boot 源码结构................................................................................................113 6.2.3 U-Boot 的编译....................................................................................................114 6.2.4 U-Boot 的移植....................................................................................................117 6.2.5 添加 U-Boot 命令...............................................................................................118 6.3 U-Boot 的调试.............................................................................................................. 121 6.3.1 硬件调试器........................................................................................................ 121 6.3.2 软件跟踪............................................................................................................ 121 6.3.3 U-Boot 启动过程............................................................................................... 123 6.3.4 U-Boot 与内核的关系....................................................................................... 128
║4 嵌入式 系统开发技术详解——基于ARM 6.4 使用 U-Boot.................................................................................................................. 133 6.4.1 烧写 U-Boot 到 Flash ........................................................................................ 134 6.4.2 U-Boot 的常用命令........................................................................................... 134 6.4.3 U-Boot 的环境变量........................................................................................... 141 第 7 章 配置编译内核................................................................................................................ 143 7.1 Linux 内核特点 ............................................................................................................ 143 7.1.1 Linux 内核版本介绍 ......................................................................................... 143 7.1.2 Linux 内核特点 ................................................................................................. 143 7.1.3 Linux 2.6 内核新特性 ....................................................................................... 144 7.2 配置编译内核源码....................................................................................................... 147 7.2.1 内核源码结构.................................................................................................... 148 7.2.2 内核配置系统.................................................................................................... 150 7.2.3 Kbuild Makefile ................................................................................................. 157 7.2.4 内核编译............................................................................................................ 169 7.2.5 内核编译结果.................................................................................................... 179 7.3 内核配置选项............................................................................................................... 180 7.3.1 使用配置菜单.................................................................................................... 180 7.3.2 基本配置选项.................................................................................................... 181 7.3.3 驱动程序配置选项............................................................................................ 183 第 8 章 内核移植浅析................................................................................................................ 185 8.1 移植内核源码............................................................................................................... 185 8.1.1 移植前的准备工作............................................................................................ 185 8.1.2 开发板内核移植................................................................................................ 186 8.1.3 移植后的工作.................................................................................................... 194 8.2 Linux 内核启动过程分析 ............................................................................................ 194 8.2.1 内核启动流程源代码分析................................................................................ 194 8.2.2 内核自引导程序................................................................................................ 195 8.2.3 内核 vmlinux 入口 ............................................................................................ 199 8.2.4 Linux 系统初始化 ............................................................................................. 201 8.2.5 挂接根文件系统................................................................................................ 206 8.2.6 初始化设备驱动................................................................................................ 208 8.2.7 启动用户空间 init 进程..................................................................................... 209 第 9 章 内核调试技术................................................................................................................ 212 9.1 内核调试方法............................................................................................................... 212 9.1.1 内核调试概述.................................................................................................... 212 9.1.2 学会分析内核源程序........................................................................................ 213
第 1 章 目录 5 ║ 9.1.3 调试方法介绍.................................................................................................... 213 9.2 内核打印函数............................................................................................................... 216 9.2.1 内核映像解压前的串口输出函数.................................................................... 216 9.2.2 内核错误报告子程序........................................................................................ 218 9.2.3 内核打印函数.................................................................................................... 220 9.3 获取内核信息............................................................................................................... 227 9.3.1 系统请求键........................................................................................................ 227 9.3.2 通过/proc 接口................................................................................................... 228 9.3.3 通过/sys 接口..................................................................................................... 229 9.3.4 通过 ioctl 方法................................................................................................... 232 9.4 处理出错信息............................................................................................................... 233 9.4.1 oops 信息 ........................................................................................................... 233 9.4.2 panic ................................................................................................................... 234 9.5 内核源码调试............................................................................................................... 236 9.5.1 KGDB 调试内核源代码.................................................................................... 236 9.5.2 BDI2000 调试内核源代码................................................................................ 237 第 10 章 制作 Linux 根文件系统............................................................................................... 242 10.1 根文件系统目录结构................................................................................................. 242 10.1.1 FHS 目录结构 ................................................................................................. 243 10.1.2 文件存放规则.................................................................................................. 246 10.2 添加系统文件............................................................................................................. 247 10.2.1 添加共享链接库.............................................................................................. 247 10.2.2 添加内核模块.................................................................................................. 249 10.2.3 添加设备文件.................................................................................................. 251 10.3 init 系统初始化过程 .................................................................................................. 253 10.3.1 inittab 文件....................................................................................................... 253 10.3.2 System V init 启动过程................................................................................... 256 10.3.3 Busybox init 启动过程分析 ............................................................................ 258 10.4 定制文件系统............................................................................................................. 260 10.4.1 定制应用程序.................................................................................................. 260 10.4.2 配置应用程序自动启动.................................................................................. 260 第 11 章 充分利用开源软件...................................................................................................... 262 11.1 开放源代码工程介绍................................................................................................. 262 11.1.1 Linux 系统和开源软件 ................................................................................... 263 11.1.2 开源软件的特点.............................................................................................. 264 11.2 Busybox 使用.............................................................................................................. 265 11.2.1 Busybox 工程介绍........................................................................................... 265
║6 嵌入式 系统开发技术详解——基于ARM 11.2.2 配置编译 Busybox........................................................................................... 265 11.3 X11 图形系统 ............................................................................................................. 270 11.3.1 X Windows 介绍.............................................................................................. 270 11.3.2 Tiny-X 介绍 ..................................................................................................... 270 11.3.3 GTK 图形库..................................................................................................... 271 11.4 Qt 图形库.................................................................................................................... 277 11.4.1 Qt 介绍............................................................................................................. 277 11.4.2 Qt/Embedded 介绍........................................................................................... 278 11.4.3 Qt/Embedded 架构........................................................................................... 280 11.4.4 Qt/Embedded 软件包与安装........................................................................... 281 11.5 MiniGUI 图形系统 ..................................................................................................... 283 11.5.1 MiniGUI 图形系统概述 .................................................................................. 283 11.5.2 MiniGUI 移植 .................................................................................................. 285 11.6 MicroWindows 图形系统 ........................................................................................... 290 11.7 Linux 下的网络应用 .................................................................................................. 292 11.7.1 嵌入式设备的网络化...................................................................................... 292 11.7.2 TCP/IP 协议概述............................................................................................. 292 11.7.3 Linux 下的 Socket 编程 .................................................................................. 294 11.8 嵌入式 Linux 的串行通信 ......................................................................................... 304 11.8.1 Linux 下的串口操作 ....................................................................................... 304 11.8.2 Linux 串口编程实例 ....................................................................................... 309 第 12 章 系统集成测试.............................................................................................................. 314 12.1 系统集成测试............................................................................................................. 314 12.1.1 系统集成测试概述.......................................................................................... 314 12.1.2 系统集成测试要求.......................................................................................... 315 12.2 系统跟踪工具............................................................................................................. 315 12.2.1 为什么需要跟踪工具...................................................................................... 315 12.2.2 Strace ................................................................................................................ 316 12.2.3 Ltrace ............................................................................................................... 316 12.2.4 LTT ................................................................................................................... 317 12.3 系统性能测量工具..................................................................................................... 321 12.3.1 代码效率测量.................................................................................................. 321 12.3.2 LTP ................................................................................................................... 324 12.3.3 LMbench .......................................................................................................... 325 12.4 测量内存泄漏............................................................................................................. 326 12.4.1 mtrace ............................................................................................................... 326 12.4.2 dmalloc ............................................................................................................. 327 12.4.3 memwatch ........................................................................................................ 328
第 1 章 目录 7 ║ 12.4.4 YAMD .............................................................................................................. 330 第 13 章 部署 Linux 系统........................................................................................................... 333 13.1 部署 Linux 系统概述 ................................................................................................. 333 13.1.1 部署 Linux 系统的基本流程 .......................................................................... 333 13.1.2 部署 Linux 系统的关键问题 .......................................................................... 334 13.2 文件系统类型............................................................................................................. 335 13.2.1 EXT2/EXT3 ..................................................................................................... 335 13.2.2 JFS .................................................................................................................... 337 13.2.3 cramfs ............................................................................................................... 339 13.2.4 JFFS/JFFS2 ...................................................................................................... 340 13.2.5 YAFFS .............................................................................................................. 341 13.3 存储设备..................................................................................................................... 343 13.3.1 MTD 类型设备................................................................................................ 343 13.3.2 磁盘类型设备.................................................................................................. 344 13.4 部署 Linux 系统 ......................................................................................................... 346 13.4.1 安装 MTD 工具............................................................................................... 346 13.4.2 使用磁盘文件系统.......................................................................................... 347 13.4.3 使用 RAMDISK 设备 ..................................................................................... 348 13.4.4 使用 MTD 设备和 JFFS2 文件系统............................................................... 349 13.4.5 系统启动和升级.............................................................................................. 351 第 14 章 系统设计开发实例...................................................................................................... 352 14.1 需求分析..................................................................................................................... 352 14.2 系统硬件设计............................................................................................................. 354 14.3 系统软件设计............................................................................................................. 364 14.4 系统集成与部署......................................................................................................... 366
前 言 随着 Linux 操作系统的发展,特别是 Linux 2.6 内核的迅速发展,嵌入式Linux 在嵌入式 领域的应用越来越广泛。Linux 具备源码开放、内核稳定高效、软件丰富等优势,而且还具 备支持广泛的处理器结构和硬件平台、可定制性好、可靠性高等特点。据 IDC 的报告显示, 嵌入式 Linux 在未来两年将占嵌入式操作系统市场份额的 50%,约 3.5 亿美元,由此产生的 应用市场前景更是不可估量。 正是由于市场的需求,嵌入式领域也需要大量的嵌入式 Linux 开发者。目前国内 Linux 程序员的素质和数量还不能满足企业的需要。 编写目的 大学计算机相关专业课程都已经包含计算机组成原理、计算机编程语言、计算机体系结 构、计算机操作系统,甚至还包括电子技术和半导体技术。尽管已经具备这些嵌入式 Linux 系统的基础知识,但是多数大学毕业生不清楚到底该如何开发嵌入式 Linux 系统。 编写本书的目的就是阐述嵌入式 Linux 系统的各组成部分,从概念上和实践上说明嵌入 式 Linux 系统开发的基本过程。这本书可以帮助具备计算机基础知识的开发者迅速进入嵌入 式系统开发领域。 希望本书能够帮助读者更好地理解嵌入式 Linux 系统,并且参与到嵌入式 Linux 系统开 发中来。 主要内容 本书以嵌入式 Linux 系统开发流程为主线,剖析了嵌入式 Linux 系统构建的各个环节。 从嵌入式系统基础知识和 Linux 编程技术讲起,接下来说明了建立嵌入式 Linux 交叉开发环 境,然后分析了嵌入式 Linux 系统的引导程序、内核和文件系统三大组成部分,最后介绍了 嵌入式 Linux 系统集成和部署的方法。 第 1 章介绍了嵌入式系统和嵌入式操作系统的概况,讲述了嵌入式 Linux 发展历史和开 发环境,概括说明了嵌入式 Linux 系统开发的特点。 第 2 章描述了 ARM 体系结构和 ARM Linux 的发展,介绍了几种应用 Linux 的典型 ARM 处理器和开发板。
分享到:
收藏