嵌入式系统设计与应用 基于ARM Cortex-A8和Linux

所需积分/C币:14 2018-01-19 16:59:17 33.67MB PDF
42
收藏 收藏
举报

嵌入式系统设计与应用 基于ARM Cortex-A8和Linux__王剑,刘鹏,胡杰,文汉云_北京:清华大学出版社 2017年的新书
内容简介 本书选择当前嵌入式系统领域里具有代表性的 ARM Cortex-A8处理器和嵌人式 Linux操作系统作 为分析对象,从嵌入式系统的发展历史和特点出发,对A8嵌入式处理器的体系结构、存储系统、中断系统 ARM指令集和S5PV210微处理器进行详细介绍。在此基础上,阐述 ARM-linux内核, Linux文件系统、 Linux移植及调试方法、驱动程序的设计等内容;选择Qt图形界面程序和 sQLite数据库这两个有代表性 的嵌入式应用软件进行介绍;介绍传统嵌入式系统的设计方法和引入了“协同设计”概念的嵌入式系统设 计方法,并介绍三个嵌入式系统应用案例以增强读者的理解。 本书可以作为高等学校计算机、电子、电信类专业的教材,也可以作为嵌入式开发相关人员的参考 用书。 本书封面贴有清华大学出版社防伪标签,无标签者不得销售。 版权所有侵权必究。侵权举报电话:010-6278298913701121933 图书在版编目(CIP)数据 嵌入式系统设计与应用:基于 ARM Cortex-A8和Lnux/王剑等主编.-北京:清华大学出版社,2017 电子设计与嵌入式开发实践丛书) ISBN978-7-302-45806-7 Ⅰ.①嵌…Ⅱ.①王…Ⅲ.①微型计算机一系统设计ⅣN.①TP360.21 中国版本图书馆CP数据核字(2016)第291652号 责任编辑;刘星梅栾芳 封面设计:刘键 责任校对:焦丽丽 责任印制:杨艳 出版发行:清华大学出版补 网址:1m:www.mp.m.cm,htp:www.well.com 地址:北京清华大学学研大厦A座 邮编;100)84 社总机:01062770175 邮购:01062786544 投稿与读者服务 010-62776969, service(a tup tsinghua. edu. en 质量反馈:010-6272015,zhiliang@tup.tsinghua.edu.cn 课件下载:hp:/www.tup.com.cn,10-62795954 印刷者:北京富博印刷有限公司 装订者:北京市密云县京文制本装订厂 经销:全国新华书店 开本:185mmx26mm 印张:24.5 字数:594千字 版次:2017年2月第1版 印次:2017年2月第1次印刷 印数:1-2000 定价:59.00元 产品编号:06366501 前言 嵌入式计算机技术是21世纪计算机技术重要发展方向之一,应用领域十分广泛且增长 迅速。据估计,未来十年95%的微处理器和65%的软件都将被应用于各种嵌人式系统中。 技术的发展和生产力的提高离不开人才的培养。目前业界对嵌入式技术人才的需求十分巨 大,尤其在迅速发展的电子、通信、计算机等领域,这种需求更为显著。另外,企业对嵌入式 系统开发从业者的工程实践能力、经验要求也越来越重视。因此目前国内外很多专业协会 和高校都在致力于嵌入式相关课程体系的建设,结合嵌入式系统的特点,在课程内容设计 师资队伍建设、教学方法探索、教学条件和实验体系建设等方面都取得了较好成效。 从国外嵌入式课程建设来看,2004年,ACM(美国计算机协会)和TEEE联合制订了新 版的计算机学科的课程体系(2004版),其中一个主要改革就是将 Embedded System课程列 为本科生的专业基础课,并且给出了基本课程体系。同时,美国卡内基梅隆大学、加州大学 伯克利分校等国外高校也不断在完善他们的嵌人式教育体系,欧盟也推出了面向欧盟高校 和企业的嵌入式研究计划,这些信息为编写适合计算机专业使用的“嵌入式系统”教材提供 了指导和参考。 从技术更新角度来看,近年来嵌入式系统技术得到了广泛应用和爆发性增长,普适计 算、无线传感器、可重构计算、物联网、云计算等新兴技术的出现又为嵌入式系统技术的研究 与应用注入了新的活力。这也对“嵌入式系统”课程教材的设计提出了更新更高的要求。 从国内嵌入式系统教材来看,一是有部分嵌入式硬件系统仍然采用ARM9体系结构作 为核心处理器架构,甚至还有ARM7体系结构,这不仅和市场脱节极其严重,也和高校与时 俱进的教学理念产生神突;二是目前国内高校配合嵌入式系统理论教材的嵌人式系统实验 实训平台普遍已经进入更新换代周期,根据调研发现,国内许多高校嵌入式实验平台多在 2006年至2009年购入,普遍采用ARM7ARM9架构的核心处理器,至今已工作六年以上, 在未来两年内将迎来实验设备普遍更换的潮流,而目前的教材仍然以老平台作为实践依据, 这也形成了理论和实践的脱节,也要求嵌入式理论教材能够跟上实验实训要求的步伐;三是 从应用角度来看,操作系统和应用软件近年来都取得较大发展,开源OS和APP的迅猛发 展以及物联网与嵌入式系统的紧密结合也要求嵌入式教材尽可能保持技术的敏感度。 在此前提下,本书对基于 Cortex-A8处理器架构和嵌入式 Linux的嵌入式系统进行了 阐述。本书的特点如下。 ①参考了ACM&IEEE联合制订的计算机学科的课程体系(2004版)关于 Embedded Foreword 嵌入式無统设计与应用—基于 ARM Cortex-A8和 Linux System的课程要求,并结合了国内高校计算机学科课程大纲的要求。参考资料主要来自近 几年国内外出版的嵌人式相关刊物、ARM官网、嵌入式专业网站、著名嵌入式设备公司相 关资料和编写小组近年来的科研项目与指导学生创新实践活动资料,具有较好的时效性和 实用性。 ②采用ARMv7版本的 Cortex-A8处理器架构作为系统核心处理器架构,取代原有 ARM7/ARM9处理器架构。ARM9架构作为国内嵌入式系统教学主要选择架构已经近十 年,一方面市场上主流芯片已经难觅其踪,另一方面国内高校ARM9实验平台也已经普遍 超期服役,在未来两年内将迎来实验设备普遍更换的高峰。在更新设备选择资源中,以 Cortex-A8处理器架构的实验实训平台具有极高的性价比(良好的扩展性和众多嵌入式设 备厂家支持)。 Cortex-A8处理器是ARM的第一款超标量处理器,具有提高代码密度和性 能的技术,用于多媒体和信号处理的NEON技术,以及用于高效支持预编译和即时编译 Java及运行时编译目标(RCT)技术。同时 Cortex-A8处理器架构目前属于技术上稳定的 处理器架构,有较多相关的嵌人式实验平台可供选择。 ③增加Qt和 SQLite数据库相关知识,以满足日益增长的嵌入式系统UI设计与数据 处理需求,更符合计算机学科特点和满足智能移动平台需要 ④从编写小组自身从事的科研项目和实践活动出发,选择具有一定实用价值,包含交 叉学科知识,反映嵌人式系统与物联网技术结合的三个项目实例。这些实例不仅从理论上 深化拓展嵌入式系统设计方法和理念,也从实践角度提出“碰到问题如何运用所学知识解决 问题”的观点,促进学生学以致用思想的升华。 本书受国家自然科学基金面上项目“随钻测量井下网络化光纤传感器及信息传输关键 技术研究”(编号41372155)的支持。编写过程中,王剑负责第1、11章的编写和全书的统 稿;刘鹏负责第2、3、4、9章的编写工作;胡杰负责第5、6章的编写工作;文汉云负责第10 章的编写工作;孟真玮负责第7、8章的编写工作。叶玲对本书进行了审校工作。同时本书 的编写也得到了朱文霞和深圳博嵌科教仪器有限公司的大力支持和帮助,在此表示衷心的 感谢。 本书参考了国内外的许多最新的技术资料,书末有具体的参考文献,有兴趣的读者可以 查阅相关信息。本书配有电子课件,需要的读者可以登录清华大学出版社本书页面下载。 限于编者水平有限,书中不妥之处在所难免,敬请广大读者批评指正并提出宝贵意见。 作者 2016年12月 录 第1章嵌入式系统概述 1 1.1嵌入式系统简介………1 1.1.1嵌入式系统的产生 1.1.2嵌入式系统的定义、特点和分类……………………………………………2 1.1.3嵌入式系统的两种应用模式……… 4 1.1.4嵌入式系统的典型组成 1.2嵌入式微处理器 6 1.2.1嵌入式微处理器简介 6 1.2.2主流嵌入式微处理器 8 1.3嵌入式操作系统… 9 1.3.1嵌入式 Linux 1.3.2 Windows CE 1.3.3 Symbian 1.3.4 Android……………………………………………………………12 1.3.5pC/OsⅡ………………………………………………………12 1.3.6 VxWorks…………………… 13 1.4嵌入式系统的应用领域和发展趋势……………………………………………13 1.4.1嵌入式系统的应用领域 13 1.4.2嵌入式系统的发展趋势 13 1.5本章小结……………………………………………………………14 习题 14 第2章ARM处理器体系结构………………………………………………………15 2.1ARM处理器概述………………………………………………… 15 2.1.1ARM处理器简介…… …………………15 2.1.2ARM体系结构发展… 16 2.1.3ARM处理器系列主要产品 19 Contents 」Ⅳ1嵌入式糸统设计与应用一基于 ARM Cortex-A8和Liux 2.1.4ARM开发工具简介…………………………………………………24 2.2 Cortex-A8处理器架构…………………………………………………………26 2.3 Cortex-A8处理器工作模式和状态… ……30 2.3.1 Cortex-A8处理器工作模式………………30 2.3.2 Cortex-A8处理器状态 2.4 Cortex-A8存储器管理… 料,,,道 ……32 2.4.1ARM的基本数据类型……………………………………………32 2.4.2浮点数据类型 32 2.4.3大/小端存储模式………………………………………………32 2.4.4寄存器组… 33 2.4.5 Cortex-A8存储系统 …………37 2.5 Cortex-A8异常处理………………43 2.5.1异常向量和优先级 …43 2.5.2异常响应过程………………………………………………………44 2.5.3异常返回过程…… ““““,甲“开“ 45 2.5.4 Cortex-A8处理器S5PC100中断机制………… 46 2.6本章小结……………………………………………………… 48 习题 48 第3章ARM指令集…………………………………………………………49 3.1ARM指令集概述… 49 3.1.1指令格式………………………………………………………49 3.1.2指令的条件码 50 3.2ARM指令的寻址方式………………………………………………………51 3.2.1立即寻址 51 3.2.2寄存器寻址… 51 3.2.3寄存器间接寻址……………………………………………………51 3.2.4寄存器移位寻址… 52 3.2.5变址寻址… ………52 3.2.6多寄存器寻址…52 3.2.7相对寻址 中*·“*:“““·“““*“““““““·“ 53 3.2.8堆栈寻址………………………………………………………………53 3.2.9块复制寻址……54 3.3ARM指令简介 54 3.3.1跳转指令………………………………………………………………54 3.3.2数据处理指令……… 55 3.3.3程序状态寄存器处理指令………………………………………59 3.3.4加载/存储指令………………………………………60 3.3.5协处理器指令………………………………………………61 目录 3.3.6异常产生指令 ………62 3.4 Thumb指令简介 ………63 3.5ARM汇编语言编程简介 63 3.5.1伪操作……… …63 3.5.2伪指令… 65 3.5.3汇语句格式……………………………………………………66 3.5.4;编语言的程序结构 66 3.6C语言与汇编语言的混合编程…………………… ++,+,,,+++,++++·当t 67 3.6.1C程序中内嵌汇编……………………………………………………67 3.6.2汇编中访问C语言程序变量……………………………………67 3,6.3ARM中的汇编和C语言相互调用……………………………………68 3.7本章小结 …69 习题………………………………………………………………………69 第4章SsPV210微处理器与接口 ………………………………71 4.1基于S5PV210微处理器的硬件平台体系结构…………………71 4.1.1S5PV210处理器简介………………………………… 71 4.1.2S5PV210内部各模块介绍 1律和,律 ………………………72 4.2存储系统…………………………………………………………………76 4.2,1S5PV210的地址空间………………………………………………76 4.2.2S5PV210启动流程………………………………………………77 4.3时钟系统 78 4.3.1S5PV210时钟概述…………………………………………………78 4.3.2S5PV210的时钟结构 ………………………………79 4.4GPIO接口… 81 4.4.1GPIO概述…………………………………………………………81 4.4.2GPIO寄存器 83 4.4.3GPIO操作步骤 丰库日 和B, 83 4.4.4一个LED灯的例子………………………………………………84 4.5串行通信接口……………………………… 89 4.5.1串行通信方式………………………………………………………89 4.5.2RS232C串行接口……………10 4.5.3S5PV210的异步串行通信 91 4.5.4S5PV210的UART寄存器 +福,.号,+是补量,++,“++++ 92 4.5.5UART通信示例…………………………………………………92 4.6A/D转换器 ………97 4.7本章小结……………………………………………………100 习题 100 嵌入式余统设计与应用—基于 ARM Cortex-A8和 Linux 第5章 ARM-Linux内核…………………………… ……………………101 5.1ARM- Linux概述 101 5.1.1GNU/ Linux操作系统的基本体系结构……………………………101 5.1.2 ARM-Linux内核版本及特点…… 102 5.1.3 ARM-Linux内核的主要架构及功能… 104 5.1.4 Linux内核源码目录结构……………… 105 5.2ARM- Linux进程管理 106 5,2.1进程的表示和切换…………………………………………………107 52.2进程线程和内核线程 和和和和丰a(和和 …+……∴…109 5.2.3进程描述符 task struct的几个特殊字段 109 5.2.4 do fork()函数… ……110 5.2.5进程的创建………………………………………………112 5.2.6线程和内核线程的创建……13 5.2.7进程的执行—exec函数族 113 5.2.8进程的终止……………………………………………………………114 5.2.9进程的调度 115 5.3 ARM-Linux内存管理……1417 5,3.1 ARM-Linux内存管理概述…………………………………117 5.3.2ARM- Linux虚拟存储空间及分布…………………………………118 5.3.3进程空间描述……………………………………………………119 3.4物理内存管理……………,…… 123 53.5基于slab分配器的管理技术 124 5.3.6内核非连续内存分配( vmalloc)…………………………………125 53.7页面回收简述………………………………………… 127 5.4 ARM Linux模块……………….127 5.4.1LKM的编写和编译 …………………………“…………128 5.4.2LKM版本差异比较 128 5.4.3模块的加载与卸载…………………………………………………129 5.4.4工具集 module-init- tools…131 5.5 ARM-Linux中断管理………………………………………………………132 55.1 ARM Linux中断的一些基本概念…………………………132 5.5.2内核异常向量表的初始化……133 5.5.3 Linux中断处理…………………………………………………………135 55.4内核版本2.6.38后的中断处理系统的一些改变—通用中断 子系统… 142 5.6 ARM-Linux系统调用…143 5.7本章小结…… …146 习题……………………………………………………………………146 目录 第6章 Linux文件系统 148 6.1 Linux文件系统概述… ………148 6.2ext2文件系统格式… 审和和 新+,,, 150 6.2.1ext2文件系统……………15 6.2,2目录结构 153 6.3ext3和ext4文件系统………………………………………………154 6.3.1ext3文件系统…54 6.3.2ex4文件系统………………………………………………155 6.4嵌人式文件系统JFFS2… ……………………155 6,4,1嵌入式文件系统 155 6.4.2JFFs2嵌入式文件系统………………………………………………157 6.5 YAFFS与 YAFFS2文件系统简介 ………164 6.5.1 YAFFS文件系统…………………………………………………164 6.5.2 YAFFS2文件系统简介………………………………………………165 6.6根文件系统 …166 6.,6,1根文件系统概述 166 6.6.2根文件系统的制作工具— Busy Box…………………………168 6.6.3 YAFFS2文件系统的创建 170 6.7本章小结……………………………………………………………171 习题…………………………… ……171 第7章嵌入式 Linux系统移植及调试………………………………………………172 7.1 Boot loader基本概念与典型结构 172 7.1.1 Bootloader基本概念……,.112 7.1.2 Boot loader的操作模式 ………173 7.1.3 Boot Loader的典型结构 ………………………………174 7.1.4常见的 Bootloader………………………………………………174 7.2U-Boot……………………… 175 7.2.1 U-Boot概述……………………………………………………………175 7.2.2U-Boot启动的一般流程………176 7.2.3U-Boot环境变量…… …180 7.2.4U-Boot命令…………………………………………"………………181 7.3交叉开发环境的建立………………………………………………………183 7.4交叉编译工具链 185 7.4.1交叉编译工具链概述 185 7.4.2工具链的构建方法 186 7.4.3交叉编译工具链的主要工具 186 7.4.4 Makefile… …………………………………192

...展开详情
试读 400P 嵌入式系统设计与应用  基于ARM Cortex-A8和Linux
立即下载 低至0.43元/次 身份认证VIP会员低至7折
一个资源只可评论一次,评论内容不能少于5个字
HYP_2009 有导览目录,完整版,不错的书.
2018-12-27
回复
您会向同学/朋友/同事推荐我们的CSDN下载吗?
谢谢参与!您的真实评价是我们改进的动力~
上传资源赚积分or赚钱
最新推荐
嵌入式系统设计与应用 基于ARM Cortex-A8和Linux 14积分/C币 立即下载
1/400
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第1页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第2页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第3页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第4页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第5页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第6页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第7页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第8页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第9页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第10页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第11页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第12页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第13页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第14页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第15页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第16页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第17页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第18页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第19页
嵌入式系统设计与应用  基于ARM Cortex-A8和Linux第20页

试读结束, 可继续阅读

14积分/C币 立即下载 >