词条 | ARM嵌入式常用模块与综合系统设计实例精讲 |
释义 | 《ARM嵌入式常用模块与综合系统设计实例精讲》针对目前通用流行的ARM嵌入式处理器,通过实例精讲的形式,详细介绍了ARM嵌入式常用模块与综合应用系统设计的方法及技巧。《ARM嵌入式常用模块与综合系统设计实例精讲》配有一张光盘,包含了全书所有实例的硬件原理图和程序源代码,方便读者学习和使用。《ARM嵌入式常用模块与综合系统设计实例精讲》适合广大计算机、自动化、电子及硬件等相关专业的大学生,以及从事ARM开发的科研人员使用。 介绍版权信息书 名: ARM嵌入式常用模块与综合系统设计实例精讲 作 者:张绮文 出版社: 电子工业出版社 出版时间: 2008 ISBN: 9787121070358 开本: 16 定价: 59.00 元 内容简介《ARM嵌入式常用模块与综合系统设计实例精讲》是畅销书《ARM嵌入式常用模块与综合系统设计实例精讲》的第2版。全书针对目前通用流行的ARM嵌入式处理器,通过实例精讲的形式,详细介绍了ARM嵌入式常用模块与综合应用系统设计的方法及技巧。全书共分3篇33章,第一篇为基础知识篇,简要介绍了ARM处理器及系统结构、ARM编程基础、ARM开发环境及调试系统;第二篇为常用模块设计实例篇,通过23个模块设计实例,详细介绍了ARM嵌入式的各种开发技术和使用技巧,这些模块实例基础、实用,易学易懂,全部调试通过,几乎涵盖了所有的ARM开发技术;第三篇为综合应用系统设计实例篇,通过6个综合系统实例,对前面的ARM常用模块进行了综合应用设计,经过此篇学习,读者将快速提高ARM综合系统设计的能力,步入高级工程师的行列。 《ARM嵌入式常用模块与综合系统设计实例精讲》配有一张光盘,包含了全书所有实例的硬件原理图和程序源代码,方便读者学习和使用。《ARM嵌入式常用模块与综合系统设计实例精讲》适合广大计算机、自动化、电子及硬件等相关专业的大学生,以及从事ARM开发的科研人员使用。 作者简介张绮文,男,高级研发工程师,硕士学历,具有20年工作经验,长期从事ARM、Linux的嵌入式系统开发。现在为公司电子设备质量监督主管。 其主要负责开发并投入商业应用的项目有: ARM指纹脱机模块、VidioCapture、指纹门锁、寄包柜、指纹鼠标、保险箱、电子监管网等。 座右铭:求知若饥,虚心若愚。 目录第一篇基础知识篇 第1章ARM处理器及系统结构2 1.1ARM处理器概述2 1.1.1ARM公司简介2 1.1.2ARM特点3 1.1.3ARM应用领域3 1.2ARM处理器系列5 1.3ARM内核基本结构9 1.3.1ARM内核9 1.3.2ARM扩展功能块10 1.3.3ARM启动方式13 1.4ARM处理器运行模式14 1.5ARM寄存器14 1.5.1通用寄存器14 1.5.2程序状态寄存器16 1.5.3ARM状态下的寄存器18 1.5.4Thumb状态下的寄存器19 1.6ARM存储系统20 1.6.1ARM存储方法20 1.6.2存储空间管理单元(MMU)21 1.7ARM流水线与时序23 1.7.1ARM流水线23 1.7.2ARM时序23 1.8ARM中断与异常24 1.8.1ARM异常类型25 1.8.2异常的响应及返回25 1.8.3异常的描述26 1.8.4异常的处理28 第2章ARM编程基础29 2.1ARM指令系统29 2.1.1ARM指令介绍29 2.1.2ARM指令寻址方式31 2.1.3ARM指令集34 2.2ARM汇编语言设计46 2.2.1ARM汇编器所支持的伪指令46 2.2.2汇编语言的语句格式53 2.2.3汇编语言的程序结构57 2.3ARMC语言设计58 2.3.1优化C语言编程58 2.3.2C语言与汇编混合编程64 2.3.3ARMC/C++编译器69 第3章ARM开发环境与调试系统76 3.1ADS开发环境76 3.1.1CodeWarrior的使用76 3.1.2AXD的使用83 3.2SDT开发环境86 3.2.1SDT开发环境及特点86 3.2.2SDT调试环境86 3.2.3利用SDT软件编程实例87 3.3ARM体系中调试系统概述90 3.4用仿真器调试系统92 3.4.1初始化存储器92 3.4.2在线仿真92 3.4.3常见问题94 3.5基于Angel的调试系统95 3.5.1基于Angel的调试系统概述95 3.5.2使用Angel开发应用程序98 3.5.3Angel执行的操作103 3.5.4将Angel移植到特定的 3.5.4目标系统105 3.6基于JTAG的调试系统122 3.6.1调试接口JTAG介绍122 3.6.2基于JTAG的调试系统的 3.6.2特点125 3.6.3基于JTAG的调试系统 3.6.3结构126 3.6.4目标系统中的调试功能扩展 3.6.2部件127 3.6.5基于JTAG的调试过程128 第二篇常用模块设计实例篇 第4章ARM嵌入式开发平台的 第4章构建130 4.1实例说明130 4.2ARM系统体系结构130 4.2.1硬件体系结构131 4.2.2软件体系结构133 4.3硬件平台实现方法134 4.3.1硬件电路板设计134 4.3.2ARM硬件设计原则136 4.4软件开发方法137 4.4.1软件开发流程137 4.4.2软件开发环境构建138 4.5实例总结139 第5章DMA模块应用设计140 5.1实例内容和目标140 5.2DMA数据传输原理140 5.2.1DMA操作原理141 5.2.2外部DMA请求/应答协议142 5.2.3DMA传送方式143 5.2.4DMA的寄存器介绍144 5.3软件设计145 5.4实例总结148 第6章RTC模块应用设计149 6.1实例内容和目标149 6.2RTC工作原理149 6.2.1RTC的特性149 6.2.2RTC相关寄存器150 6.3硬件设计153 6.4软件设计153 6.4.1RTC初始化154 6.4.2RTC显示控制程序154 6.5实例总结156 第7章PWM模块应用设计157 7.1实例内容和目标157 7.2PWM工作原理158 7.2.1PWM的特性158 7.2.2PWM的工作原理158 7.2.3PWM的定时操作159 7.2.4PWM的特殊寄存器160 7.3实例软件设计163 7.3.1PWM启动163 7.3.2调制PWM164 7.3.3程序代码164 7.4实例总结165 第8章看门狗定时器模块设计166 8.1实例说明166 8.2看门狗工作原理166 8.2.1看门狗定时器操作166 8.2.2看门狗定时器特殊功能 8.2.2寄存器167 8.3实例软件设计168 8.4实例总结169 第9章中断处理模块设计170 9.1实例说明170 9.2中断处理与寄存器设置171 9.2.1ARM中断处理类型171 9.2.2ARM中断及相关寄存器172 9.3中断硬件模块图173 9.4软件程序设计174 9.4.1中断处理流程174 9.4.2中断程序设计174 9.4.3中断处理程序优化175 9.5实例总结176 第10章复位模块设计177 10.1实例说明177 10.2ARM复位原理177 10.2.1ARM复位源类型177 10.2.2复位工作原理178 10.3硬件电路设计179 10.3.1复位电路原理图179 10.3.2复位电路的调试180 10.4看门狗软件复位181 10.5实例总结183 第11章A/D变换模块设计184 11.1实例说明184 11.2A/D变换原理185 11.2.1A/D变换类型185 11.2.2A/D转换过程187 11.3硬件电路设计188 11.3.1A/D模块188 11.3.2D/A模块189 11.4A/D采样软件设计190 11.5实例总结192 第12章电源模块设计193 12.1实例说明193 12.2电源工作原理193 12.2.1系统工作状态193 12.2.2外设耗电考虑194 12.3电源线与地线设计196 12.4硬件电路设计198 12.4.1直流电压产生方法198 12.4.2电源模块电路原理图198 12.5电源的软件管理200 12.6实例总结201 第13章SDRAM模块设计202 13.1实例说明202 13.2SDRAM特点202 13.2.1SDRAM状态202 13.2.2SDRAM控制203 13.2.3SDRAM时序特点204 13.2.4地址空间分配205 13.3硬件电路设计206 13.3.1SDRAM芯片206 13.3.2SDRAM模块原理图207 13.4软件设计208 13.4.1SDRAM读写208 13.4.2SDRAM软件测试209 13.5实例总结216 第14章Nand-Flash/Nor-Flash 第14章存储模块设计217 14.1实例说明217 14.2Flash原理218 14.2.1Nand-Flash与Nor-Flash 14.3.3区别218 14.2.2Flash驱动220 14.3硬件电路设计220 14.3.1Nor-Flash的设计220 14.3.2Nand-Flash的设计..222 14.3.3Nor-Flash/Nand-Flash 14.3.3跳线选择223 14.4软件设计224 14.4.1Flash数据存储操作流程224 14.4.2程序代码说明224 14.5实例总结228 第15章通用I/O模块设计229 15.1实例说明229 15.2GPIO原理229 15.2.1GPIO设备驱动原理229 15.2.2如何驱动GPIO及对应 14.3.3设备231 15.3GPIO应用举例231 15.4GPIO设备程序开发232 15.4.1开发步骤232 15.4.2GPIO端口编程233 15.5实例总结234 第16章键盘模块设计235 16.1实例说明235 16.2键盘工作原理235 16.2.1常用键盘接口235 16.2.2行列式键盘工作原理236 16.2.3键盘扫描流程237 16.3硬件电路设计237 16.3.1ARM键盘接口237 16.3.2键盘电路原理图237 16.4软件设计238 16.4.1键盘扫描程序238 16.4.2键盘测试程序242 16.4.3键盘驱动243 16.5实例总结244 第17章LCD模块设计245 17.1实例说明245 17.2LCD工作原理246 17.2.1LCD显示模式246 17.2.2LCD显示地址247 17.2.3LCD读写时序247 17.3硬件电路设计249 17.3.1LCD显示电路249 17.3.2电路原理图250 17.4软件设计251 17.4.1LCD显示定位.结构与 14.3.3驱动251 17.4.2LCD显示流程253 17.4.3LCD显示与测试253 17.4.4LCD字模显示程序257 17.5实例总结259 第18章USB设备模块设计260 18.1实例说明260 18.2设计思路分析260 18.2.1USB工作原理260 18.2.2USB特点262 18.2.3USB传输方式263 18.3硬件电路设计263 18.3.1USB接口内部结构263 18.3.2端口描述265 18.3.3USB硬件原理图266 18.4软件设计267 18.4.1固件程序的设计268 18.4.2驱动程序设计268 18.5实例总结271 第19章以太网控制器模块设计272 19.1实例说明272 19.2以太网口工作原理273 19.3硬件电路设计274 19.3.1电路原理图274 19.3.2网卡芯片调试275 19.4软件设计276 19.4.1以太网口存储及初始化276 19.4.2发送数据包277 19.4.3接收数据包278 19.4.4程序代码279 19.5实例总结286 第20章I2C总线串行接口应用 第20章设计287 20.1实例说明287 20.2I2C设计原理287 20.2.1I2C主从模式287 20.2.2I2C工作原理288 20.3I2C硬件电路设计289 20.3.1I2C串口存储器289 20.3.2电路原理图290 20.4软件设计290 20.4.1I2C读写过程设计290 20.4.2程序代码说明292 20.5实例总结300 第21章UART异步串行接口模块 第21章设计301 21.1实例说明301 21.2串行通信原理301 21.2.1异步串行通信301 21.2.2同步串行通信302 21.2.3RS-232-C接口302 21.3硬件电路设计304 21.4软件设计305 21.4.1串口中断程序305 21.4.2串口调试程序代码306 21.5实例总结308 第22章ARP网络寻址模块设计309 22.1实例说明309 22.2ARP设计310 22.2.1ARP协议工作原理310 22.2.2硬件ARP实现311 22.3软件设计311 22.3.1ARP实现流程311 22.3.2ARP程序设计313 22.4实例总结317 第23章Boot-loader模块设计318 23.1实例说明318 23.2设计思路分析319 23.2.1Boot-loader原理320 23.2.2Boot-loader的stage1322 23.2.3Boot-loader的stage2323 23.3实现方法326 23.3.1Boot-loader的设置326 23.3.2Boot-loader程序设计327 23.3.3Boot-loader程序烧写330 23.4实例总结331 第24章基于Nand-Flash的文件 第24章系统设计332 24.1实例说明332 24.2根文件系统原理332 24.2.1Linux源文件的组织结构332 24.2.2文件系统指标334 24.2.3文件系统分类334 24.3根文件创建过程336 24.3.1配置NFS336 24.3.2创建根文件系统336 24.3.3文件系统的页面管理340 24.4实例总结342 第25章GUI系统的移植与应用 第25章设计343 25.1实例说明343 25.2GUI系统原理343 25.2.1常用的GUI系统343 25.2.2GUI设计要求346 25.3不同GUI平台的移植配置347 25.3.1MicroWindows的移植配置347 25.3.2MiniGUI的移植配置348 25.3.3Qt/Embedded的移植配置348 25.4GUI图形显示的实现349 25.4.1GUI系统的移植过程349 25.4.2基于Frame-buffer的GUI 25.4.2图形显示350 25.5实例总结352 第26章ARMLinux的移植与应用 第26章设计353 26.1实例说明353 26.2Linux系统移植原理354 26.2.1系统移植类型354 26.2.2系统移植的启动阶段354 26.3ARMLinux的移植过程355 26.3.1建立Linux交叉编译环境355 26.3.2剪裁和配置ARMLinux 25.4.2内核357 26.3.3引导内核启动流程362 26.3.4编写嵌入式Linux的设备 25.4.2驱动程序364 26.4实例总结367 第27章?C/OS-Ⅱ移植与应用设计368 27.1?C/OS-Ⅱ实例内容368 27.2?C/OS-Ⅱ概述368 27.2.1?C/OS-II简介368 27.2.2?C/OS-II的特点369 27.3?C/OS-Ⅱ移植371 27.3.1?C/OS-II文件体系结构371 27.3.2?C/OS-II移植条件371 27.3.3?C/OS-II在S3C44B0X 25.4.2上的移植372 27.4?C/OS-Ⅱ实例软件设计373 27.5实例总结375 第三篇综合应用系统设计实例篇 第28章餐厅手持电子点菜系统 第28章设计378 28.1实例说明378 28.2设计思路分析378 28.2.1系统工作原理378 28.2.2系统功能模块379 28.3系统硬件设计379 28.4系统软件设计380 28.4.1系统初始化程序代码380 28.4.2主程序部分385 28.5实例总结390 第29章UDP数据报与TCP传输 第29章应用系统设计391 29.1实例说明391 29.2UDP与TCP数据传输原理391 29.2.1UDP工作原理391 29.2.2TCP工作原理392 29.3层间接口设计393 29.4软件设计396 29.4.1UDP数据报传输396 29.4.2TCP数据传输的实现401 29.5实例总结409 第30章音频编解码应用系统设计410 30.1实例说明410 30.2音频编解码原理411 30.2.1音频编解码框图411 30.2.2音频编码过程412 30.2.3IIS音频总线414 30.2.4IIS音频时钟与传输方式415 30.3硬件电路设计416 30.3.1音频A/D单元416 30.3.2与ARM音频接口417 30.4软件设计417 30.5实例总结421 第31章数字视频监控应用系统 第31章设计422 31.1实例说明422 31.2设计思路分析422 31.2.1监控系统实现方案422 31.2.2监控系统应用举例424 31.3硬件电路设计425 31.3.1ARM视频监控平台425 31.3.2VGA接口与权电阻网络426 31.3.3CMOS图像采集模块427 31.4软件设计429 31.4.1监控主程序流程429 31.4.2程序代码说明430 31.5实例总结447 第32章指纹识别应用系统设计448 32.1实例说明448 32.2指纹识别448 32.2.1基本概念449 32.2.2指纹识别的基本原理449 32.2.3指纹识别的方法450 32.3硬件电路设计454 32.3.1指纹硬件电路454 32.3.2电路原理图455 32.4软件设计456 32.4.1指纹识别驱动456 32.4.2指纹处理程序设计456 32.5实例总结464 第33章车载信息系统设计466 33.1实例说明466 33.2设计思路分析467 33.2.1车载系统的结构467 33.2.2车载系统的基本原理468 33.2.3车载系统开发平台468 33.2.4系统软件体系结构469 33.3硬件电路设计469 33.3.1硬件电路470 33.3.2硬件模块说明470 33.4软件设计472 33.4.1相关驱动说明473 33.4.2模块程序设计474 33.4.3整体设计476 33.4.4部分源程序476 33.5实例总结485 …… |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。