《嵌入式系统开发 基于ARM Cortex A8系统》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:刘小洋,李勇编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2017
  • ISBN:9787111583578
  • 页数:264 页
图书介绍:本书基于ARM Cortex A8系统介绍嵌入式开发,共8章,分为三部分:第一部分(第1章和第2章)介绍嵌入式系统的基础知识,第二部分(第3~6章)介绍嵌入式系统开发环境、嵌入式引导系统、嵌入式操作系统内核、嵌入式文件系统,第三部分(第7章和第8章)通过嵌入式驱动开发与嵌入式系统项目来论述嵌入式系统开发的方法论和开发过程。本书可作为工科类计算机、电子信息、通信工程、自动化等相关专业学生的教材,同时可供嵌入式技术开发人员参考。

第1章 嵌入式系统概述 1

1.1 嵌入式系统组成 1

1.1.1 硬件层 2

1.1.2 中间层 4

1.1.3 系统软件层 5

1.2 嵌入式开源系统 6

1.2.1 开源计算项目 6

1.2.2 开源嵌入式开发平台 6

第2章 嵌入式Linux操作系统 8

2.1 主流的嵌入式操作系统 8

2.1.1 VxWorks 8

2.1.2 Windows Embedded 8

2.1.3 嵌入式Linux 9

2.1.4 嵌入式实时内核μC/OS 9

2.2 嵌入式Linux操作系统简介 10

2.3 Linux操作系统实践 12

2.3.1 Linux系统 12

2.3.2 基于VMware安装RedHat Linux系统 13

2.3.3 全屏幕编辑器与vi 29

2.3.4 与网络相关的命令 32

2.3.5 软件包的安装与管理 37

第3章 嵌入式系统开发环境 47

3.1 Linux程序设计 47

3.1.1 GNUC编译器 47

3.1.2 GCC编译器 48

3.1.3 Makefile 52

3.1.4 用GDB调试程序 59

3.2 Linux shell编程 61

3.2.1 shell的种类和特点 62

3.2.2 shell程序与C语言 63

3.2.3 shell脚本的编写 66

3.2.4 shell与C语言的调用 66

3.3 嵌入式开发环境 67

3.3.1 嵌入式Linux开发环境搭建 68

3.3.2 交叉编译 70

3.3.3 交叉编译工具的分类和说明 71

3.3.4 宿主机交叉环境建立 71

3.4 基于非操作系统的实践 72

3.4.1 S5PV210硬件介绍 72

3.4.2 启动方式 73

3.4.3 S5PV210裸板启动 78

3.4.4 非操作系统的驱动 79

第4章 嵌入式引导系统 96

4.1 概述 96

4.1.1 BootLoader的种类 96

4.1.2 不同平台的开源项目 97

4.2 Linux系统引导过程与嵌入式引导过程的区别 99

4.2.1 Linux系统引导过程 99

4.2.2 嵌入式引导过程 103

4.2.3 引导系统启动方式 105

4.2.4 NOR Flash和NAND Flash启动过程的区别 106

4.3 U-Boot系统的实践 107

4.3.1 U-Boot的组成 107

4.3.2 定制S5PV210配置 110

4.3.3 编译U-Boot 110

4.3.4 编译过程分析 111

第5章 嵌入式操作系统内核 114

5.1 概述 114

5.2 嵌入式Linux内核实践 123

5.2.1 内核编程 123

5.2.2 嵌入式Linux内核移植实践 138

5.3 嵌入式Android内核移植实践 152

5.4 基于Android网关的驱动开发 161

5.4.1 LED灯控制的Android驱动开发 161

5.4.2 步进电机实验 163

5.4.3 三路继电器实验 166

第6章 嵌入式文件系统 168

6.1 概述 168

6.1.1 文件存储结构 168

6.1.2 inode示例 169

6.1.3 Linux文件类型 171

6.2 嵌入式根文件系统 171

6.2.1 基于Flash的文件系统 172

6.2.2 基于RAM的文件系统 174

6.3 嵌入式文件系统实践 175

6.3.1 BusyBox简化嵌入式Linux文件系统 175

6.3.2 BusyBox源码分析 175

6.3.3 基于S5PV210内核文件系统移植 176

第7章 嵌入式驱动开发 187

7.1 概述 187

7.1.1 嵌入式Linux的内核空间与用户空间 187

7.1.2 嵌入式Linux的设备管理 188

7.1.3 嵌入式Linux的驱动程序 190

7.1.4 嵌入式Linux驱动程序的加载方式 196

7.1.5 无操作系统时的设备驱动 196

7.1.6 有操作系统时的设备驱动 198

7.1.7 内核模块化编程 199

7.2 嵌入式驱动开发实践 207

7.2.1 嵌入式字符设备的驱动程序结构 207

7.2.2 设备号的申请和字符设备的注册 208

7.2.3 字符设备驱动程序重要的数据结构 209

7.2.4 字符设备驱动程序设计 211

7.3 嵌入式驱动开发案例 217

7.3.1 LED的驱动 217

7.3.2 LED驱动程序 218

7.3.3 ADC转换驱动 223

7.4 嵌入式Qt驱动开发案例 228

7.4.1 Qt Creator简介 228

7.4.2 Qt Creator的安装和搭建 228

7.4.3 驱动程序分析 233

7.4.4 LED蜂鸣器控制驱动案例 234

7.4.5 步进电机控制驱动案例 238

7.4.6 继电器控制驱动案例 241

7.4.7 8×7矩阵键盘驱动案例 244

7.4.8 16×24点阵屏驱动案例 246

第8章 嵌入式综合项目案例 249

8.1 开源硬件pcDuino3的开发基础 249

8.1.1 通过VNC访问 pcDuino3桌面 249

8.1.2 基于pcDuino的编程 251

8.1.3 pcDuino BSP的开发 252

8.2 基于S5PV210的嵌入式无线路灯控制系统 259

8.2.1 项目背景 259

8.2.2 方案介绍 260

8.2.3 功能实现 261

8.2.4 后台控制系统 262

参考文献 264