嵌入式系统开发 / 高等学校物联网专业系列教材
定价:¥45.00
作者: 苗玉杰,刘洪涛,张芳等
出版时间:2023-12
最新印次日期:2023-12
出版社:中国铁道出版社
- 中国铁道出版社
- 9787113295790
- 1版
- 521431
- 49259203-5
- 16开
- 2023-12
- 工学
- 计算机类
- 电子与信息大类
- 计算机类
- 计算机类
- 本科
作者简介
内容简介
随着信息化、智能化、网络化的发展,嵌入式系统获得了广阔的发展空间。本书针对高等学校专业教学需要,结合作者多年教学经验和开发成果而编写,以Exynos4412微处理器为核心,按照嵌入式系统的开发流程,循序渐进地论述了基于ARM架构的嵌入式Linux开发技术。本书主要内容包括嵌入式系统基础,ARM架构与汇编指令,中断、异常和U-boot,ARM裸机开发,内核模块,字符设备驱动,Linux设备树,内核中断编程,高级I/O操作,Linux设备驱动模型,Qt移植与开发,综合实例等。对于操作性强的章节,配有实验,各章均设置了丰富的习题。
本书编写注重校企合作,选用了华清远见教育科技集团提供的教学案例。除此之外,本书还提供了教学课件、源代码、文档资料、实验视频等教学资源。
本书适合作为普通高等院校计算机、电子信息和物联网等本科专业嵌入式系统课程教材,也可作为嵌入式领域相关工作人员的参考书。
本书编写注重校企合作,选用了华清远见教育科技集团提供的教学案例。除此之外,本书还提供了教学课件、源代码、文档资料、实验视频等教学资源。
本书适合作为普通高等院校计算机、电子信息和物联网等本科专业嵌入式系统课程教材,也可作为嵌入式领域相关工作人员的参考书。
目录
第1章嵌入式系统基础................................................................................1
1.1嵌入式系统概述................................................................................................................1
1.1.1嵌入式系统的概念.............................................................................................................1
1.1.2嵌入式系统应用领域.........................................................................................................2
1.2嵌入式系统组成................................................................................................................2
1.2.1嵌入式系统硬件.................................................................................................................2
1.2.2嵌入式系统软件.................................................................................................................3
1.3嵌入式操作系统................................................................................................................3
1.4我国嵌入式系统的发展....................................................................................................5
1.5嵌入式系统开发模式及流程............................................................................................6
1.5.1嵌入式系统开发模式.........................................................................................................6
1.5.2嵌入式系统开发流程.........................................................................................................6
实验1交叉编译环境搭建......................................................................................................7
习题1..........................................................................................................................................9
第2章ARM架构与汇编指令.....................................................................11
2.1ARM处理器简介............................................................................................................11
2.1.1ARM公司简介................................................................................................................11
2.1.2ARM架构........................................................................................................................12
2.2ARM工作模式及寄存器................................................................................................14
2.2.1ARM工作模式................................................................................................................14
2.2.2ARM寄存器组织............................................................................................................15
2.3ARM汇编指令................................................................................................................18
实验2汇编程序点亮LED灯..............................................................................................24
习题2........................................................................................................................................26
第3章中断、异常和U-boot......................................................................31
3.1中断和异常概述..............................................................................................................31
3.2Bootloader操作模式及种类.............................................................................................34
3.2.1Bootloader概述..................................................................................................................34
3.2.2Bootloader操作模式..........................................................................................................35
3.2.3Bootloader的种类..............................................................................................................35
3.2.4U-Boot概述........................................................................................................................36
实验3U-Boot移植和SD启动卡制作..................................................................................39
习题3..........................................................................................................................................42
第4章ARM裸机开发..................................................................................44
4.1GPIO裸机开发.................................................................................................................44
4.1.1裸机开发步骤.....................................................................................................................44
4.1.2GPIO应用实例..................................................................................................................45
4.2通用异步收发器................................................................................................................48
4.2.1通用异步收发器简介.........................................................................................................48
4.2.2Exynos4412-UART控制器...............................................................................................49
4.2.3UART寄存器.....................................................................................................................50
4.2.4UART接口应用实例.........................................................................................................51
4.3中断裸机编程....................................................................................................................54
4.3.1ARM中断控制器简介.......................................................................................................54
4.3.2中断源和中断号.................................................................................................................55
4.3.3Exynos4412中断相关寄存器............................................................................................55
4.3.4GIC中断应用实例.............................................................................................................59
习题4..........................................................................................................................................62
第5章内核模块...........................................................................................64
5.1内模概述............................................................................................................................64
5.2一个简单的内核模块........................................................................................................65
5.2.1编写一个简单的内核模块.................................................................................................65
5.2.2编译内核模块.....................................................................................................................66
5.3多个源文件编译生成一个内核模块................................................................................68
5.4内核模块参数....................................................................................................................69
5.5内核模块依赖....................................................................................................................71
实验4Linux内核移植...........................................................................................................73
习题5..........................................................................................................................................75
第6章字符设备驱动...................................................................................77
6.1Linux系统设备概述.........................................................................................................77
6.2字符设备驱动编程............................................................................................................78
6.2.1字符设备驱动实例.............................................................................................................79
6.2.2测试字符设备驱动.............................................................................................................83
6.2.3设备读/写操作.................................................................................................................84
6.2.4I/O内存..............................................................................................................................86
6.3ioctl.....................................................................................................................................89
实验5根文件系统制作..........................................................................................................93
习题6..........................................................................................................................................97
第7章Linux设备树...................................................................................100
7.1为何使用Linux设备树..................................................................................................100
7.2Linux设备树基本知识...................................................................................................101
7.2.1设备树基本概念...............................................................................................................101
7.2.2设备树语法.......................................................................................................................101
7.2.3内核设备树访问函数.......................................................................................................105
7.3基于设备树的LED驱动................................................................................................106
实验6字符设备驱动............................................................................................................110
习题7........................................................................................................................................111
第8章内核中断编程.................................................................................113
8.1按键中断编程..................................................................................................................113
8.2中断下半部......................................................................................................................119
8.2.1tasklet................................................................................................................................119
8.2.2工作队列...........................................................................................................................121
习题8........................................................................................................................................123
第9章高级I/O操作..................................................................................124
9.1非阻塞I/O.......................................................................................................................124
9.2阻塞I/O...........................................................................................................................125
9.3I/O多路复用...................................................................................................................127
9.4异步通知..........................................................................................................................130
习题9........................................................................................................................................132
第10章Linux设备驱动模型......................................................................134
10.1设备驱动模型................................................................................................................134
10.2平台总线........................................................................................................................140
10.3使用设备树的LED平台驱动........................................................................................146
实验7平台设备驱动实验....................................................................................................148
习题10......................................................................................................................................150
第11章Qt移植与开发...............................................................................151
11.1Qt移植与集成开发环境安装........................................................................................151
11.1.1Qt移植............................................................................................................................151
11.1.2Qt集成开发环境............................................................................................................153
11.2编写并运行Qt程序......................................................................................................156
11.2.1创建Qt项目...................................................................................................................156
11.2.2Qt程序实例....................................................................................................................158
习题11......................................................................................................................................161
第12章综合实例.......................................................................................162
12.1DHT11工作原理...........................................................................................................162
12.2DHT11驱动编程...........................................................................................................163
12.3DHT11应用程序...........................................................................................................170
12.3.1C应用程序.....................................................................................................................170
12.3.2Qt应用程序....................................................................................................................172
参考文献.......................................................................................................176
1.1嵌入式系统概述................................................................................................................1
1.1.1嵌入式系统的概念.............................................................................................................1
1.1.2嵌入式系统应用领域.........................................................................................................2
1.2嵌入式系统组成................................................................................................................2
1.2.1嵌入式系统硬件.................................................................................................................2
1.2.2嵌入式系统软件.................................................................................................................3
1.3嵌入式操作系统................................................................................................................3
1.4我国嵌入式系统的发展....................................................................................................5
1.5嵌入式系统开发模式及流程............................................................................................6
1.5.1嵌入式系统开发模式.........................................................................................................6
1.5.2嵌入式系统开发流程.........................................................................................................6
实验1交叉编译环境搭建......................................................................................................7
习题1..........................................................................................................................................9
第2章ARM架构与汇编指令.....................................................................11
2.1ARM处理器简介............................................................................................................11
2.1.1ARM公司简介................................................................................................................11
2.1.2ARM架构........................................................................................................................12
2.2ARM工作模式及寄存器................................................................................................14
2.2.1ARM工作模式................................................................................................................14
2.2.2ARM寄存器组织............................................................................................................15
2.3ARM汇编指令................................................................................................................18
实验2汇编程序点亮LED灯..............................................................................................24
习题2........................................................................................................................................26
第3章中断、异常和U-boot......................................................................31
3.1中断和异常概述..............................................................................................................31
3.2Bootloader操作模式及种类.............................................................................................34
3.2.1Bootloader概述..................................................................................................................34
3.2.2Bootloader操作模式..........................................................................................................35
3.2.3Bootloader的种类..............................................................................................................35
3.2.4U-Boot概述........................................................................................................................36
实验3U-Boot移植和SD启动卡制作..................................................................................39
习题3..........................................................................................................................................42
第4章ARM裸机开发..................................................................................44
4.1GPIO裸机开发.................................................................................................................44
4.1.1裸机开发步骤.....................................................................................................................44
4.1.2GPIO应用实例..................................................................................................................45
4.2通用异步收发器................................................................................................................48
4.2.1通用异步收发器简介.........................................................................................................48
4.2.2Exynos4412-UART控制器...............................................................................................49
4.2.3UART寄存器.....................................................................................................................50
4.2.4UART接口应用实例.........................................................................................................51
4.3中断裸机编程....................................................................................................................54
4.3.1ARM中断控制器简介.......................................................................................................54
4.3.2中断源和中断号.................................................................................................................55
4.3.3Exynos4412中断相关寄存器............................................................................................55
4.3.4GIC中断应用实例.............................................................................................................59
习题4..........................................................................................................................................62
第5章内核模块...........................................................................................64
5.1内模概述............................................................................................................................64
5.2一个简单的内核模块........................................................................................................65
5.2.1编写一个简单的内核模块.................................................................................................65
5.2.2编译内核模块.....................................................................................................................66
5.3多个源文件编译生成一个内核模块................................................................................68
5.4内核模块参数....................................................................................................................69
5.5内核模块依赖....................................................................................................................71
实验4Linux内核移植...........................................................................................................73
习题5..........................................................................................................................................75
第6章字符设备驱动...................................................................................77
6.1Linux系统设备概述.........................................................................................................77
6.2字符设备驱动编程............................................................................................................78
6.2.1字符设备驱动实例.............................................................................................................79
6.2.2测试字符设备驱动.............................................................................................................83
6.2.3设备读/写操作.................................................................................................................84
6.2.4I/O内存..............................................................................................................................86
6.3ioctl.....................................................................................................................................89
实验5根文件系统制作..........................................................................................................93
习题6..........................................................................................................................................97
第7章Linux设备树...................................................................................100
7.1为何使用Linux设备树..................................................................................................100
7.2Linux设备树基本知识...................................................................................................101
7.2.1设备树基本概念...............................................................................................................101
7.2.2设备树语法.......................................................................................................................101
7.2.3内核设备树访问函数.......................................................................................................105
7.3基于设备树的LED驱动................................................................................................106
实验6字符设备驱动............................................................................................................110
习题7........................................................................................................................................111
第8章内核中断编程.................................................................................113
8.1按键中断编程..................................................................................................................113
8.2中断下半部......................................................................................................................119
8.2.1tasklet................................................................................................................................119
8.2.2工作队列...........................................................................................................................121
习题8........................................................................................................................................123
第9章高级I/O操作..................................................................................124
9.1非阻塞I/O.......................................................................................................................124
9.2阻塞I/O...........................................................................................................................125
9.3I/O多路复用...................................................................................................................127
9.4异步通知..........................................................................................................................130
习题9........................................................................................................................................132
第10章Linux设备驱动模型......................................................................134
10.1设备驱动模型................................................................................................................134
10.2平台总线........................................................................................................................140
10.3使用设备树的LED平台驱动........................................................................................146
实验7平台设备驱动实验....................................................................................................148
习题10......................................................................................................................................150
第11章Qt移植与开发...............................................................................151
11.1Qt移植与集成开发环境安装........................................................................................151
11.1.1Qt移植............................................................................................................................151
11.1.2Qt集成开发环境............................................................................................................153
11.2编写并运行Qt程序......................................................................................................156
11.2.1创建Qt项目...................................................................................................................156
11.2.2Qt程序实例....................................................................................................................158
习题11......................................................................................................................................161
第12章综合实例.......................................................................................162
12.1DHT11工作原理...........................................................................................................162
12.2DHT11驱动编程...........................................................................................................163
12.3DHT11应用程序...........................................................................................................170
12.3.1C应用程序.....................................................................................................................170
12.3.2Qt应用程序....................................................................................................................172
参考文献.......................................................................................................176
















