嵌入式系统开发:基于ARM Cortex A8系统
作者 : 刘小洋 李勇 编著
出版日期 : 2017-11-10
ISBN : 978-7-111-58357-8
适用人群 : 从事Linux或嵌入式开发的人员
定价 : 49.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 270
开本 : 16
原书名 :
原出版社:
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

本教材以ARM Corter A8为嵌入式核心技术出发点,从嵌入式系统概述、嵌入式Linux操作系统、嵌入式系统开发环境、嵌入式引导系统、嵌入式操作系统内核、嵌入式文件系统、嵌入式驱动开发、嵌入式综合项目案例为线索来描述嵌入式技术相关的论点与论据。

图书特色

本书从嵌入式系统实际需求出发,本着实用原则,通过理论结合实践来介绍ARM Cortex A8在嵌入式系统开发中的应用。全书分为嵌入式基础、嵌入式核心和嵌入式驱动三部分,通过有针对性的案例循序渐进地帮助读者学习并掌握嵌入式系统开发,同时可将案例直接移植到实际应用项目中。

本书特色:
全面介绍嵌入式系统自身特点与普通应用的区别。
系统介绍了嵌入式系统开发中所需的嵌入式Linux知识。
注重基础和实用性,通过大量的实际操作和案例应用,帮助读者深入掌握嵌入式开发的相关技术与能力。

本书为所有读者提供部分章节的源代码,并为采用本书的教师提供教学课件,有需求的读者可到华章网站(www.hzbook.com)下载。

图书前言

嵌入式系统是一种专用的计算机系统,其作为装置或设备的一部分,是现在工业4.0架构中的基础设备。嵌入式系统开发是覆盖范围很广的综合性交叉学科,涉及计算机科学与技术、电子科学与技术、自动化、通信工程、电子工程、智能科学与技术等诸多领域,在科技民生、智慧城市、交通运输、物流配送等方面有着广泛的应用前景,是高校工科类学生的首选科目。
全书共8章。第一部分共两章:第1章对嵌入式系统进行概述,并介绍嵌入式系统组成、嵌入式开源系统相关知识点,给读者一个完整的嵌入式系统概念;第2章重点介绍嵌入式Linux操作系统的基础知识以及相关操作,为之后的嵌入式学习打下良好基础。第二部分共四章:第3章为嵌入式系统开发环境的准备与相关配套工作,其目的是使读者理解嵌入式开发与一般开发的区别所在;第4章介绍嵌入式引导系统,基于Cortex A8来讲述引导过程的特点与方法,引导系统是嵌入式系统的核心部分;第5章介绍嵌入式操作系统内核的移植与相关理论,是本书的重中之重;第6章介绍的文件系统是嵌入式系统与普通操作系统区别较大的地方,大家要认真理解。第三部分共两章,通过项目方式来论述嵌入式系统开发的方法论与开发过程。
本书特点
嵌入式系统是集电子、通信、操作系统等多项技术于一体的综合应用。本书在剖析嵌入式体系结构的同时,仔细梳理了嵌入式开发的相关知识点及内在因素。这是作者在近10年的教学与工作中得出的相关结论与“教训”。
结构清晰,知识完整
全书以嵌入式为主线,按照“从下层到上层,从具体技术到方法论”的思路进行编写,结构清晰,便于读者从宏观上把握嵌入式系统工程的知识内涵。
深入浅出,易于理解
本书内容由浅入深,围绕嵌入式所需要的知识点层层论述,同时结合具体操作,避免一切空谈。
案例面向实际应用,变抽象为具体
本书中所有的操作与应用都是作者从多年的工作中总结而来的,同时把项目的整个过程按教学要求分解实施,力图向读者展现一幅完整的嵌入式开发画卷。
从自然中来,到自然中去
本书的主要目的是将复杂问题用通俗易懂的语言和具体而形象的案例展现给读者,使读者能够从中体会到嵌入式系统开发的整个过程。
本书的编写得到机械工业出版社华章分社多位老师的大力支持与关怀,他们提出了诸多宝贵意见与建议,在此表示感谢。
同时,感谢各高校同行的鼓励与支持,特别是华中科技大学的罗杰老师、广西大学的香赵真老师、湖南大学的王卫平老师、华中科技大学文华学院信息学部的俞侃主任,还有两位研究生付出大量的校对时间,以及对相关数据多次验证并对文档进行整理。
荆楚理工学院的李勇老师负责本教材的校对工作,并多次进行相关内容的调整。
教学建议
本书可作为工科类计算机、电子信息、通信工程、自动化等相关专业学生的教材。
本书安排48学时或更多(其中32学时为授课学时,16学时为实验学时),在结束之后可以依据实际情况安排嵌入式系统课程设计课程。
章 节 授 课 学 时 实 验 学 时
第1章 2
第2章 4 2
第3章 4 2
第4章 5 4
第5章 5 4
第6章 4 2
第7章 4 2
第8章 4
授课教师可根据教学计划,灵活调整授课学时。为方便教学,本书提供全部课件。
由于作者水平有限,书中难免存在疏漏之处,敬请读者谅解。如果读者有问题需要与作者讨论,请发送电子邮件到lxy535@163.com。

刘小洋
于华中科技大学文华园

上架指导

计算机/嵌入式

封底文字

本书从嵌入式系统实际需求出发,本着实用原则,通过理论结合实践来介绍ARM Cortex A8在嵌入式系统开发中的应用。全书分为嵌入式基础、嵌入式核心和嵌入式驱动三部分,通过有针对性的案例循序渐进地帮助读者学习并掌握嵌入式系统开发,同时可将案例直接移植到实际应用项目中。

本书特色
- 全面介绍嵌入式系统自身特点与普通应用的区别。
- 系统介绍了嵌入式系统开发中所需的嵌入式Linux知识。
- 注重基础和实用性,通过大量的实际操作和案例应用,帮助读者深入掌握嵌入式开发的相关技术与能力。

本书为所有读者提供部分章节的源代码,并为采用本书的教师提供教学课件,有需求的读者可到华章网站(www.hzbook.com)下载。

图书目录

前言
第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 VxWorks8
2.1.2 Windows Embedded8
2.1.3 嵌入式Linux9
2.1.4 嵌入式实时内核C/OS9
2.2 嵌入式Linux操作系统简介10
2.3 Linux操作系统实践12
2.3.1 Linux系统12
2.3.2 基于VMware安装RedHat Linux系统13
2.3.3 全屏幕编辑器与vi29
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 Makefile52
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-Boot110
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

教学资源推荐
作者: [美]戴维·A. 帕特森(David A. Patterson),[美]约翰·L. 亨尼斯(John L. Hennessy) 著
作者: [美]玛里琳·沃尔夫(Marilyn Wolf) 著
作者: [美]陈昱廷(Yu-Ting Chen) 丛京生(Jason Cong) 迈克尔·吉尔(Michael Gill) 格伦·雷曼(Glenn Reinman) 肖冰峻(Bingjun Xiao) 著
参考读物推荐
作者: Mark Artiges等
作者: Douglas Schmidt,Michaes Stal,Hans Rohnert,Frank Buschmann
作者: [丹麦]克劳斯·埃尔克(Klaus Elk) 著