-
内容大纲
姜先刚、袁祖刚编著的《嵌入式Linux系统开发教程(高等院校嵌入式人才培养规划教材)》结合大量实例,在基于ARM Cortex-A9 四核处理器的硬件教学平台上,全面详细地讲解了ARM处理器及在其上的嵌入式Linux 系统开发。本书主要内容包括ARM 处理器及常用指令介绍,Linux 编程环境,交叉开发环境,Boot Loader 介绍U-Boot 启动过程及移植,Linux 内核配置、编译及Qt 移植等。其中移植相关的内容不仅给出了移植的方法和步骤,还讲解了为什么要这么做。重视实践,实用是本书的最大特点,同时,本书配合大量的习题,读者能快速地掌握嵌入式Linux 系统开发的要点。本书可作为大学院校电子、通信、计算机、自动化等专业的“嵌入式Linux 系统开发”课程的教材,也可作为嵌入式开发人员的参考用书。 -
作者介绍
-
目录
第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.2.4 Thumb-2 指令
2.2.5 ThumbEE 指令
2.3 典型ARM 处理器简介
2.3.1 Atmel AT91
2.3.2 Samsung S
2.3.3 TI OMAP5 系列
2.3.4 Freescale
2.3.5 Intel Xscale PXA 系列
2.3.6 Cortex-A 系列的Exyn
2.4 华清远见 FS4412 开发板
2.4.1 华清远见 FS4412 开发板介绍
2.4.2 众多的开发板供应商
2.5 习题
第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 Ma
3.2.1 GN
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 线程库
3.7 习题
第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 TFTP 服务
4.3.4 NFS 服务
4.4 启动目标板
4.4.1 系统引导过程
4.4.2 内核解压启动
4.4.3 挂接根文件系统
4.5 应用程序的远程交叉调试
4.5.1 交叉调试的模型
4.5.2 交叉调试程序实例
4.6 实例:FS4412 嵌入式开发环境搭建
4.6.1 开发主机安装
4.6.2 联调测试
4.7 习题
第5章 Bootl
5.1 Bootloader 简介
5.1.1 Bootloader 介绍
5.1.2 Bootloader 的启动
5.1.3 Bootloader 的种类
5.2 U-Boot 简介
5.2.1 U-Boot 介绍
5.2.2 U-Boot 的常用命令
5.2.3 U-Boot 的环境变量
5.2.4 U-Boot 源码结构
5.3 U-Boot 源码分析
5.3.1 配置编译
5.3.2 U-Boot 启动过程
5.3.3 U-Boot 与内核的关系
5.4 U-Boot 移植实例
5.4.1 收集移植相关资源
5.4.2 选择U-Boot 源码版本
5.4.3 u-Boot 配置编译
5.4.4 串口能输出信息
5.4.5 移植网卡实现Ping 和TFTP 的功能
5.5 习题
第6章 配置编译内核
6.1 Linux 内核特点
6.1.1 Linux 内核版本介绍
6.1.2 Linux 内核特点
6.2 配置编译内核源码
6.2.1 内核源码的下载方法和结构
6.2.2 内核配置系统
6.2.3 Kbuild Make
6.2.4 内核编译
6.2.5 内核编译结果
6.3 内核配置选项
6.3.1 使用配置菜单
6.3.2 基本配置选项
6.3.3 驱动程序配置选项
6.4 习题
第7章 内核移植基础
7.1 移植内核源码
7.1.1 移植的基本工作
7.1.2 移植后的工作
7.2 Linux 设备树
7.2.1 Linux 设备树的由来
7.2.2 Linux 设备树的目的
7.2.3 Linux 设备树的使用
7.3 Linux 内核启动过程分析
7.3.1 内核启动流程介绍
7.3.2 内核启动加载程序
7.3.3 内核主体程序入口
7.3.4 Linux 系统初始化
7.3.5 初始化驱动模型
7.3.6 挂载根文件系统
7.4 习题
第8章 内核移植实例
8.1 基本内核移植
8.2 网卡驱动移植
8.2.1 网卡原理图分析
8.2.2 网卡驱动移植
8.2.3 以NFS 挂载根文件系统
8.3 SD/eMMC 驱动移植
8.4 USB 主机控制器驱动移植
8.5 LCD 驱动移植
8.6 习题
第9章 内核调试技术
9.1 内核调试方法
9.1.1 内核调试介绍
9.1.2 学会分析内核源程序
9.1.3 调试方法介绍
9.2 内核打印函数
9.2.1 内核映像解压前的串口输出函数
9.2.2 内核映像解压后的串口输出函数
9.2.3 p
9.3 获取内核信息
9.3.1 系统请求键
9.3.2 通过/proc 接口
9.3.3 通过/sys 接口
9.4 处理出错信息
9.4.1 oops 信息
9.4.2
9.4.3 通过ioctl 方法
9.5 内核源代码调试
9.6 习题
第10章 制作Linux 根文件系统
10.1 根文件系统目录结构
10.2 init 系统初始化过程
10.2.1 inittab 文件
10.2.2 System V init 启动过程
10.2.3 Busybox init 启动过程分析
10.3 制作根文件系统
10.3.1 配置并编译Bu
10.3.2 添加共享库文件和内核模块
10.3.3 添加其他目录和文件
10.4 固化根文件系统
10.4.1 制作image 格式的initrd 根文件系统镜像
10.4.2 固化ext2 格式的根文件系统
10.5 习题
第11章 Qt 移植
11.1 Qt 源码配置、编译及安装
11.2 在根文件系统中添加
11.3 安装Qt 集成开发环境
11.4 添加ARM 平台的构建环境
11.5 编写并运行Qt 测试程序
11.6 习题
参考文献
附录 习题答案
同类热销排行榜
- C语言与程序设计教程(高等学校计算机类十二五规划教材)16
- 电机与拖动基础(教育部高等学校自动化专业教学指导分委员会规划工程应用型自动化专业系列教材)13.48
- 传感器与检测技术(第2版高职高专电子信息类系列教材)13.6
- ASP.NET项目开发实战(高职高专计算机项目任务驱动模式教材)15.2
- Access数据库实用教程(第2版十二五职业教育国家规划教材)14.72
- 信号与系统(第3版下普通高等教育九五国家级重点教材)15.08
- 电气控制与PLC(普通高等教育十二五电气信息类规划教材)17.2
- 数字电子技术基础(第2版)17.36
- VB程序设计及应用(第3版十二五职业教育国家规划教材)14.32
- Java Web从入门到精通(附光盘)/软件开发视频大讲堂27.92
推荐书目
-
孩子你慢慢来/人生三书 华人世界率性犀利的一枝笔,龙应台独家授权《孩子你慢慢来》20周年经典新版。她的《...
-
时间简史(插图版) 相对论、黑洞、弯曲空间……这些词给我们的感觉是艰深、晦涩、难以理解而且与我们的...
-
本质(精) 改革开放40年,恰如一部四部曲的年代大戏。技术突变、产品迭代、产业升级、资本对接...