新書推薦:
《
海外中国研究·王羲之:六朝贵族的世界(艺术系列)
》
售價:HK$
178.1
《
唐宋绘画史 全彩插图版
》
售價:HK$
98.6
《
海洋、岛屿和革命:当南方遭遇帝国(文明的另一种声音)
》
售價:HK$
106.4
《
铝合金先进成型技术
》
售價:HK$
266.6
《
《全面与进步跨太平洋伙伴关系协定》国有企业条款研究
》
售價:HK$
98.6
《
银行业架构网络BIAN(全球数字化时代金融服务业框架)(数字化转型与创新管理丛书)
》
售價:HK$
98.6
《
金托邦:江湖中的沉重正义
》
售價:HK$
60.5
《
易经今解:释疑·解惑·见微
》
售價:HK$
88.5
|
編輯推薦: |
《嵌入式系统设计与应用基于ARM Cortex-A8和Linux(第2版)(微课视频版)》以ARM Cortex-A8作为系统核心处理器架构,从作者自身从事的科研项目和实践活动出发,选择了具有一定实用价值、包含交叉学科知识且反映嵌入式系统与物联网技术结合的三个项目实例。这些实例不仅从理论上深化拓展嵌入式系统设计方法和理念,也从实践角度提出碰到问题如何运用所学知识解决问题的观点,促进学生学以致用思想的升华。配套微课视频、工程文件及源代码、教学课件、习题答案、教学大纲等资源。
|
內容簡介: |
《嵌入式系统设计与应用基于ARM Cortex-A8和Linux(第2版)(微课视频版)》选择当前嵌入式系统领域具有代表性的ARM Cortex-A8处理器和嵌入式Linux操作系统作为分析对象,从嵌入式系统的发展历史和特点出发,对Cortex-A8嵌入式处理器的体系结构、存储系统、中断系统、ARM指令集和S5PV210微处理器进行详细介绍。在此基础上,阐述ARM-Linux内核、Linux文件系统、Linux移植及调试方法、驱动程序的设计等内容;选择Qt图形界面程序和SQLite数据库这两个有代表性的嵌入式应用软件进行介绍; 介绍传统嵌入式系统的设计方法和引入了协同设计概念的嵌入式系统设计方法,并介绍三个嵌入式系统应用案例以增强读者的理解。 《嵌入式系统设计与应用基于ARM Cortex-A8和Linux(第2版)(微课视频版)》可以作为高等学校计算机、电子、电信类专业的教材,也可以作为嵌入式开发相关人员的参考用书。
|
目錄:
|
第1章嵌入式系统概述
1.1嵌入式系统简介
1.1.1嵌入式系统的产生
1.1.2嵌入式系统的定义、特点和分类
1.1.3嵌入式系统的典型组成
1.2嵌入式微处理器
1.2.1嵌入式微处理器简介
1.2.2主流嵌入式微处理器
1.3嵌入式操作系统
1.3.1嵌入式Linux
1.3.2Windows CE
1.3.3Android
1.3.4COSⅡ
1.3.5VxWorks
1.4嵌入式系统的应用领域和发展趋势
1.4.1嵌入式系统的应用领域
1.4.2嵌入式系统的发展趋势
1.5本章小结
习题
第2章ARM处理器体系结构
2.1ARM处理器概述
2.1.1ARM处理器简介
2.1.2ARM体系结构发展
2.1.3ARM处理器系列主要产品
2.1.4ARM开发工具简介
2.2CortexA8处理器架构
2.3CortexA8处理器工作模式和状态
2.3.1CortexA8处理器工作模式
2.3.2CortexA8处理器状态
2.4CortexA8存储器管理
2.4.1ARM的基本数据类型
2.4.2浮点数据类型
2.4.3大小端存储模式
2.4.4寄存器组
2.4.5CortexA8存储系统
2.5CortexA8异常处理
2.5.1异常向量和优先级
2.5.2异常响应过程
2.5.3异常返回过程
2.5.4CortexA8处理器S5PC100中断机制
2.6本章小结
习题
第3章ARM指令集
3.1ARM指令集概述
3.1.1指令格式
3.1.2指令的条件码
3.2ARM指令的寻址方式
3.2.1立即寻址
3.2.2寄存器寻址
3.2.3寄存器间接寻址
3.2.4寄存器移位寻址
3.2.5变址寻址
3.2.6多寄存器寻址
3.2.7相对寻址
3.2.8堆栈寻址
3.2.9块复制寻址
3.3ARM指令集简介
3.3.1跳转指令
3.3.2数据处理指令
3.3.3程序状态寄存器处理指令
3.3.4加载存储指令
3.3.5协处理器指令
3.3.6异常产生指令
3.4Thumb指令集简介
3.5ARM汇编语言编程简介
3.5.1伪操作
3.5.2伪指令
3.5.3汇编语句格式
3.5.4汇编语言的程序结构
3.6C语言与汇编语言的混合编程
3.6.1C程序中内嵌汇编
3.6.2汇编中访问C语言程序变量
3.6.3ARM中的汇编和C语言相互调用
3.7本章小结
习题
第4章S5PV210微处理器与接口
4.1基于S5PV210微处理器的硬件平台体系结构
4.1.1S5PV210处理器简介
4.1.2S5PV210内部各模块介绍
4.2存储系统
4.2.1S5PV210的地址空间
4.2.2S5PV210启动流程
4.3时钟系统
4.3.1S5PV210时钟概述
4.3.2S5PV210的时钟结构
4.4GPIO接口
4.4.1GPIO概述
4.4.2GPIO寄存器
4.4.3GPIO操作步骤
4.4.4一个LED灯的例子
4.5串行通信接口
4.5.1串行通信方式
4.5.2RS232C串行接口
4.5.3S5PV210的异步串行通信
4.5.4S5PV210的UART寄存器
4.5.5UART通信示例
4.6AD转换器
4.7本章小结
习题
第5章ARMLinux内核
5.1ARMLinux概述
5.1.1GNULinux操作系统的基本体系结构
5.1.2ARMLinux内核版本及特点
5.1.3ARMLinux内核的主要架构及功能
5.1.4Linux内核源码目录结构
5.2ARMLinux进程管理
5.2.1进程的表示和切换
5.2.2进程、线程和内核线程
5.2.3进程描述符task_struct的几个特殊字段
5.2.4do_fork函数
5.2.5进程的创建
5.2.6线程和内核线程的创建
5.2.7进程的执行exec函数族
5.2.8进程的终止
5.2.9进程的调度
5.3ARMLinux内存管理
5.3.1ARMLinux内存管理概述
5.3.2ARMLinux虚拟存储空间及分布
5.3.3进程空间描述
5.3.4物理内存管理
5.3.5基于slab分配器的管理技术
5.3.6内核非连续内存分配vmalloc
5.3.7页面回收简述
5.4ARM_Linux模块
5.4.1LKM的编写和编译
5.4.2LKM版本差异比较
5.4.3模块的加载与卸载
5.4.4工具集moduleinittools
5.5ARMLinux中断管理
5.5.1ARM_Linux中断的基本概念
5.5.2内核异常向量表的初始化
5.5.3Linux中断处理
5.5.4内核版本2.6.38后的中断处理系统的一些改变通用中断
子系统
5.6ARMLinux系统调用
5.7本章小结
习题
第6章嵌入式Linux文件系统
6.1Linux文件系统基础
6.1.1概述
6.1.2ext2文件系统
6.1.3ext3和ext4文件系统
6.2嵌入式文件系统
6.2.1概述
6.2.2JFFS2嵌入式文件系统
6.3YAFFS与YAFFS2文件系统简介
6.3.1YAFFS文件系统
6.3.2YAFFS2文件系统简介
6.4根文件系统
6.4.1根文件系统概述
6.4.2根文件系统的制作工具BusyBox
6.4.3YAFFS2文件系统的创建
6.5本章小结
习题
第7章嵌入式Linux系统移植及调试
7.1BootLoader基本概念与典型结构
7.1.1BootLoader基本概念
7.1.2BootLoader的操作模式
7.1.3BootLoader的典型结构
7.1.4常见的BootLoader
7.2UBoot
7.2.1UBoot概述
7.2.2UBoot启动的一般流程
7.2.3UBoot环境变量
7.2.4UBoot命令
7.3交叉开发环境的建立
7.4交叉编译工具链
7.4.1交叉编译工具链概述
7.4.2工具链的构建方法
7.4.3交叉编译工具链的主要工具
7.4.4Makefile
7.5嵌入式Linux系统移植过程
7.5.1UBoot移植
7.5.2内核的配置、编译和移植
7.6GDB调试器
7.7远程调试
7.7.1远程调试工具的构成
7.7.2通信协议RSP
7.7.3远程调试的实现方法及设置
7.7.4远程调试应用实例方法
7.8内核调试
7.8.1printk
7.8.2KDB
7.8.3Kprobes
7.8.4KGDB
7.9本章小结
习题
第8章设备驱动程序设计
8.1设备驱动程序开发概述
8.1.1Linux设备驱动程序分类
8.1.2驱动程序的处理过程
8.1.3设备驱动程序框架
8.1.4驱动程序的加载
8.2内核设备模型
8.2.1设备模型功能
8.2.2sysfs
8.2.3sysfs的实现机制kobject
8.2.4设备模型的组织platform总线
8.3字符设备驱动设计框架
8.3.1字符设备的重要数据结构
8.3.2字符设备驱动框架
8.4GPIO驱动概述
8.4.1gpiolib关键数据结构
8.4.2GPIO的申请和注册
8.5I2C总线驱动设计
8.5.1I2C总线概述
8.5.2I2C驱动程序框架
8.5.3关键数据结构
8.5.4I2C核心接口函数
8.5.5I2C设备驱动的通用方法
8.6块设备驱动程序设计概述
8.6.1块设备驱动整体框架
8.6.2关键数据结构
8.6.3块设备的请求队列操作
8.7嵌入式网络设备驱动设计
8.7.1网络设备驱动程序框架
8.7.2网络设备驱动程序关键数据结构
8.7.3网络设备驱动程序设计方法概述
8.8网络设备驱动程序示例网卡DM9000驱动程序分析
8.9本章小结
习题
第9章Qt图形界面应用程序开发基础
9.1Qt简介
9.2Qt 5概述
9.2.1Qt 5简介
9.2.2通过帮助菜单了解Qt 5的组成模块
9.2.3Linux下Qt开发环境的安装与集成
9.2.4Qt Creator功能和特性
9.3信号和插槽机制
9.4Qt程序设计
9.4.1helloworld程序
9.4.2多窗口应用程序
9.5Qt数据库应用
9.5.1数据库驱动
9.5.2Qt与SQLite数据库的连接
9.5.3SQL模型
9.6本章小结
习题
第10章SQLite数据库
10.1SQLite数据库概述
10.1.1基于Linux平台的嵌入式数据库概述
10.1.2SQLite的特点
10.1.3SQLite的体系结构
10.2SQLite安装
10.3SQLite的常用命令
10.4SQLite的数据类型
10.5SQLite的API函数
10.5.1核心C API函数
10.5.2扩充C API函数
10.6SQLite数据库管理工具
10.7本章小结
习题
第11章嵌入式系统的开发设计案例
11.1嵌入式系统设计方法介绍
11.1.1传统的嵌入式系统设计方法
11.1.2协同设计概念的嵌入式系统设计方法
11.2基于ARM的嵌入式Web服务器设计实例
11.2.1系统环境搭建
11.2.2Web服务器原理
11.2.3嵌入式Web服务器设计
11.3物联网网关设计实例
11.3.1背景介绍环境监测系统平台整体架构
11.3.2网关节点硬件设计方案
11.3.3系统软件设计
11.3.4数据库建设
11.4智能无人值守实验室监控系统设计实例
11.4.1系统总体框架
11.4.2学生选课预约
11.4.3门禁系统
11.4.4ZigBee网络的网络拓扑及路由协议
11.4.5Qt的使用
11.5本章小结
参考文献
|
內容試閱:
|
嵌入式计算机技术是21世纪计算机技术的重要发展方向之一,应用领域十分广泛且增长迅速。据估计,未来十年95%的微处理器和65%的软件都将被应用于各种嵌入式系统。技术的发展和生产力的提高离不开人才的培养。目前,业界对嵌入式技术人才的需求十分巨大,尤其在迅速发展的电子、通信、计算机等领域,这种需求更为显著。另外,企业对嵌入式系统开发从业者的工程实践能力、经验要求也越来越重视。因此,目前国内外很多专业协会和高校都在致力于嵌入式相关课程体系的建设,并结合嵌入式系统的特点,在课程内容设计、师资队伍建设、教学方法探索、教学条件和实验体系建设等方面已取得较好成效。
从国外嵌入式课程建设来看,2004年ACM美国计算机协会和IEEE联合制定了新版的计算机学科的课程体系2004版,其中一个主要改革就是将Embedded System课程列为本科生的专业基础课,并且给出了基本课程体系。同时,美国卡内基梅隆大学、加州大学伯克利分校等国外高校也在不断完善它们的嵌入式教育体系,欧洲联盟(简称欧盟)也推出了面向欧盟高校和企业的嵌入式研究计划,这些信息为编写嵌入式系统课程教材提供了指导和参考。
从技术更新角度来看,近年来嵌入式系统技术得到了广泛应用和爆发式增长,普适计算、无线传感器、可重构计算、物联网、云计算等新兴技术的出现又为嵌入式系统技术的研究与应用注入了新的活力。这也对嵌入式系统课程教材的设计提出了更新和更高的要求。
从国内嵌入式系统教材来看,一是有部分嵌入式硬件系统仍然采用ARM9体系结构作为核心处理器架构,甚至还有ARM7体系结构,这不仅和市场脱节极其严重,也和高校与时俱进的教学理念产生冲突;二是目前国内高校配合嵌入式系统理论教材的嵌入式系统实验实训平台普遍已经进入更新换代周期,根据调研发现,国内许多高校嵌入式实验平台多在20062009年购入,普遍采用ARM7、ARM9架构的核心处理器,至今已工作10年以上,在未来两年内将迎来实验设备普遍更换的潮流,而目前的教材仍然以老平台作为实践依据,这也形成了理论和实践的脱节,也要求嵌入式理论教材能够跟上实验实训要求的步伐;三是从应用角度来看,操作系统和应用软件近年来都取得了较大发展,开源OS和App的迅猛发展以及物联网与嵌入式系统的紧密结合,也要求嵌入式教材尽可能保持技术的敏感度。这些信息都为嵌入式教材的更新提供了指导和参考。
在此前提下,本书对基于CortexA8处理器架构和嵌入式Linux系统进行了阐述。本书的特点如下。
① 参考了ACM & IEEE联合制定的计算机学科的课程体系(2004版)关于Embedded System的课程要求,并结合了国内高校计算机学科课程大纲的要求。参考资料主要来自近几年国内外出版的嵌入式相关书籍、ARM官网、嵌入式专业网站、著名嵌入式设备公司相关资料和编写小组近年来的科研项目与指导学生创新实践活动的资料,具有较好的时效性和实用性。
② 采用ARMV7版本的CortexA8作为系统核心处理器架构,取代原有的ARM7ARM9处理器架构。ARM9架构作为国内嵌入式系统教学主要选择架构已经十多年,一方面市场上主流芯片已经难觅其踪,另一方面国内高校ARM9实验平台也已经普遍超期服役,在未来两年内将迎来实验设备普遍更换的高峰。在更新设备选择资源中,以CortexA8处理器架构的实验实训平台具有极高的性价比(良好的扩展性和众多嵌入式设备厂家支持)。选择CortexA8处理器架构作为教材主要介绍的处理器架构,既是嵌入式市场的需求,也是理论教学和实验教学与时俱进的需要。
③ 增加Qt和SQLite数据库相关知识,以满足日益增长的嵌入式系统UI设计与数据处理需求,更符合学科特点和满足智能移动平台需要。
④ 从编写小组自身从事的科研项目和实践活动出发,选择具有一定实用价值,包含交叉学科知识,反映嵌入式系统与物联网技术结合的三个项目实例。这些实例不仅从理论上深化拓展嵌入式系统设计方法和理念,也从实践角度提出碰到问题如何运用所学知识解决问题的观点,促进学生学以致用思想的升华。
⑤ 本书配套资源丰富:
工程文件及源代码、教学课件、习题答案、教学大纲等资源,请扫描此处二维码下载或到清华大学出版社官方网站本书页面下载。
资源下载
微课视频(53个,共450分钟),涉及实践操作、程序运行及解释、内容重点难点以及扩展性的内容,请扫描本书正文中对应位置二维码观看。
注意: 请先刮开封底的刮刮卡,扫描其中的二维码进行注册,之后再扫描书中的二维码,获取相关资源。
本书第2版对第1版的各章节均作了改写,主要体现在内容的增加与更新,代码的改写与优化,节次的优化,习题的增加等方面。本书受国家自然科学基金面上项目随钻测量井下网络化光纤传感器及信息传输关键技术研究的资助。编写过程中,王剑负责第1、10、11章的编写和全书的统稿; 刘鹏负责第2~4章的编写; 李波负责第5、6章的编写; 蔡明文负责第7~9章的编写; 叶玲负责全书的审校工作。同时本书的编写也得到了徐丞和王子瑜的大力支持和帮助,在此表示衷心的感谢。
本书的出版得到了清华大学出版社、众多同行和同事给予的真切关心、指导和热情帮助,在此向所有关心、支持本书出版工作的朋友表示衷心的感谢。本书参考了国内外的许多技术资料,书末有具体的参考文献,有兴趣的读者可以查阅相关信息。本书配有电子课件,需要的读者可以登录清华大学出版社官网下载。
限于编者水平,书中不妥之处在所难免,敬请广大读者批评指正和提出宝贵意见,请发送邮件至workemail6@163.com。
王剑
2020年5月
|
|