计算机类专业教育 > ---大类---
嵌入式系统开发
书号:9787113295790 套系名称:高等学校物联网专业系列教材
作者:苗玉杰 刘洪涛 张芳 李惠君 出版日期:2023-12-01
定价:45.00 页码 / 开本: /16
策划编辑:刘丽丽 责任编辑:刘丽丽 彭立辉
适用专业:计算机类 适用层次:高等教育
最新印刷时间:2023-12-01
资源下载
教学课件
教学素材
习题答案(暂无)
教学案例(暂无)
教学设计
教学视频(暂无)
内容简介
前言
目录
作者介绍
图书特色
随着信息化、智能化、网络化的发展,嵌入式系统获得了广阔的发展空间。本书针对高等学校专业教学需要,结合作者多年教学经验和开发成果而编写,以 Exynos 4412 微处理器为核心,按照嵌入式系统的开发流程,循序渐进地论述了基于 ARM 架构的嵌入式 Linux 开发技术。本书主要内容包括嵌入式系统基础,ARM 架构与汇编指令,中断、异常和 U-boot,ARM 裸机开发,内核模块,字符设备驱动,Linux 设备树,内核中断编程,高级 I/O 操作,Linux 设备驱动模型,Qt 移植与开发,综合实例等。对于操作性强的章节,配有实验,各章均设置了丰富的习题。 本书编写注重校企合作,选用了华清远见教育科技集团提供的教学案例。除此之外,本书还提供了教学课件、源代码、文档资料、实验视频等教学资源。 本书适合作为普通高等院校计算机、电子信息和物联网等本科专业嵌入式系统课程教材,也可作为嵌入式领域相关工作人员的参考书。
党的二十大报告指出,要“坚持把发展经济的着力点放在实体经济上”,“推动制造业高端化、智能化、绿色化发展”,“构建新一代信息技术、人工智能、生物技术、新能源、新材料、高端装备、绿色环保等一批新的增长引擎”。 无论是制造业的高端化、智能化,还是构建新一代的信息技术、人工智能和高端装备,都离不开嵌入式系统。嵌入式系统,犹如装备的“大脑”和“神经系统”,在智能化时代发挥着不可替代的重要作用。 智能化时代也造就了嵌入式系统应用范围急剧扩大。相关数据显示,目前,我国嵌入式行业至少存在 30 万~ 50 万人的人才缺口。为此,国内许多高校都开设了“嵌入式系统”课程。虽然嵌入式系统开发相关的书籍较多,但由于嵌入式系统涉及的内容较多,有些教材倾向于硬件结构,有些教材倾向于内核编程,不能从整体上反映嵌入式系统的开发流程。 编者结合多年的授课经验和课堂讲稿,以及华清远见教育科技集团的研发成果和教学经验,总结在教学过程学生经常遇到的问题及解决办法,整理编著成本书。作为校企合作的产物,本书契合了党的二十大报告提出的“产教融合、科教融汇”要求。 本书以 Exynos 4412 微处理器为核心,从嵌入式系统基础、ARM 架构与汇编指令、Bootloader、ARM 裸机开发、字符设备驱动开发和 Linux 设备驱动模型等方面,循序渐进地对嵌入式系统开发的基本理论和流程进行论述。全书共分为12章。第1章介绍嵌入式系统的概念、组成及嵌入式系统的开发方法;第 2 章详细讲述 ARM 架构、工作模式以及常用的汇编指令;第 3 章通过讲述中断、异常的概念,引出中断向量表和常用的启动引导程序 U-boot;第 4 章讲述 ARM 裸机开发方法;第 5 章讲述内核模块开发方法;第 6 章对字符设备驱动进行讲解;第 7 章对 Linux 设备树进行讲解;第 8 章讲述内核中断编程;第 9 章通过四个示例,讲述字符设备驱动的高级 I/O 操作方法;第 10 章引入 Linux 设备驱动模型,并通过一个实例讲述平台设备驱动编程方法;第 11 章介绍 Qt 的移植与开发;第 12 章通过实例,讲述一个环境温湿度监测系统的开发方法和过程。 本书讲解理论的同时,注重与实例操作相结合。大部分章节配有实例和源代码,以使读者建立感性认识,为进一步深入学习打下良好的基础。另外,本书还配备了教学大纲、电子课件和视频,以提升读者的自学效果。相关资源可在中国铁道出版社有限公司网站(http://www.tdpress.com/51eds/)下载。 “嵌入式系统开发”课程实践性较强,涉及知识较多,学生只有在实践中不断总结、领会,才能在嵌入式系统设计的道路上走得更远。 本书由苗玉杰、刘洪涛、张芳、李惠君编著。其中,第 1 ~ 3 章由张芳编著,第4 章、第 5 章由李惠君编著,第 6 ~ 9 章由苗玉杰编著,第 10 ~ 12 章由刘洪涛撰写。本书在编著过程中,得到了河北环境工程学院与华清远见教育科技集团相关人员的大力支持,在此,对他们表示衷心感谢! 本书在编著过程中参考和引用了国内外同行、专家、学者的大量文献,借鉴了许多现行教材的宝贵经验,在此,谨向这些作者表示诚挚的感谢。 由于时间仓促,编著者水平有限,书中难免存在疏漏与不妥之处,恳请读者提出宝贵意见和建议。 编著者 2023 年 10 月
第 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.1 ARM 处理器简介 ............................................................................................................ 11 2.1.1 ARM 公司简介 ................................................................................................................11 2.1.2 ARM 架构 ........................................................................................................................12 2.2 ARM 工作模式及寄存器 ................................................................................................ 14 2.2.1 ARM 工作模式 ................................................................................................................14 2.2.2 ARM 寄存器组织 ............................................................................................................15 2.3 ARM 汇编指令 ................................................................................................................ 18 实验 2汇编程序点亮 LED 灯 .............................................................................................. 24 习题 2 ........................................................................................................................................ 26 第 3 章中断、异常和 U-boot ......................................................................31 3.1中断和异常概述 .............................................................................................................. 31 3.2 Bootloader 操作模式及种类 ............................................................................................. 34 3.2.1 Bootloader 概述 .................................................................................................................. 34 3.2.2 Bootloader 操作模式 .......................................................................................................... 35 3.2.3 Bootloader 的种类 .............................................................................................................. 35 3.2.4 U-Boot 概述 ........................................................................................................................ 36 实验 3 U-Boot 移植和 SD 启动卡制作 .................................................................................. 39 习题 3 .......................................................................................................................................... 42 第 4 章ARM 裸机开发 ..................................................................................44 4.1 GPIO 裸机开发 ................................................................................................................. 44 4.1.1 裸机开发步骤 ..................................................................................................................... 44 4.1.2 GPIO 应用实例 .................................................................................................................. 45 4.2 通用异步收发器 ................................................................................................................ 48 4.2.1 通用异步收发器简介 ......................................................................................................... 48 4.2.2 Exynos 4412-UART 控制器 ............................................................................................... 49 4.2.3 UART 寄存器 ..................................................................................................................... 50 4.2.4 UART 接口应用实例 ......................................................................................................... 51 4.3 中断裸机编程 .................................................................................................................... 54 4.3.1 ARM 中断控制器简介 ....................................................................................................... 54 4.3.2 中断源和中断号 ................................................................................................................. 55 4.3.3 Exynos 4412 中断相关寄存器 ............................................................................................ 55 4.3.4 GIC 中断应用实例 ............................................................................................................. 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 实验 4 Linux 内核移植 ........................................................................................................... 73 习题 5 .......................................................................................................................................... 75 第 6 章字符设备驱动 ...................................................................................77 6.1 Linux 系统设备概述 ......................................................................................................... 77 6.2字符设备驱动编程 ............................................................................................................ 78 6.2.1 字符设备驱动实例 ............................................................................................................. 79 6.2.2 测试字符设备驱动 ............................................................................................................. 83 6.2.3 设备读 / 写操作 ................................................................................................................. 84 6.2.4 I/O 内存 .............................................................................................................................. 86 6.3 ioctl ..................................................................................................................................... 89 实验 5 根文件系统制作 .......................................................................................................... 93 习题 6 .......................................................................................................................................... 97 第 7 章 Linux 设备树 ...................................................................................100 7.1 为何使用 Linux 设备树 .................................................................................................. 100 7.2 Linux 设备树基本知识 ................................................................................................... 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.1 tasklet ................................................................................................................................ 119 8.2.2 工作队列 ........................................................................................................................... 121 习题 8 ........................................................................................................................................ 123 第 9 章高级 I/O 操作 ..................................................................................124 9.1 非阻塞 I/O ....................................................................................................................... 124 9.2 阻塞 I/O ........................................................................................................................... 125 9.3 I/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.1 Qt 移植与集成开发环境安装 ........................................................................................ 151 11.1.1 Qt 移植 ............................................................................................................................ 151 11.1.2 Qt 集成开发环境 ............................................................................................................ 153 11.2编写并运行 Qt 程序 ...................................................................................................... 156 11.2.1创建 Qt 项目 ................................................................................................................... 156 11.2.2 Qt 程序实例 .................................................................................................................... 158 习题 11 ...................................................................................................................................... 161 第 12 章综合实例 .......................................................................................162 12.1 DHT11 工作原理 ........................................................................................................... 162 12.2 DHT11 驱动编程 ........................................................................................................... 163 12.3 DHT11 应用程序 ........................................................................................................... 170 12.3.1 C 应用程序 ..................................................................................................................... 170 12.3.2 Qt 应用程序 .................................................................................................................... 172 参考文献 .......................................................................................................176
苗玉杰,硕士,教授,任职于河北环境工程学院物联网工程专业,长期从事电路与系统,信号处理的研究,主讲课程有“嵌入式系统”“RFID原理及应用”等,先后主持省部级科研项目2项,出版教材专著1部,发表论文10余篇。 刘洪涛,硕士,北京华清远见教育科技有限公司总经理、技术总监,是ARM公司全球认证讲师, 参与编写过几十本专业图书, 物联网方向技术知名顾问,首批高校物联网专业建设教学指导委员会专家委员会成员。 张芳,博士,副教授,任职于河北环境工程学院,研究方向是光信号处理及分布式传感,主讲课程有计算机网络、电路与系统,发表论文数篇,参与编写教材多部,主持教育部产学合作协同育人项目《FS-441嵌入式实践条件和基地建设》。 李惠君,博士,教授,任职于河北环境工程学院,研究方向是复杂系统仿真、物联网应用,主教课程有“物联网导论”“计算机组成原理”“Android开发技术”“数字电子技术”等,是省级一流专业建设——物联网工程的负责人,主持2项教育部产学合作协同育人项目,是校级线上线下混合式金课--“数字电子技术”负责人,发表论文几十篇,主编或参编教材多部。
①以新工科为背景,结合全国计算机等级考试三级嵌入式系统开发考试要求,融入思想政治教育,适应了当前新形势的要求。 ②教材中的案例丰富,与工程实际开发紧密结合。 ③按照嵌入式系统开发的流程安排章节,教学内容更加实用。 ④配套资源丰富,有教学视频、课件,程序源代码、系统、习题答案、教学大纲、教学设计等。