- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
摘 要
随着移动设备的流行和发展,嵌入式系统已经成为一个热点。它并不是最近出现的新技术,只是随着微电子技术和计算机技术的发展,微控制芯片功能越来越大,而嵌入微控制芯片的设备和系统越来越多,从而使得这种技术越来越引人注目。
windows?CE之所以脱颖而出,是因为Windows?CE的高级特性,诸如网络、通信以及图形功能,和模块化设计结合在一起,为中级开发人员创建高复杂度嵌入式系统提供了理想的环境。同时,Windows?CE提供一个稳定、灵活且被广泛支持的操作系统来处理建立在嵌入式系统上的多种多样的硬件平台和软件应用程序。本文所要研究的就是基于ARM嵌入式系统的DMA控制器驱动程序的设计。
关键字:嵌入式,ARM,DMA
目 录
第1章、设计目的 1
第2章、设计思路 2
2.1 ARM实验箱硬件资源概述 2
2.2 ARM的DMA控制器 3
第3章、关键技术 4
3.1 ARM9处理器 4
3.2嵌入式C语言开发技术 5
3.3 ADS开发环境 6
3.4 DMA控制器 7
3.4.1 DMA控制器工作原理 7
3.4.2 DMA方式特点 8
3.4.3 DMA方式的具体过程 8
3.4.4 DMA通道可处理的4种情况 8
3.5 实验详解 8
第4章、程序流程 12
第5章、主要源代码 13
5.1 主函数设计 13
5.2 定时器初始化程序 14
第6章、运行结果及结论 15
6.1 运行结果 15
6.2 结论 15
第7章、参考文献 16
第1章、设计目的
通过课程设计,熟悉基于ARM微处理器的嵌入式系统开发的过程,掌握嵌入式系统开发的知识。针对某一嵌入式微处理器进行实际开发,锻炼实践动手能力。了解并熟悉DMA的概念及其工作原理,掌握ARM相应的寄存器配置,能够用C编写相应的程序。
第2章、设计思路
2.1 ARM实验箱硬件资源概述
EL-ARM-830型教学实验系统属于一种综合的教学实验系统,该系统采用了目前在国内普遍认同的ARM920T核,32位微处理器,实现了多模块的应用实验。它是集学习、应用编程、开发研究于一体ARM实验教学系统。用户可根据自己的需求选用不同类型的CPU适配板,兼容ARM7与ARM9,而不需要改变任何配置,同时,实验系统上的Tech_V总线能够拓展较为丰富的实验接口板。用户在了解Tech_V标准后,更能研发出不同用途的实验接口板。除此之外,在实验板上有丰富的外围扩展资源(数字、模拟信号发生器,数字量IO输入输出,语音编解码、人机接口等单元),可以完成ARM的基础实验、算法实验和数据通信实验、以太网实验。
图2.1 EL-ARM-830实验教学系统的功能框图
2.2 ARM的DMA控制器
中断方式是在CPU的控制下进行的,中断方式尽管可以实时的响应外部中断源的请求,但由于它需要额外的开销时间,以及中断处理服务时间,使得的中断的响应频率受到限制。当高速外设与计算机系统进行信息交换时,若采用中断方式, CPU将会频繁的出现中断而不能完成主要任务或者根本来不及响应中断而造成数据的丢失现象,因而传输速率受CPU运行指令速度的限制。采取DMA方式,即(Direct Memory Acess),可以确保外设和计算机系统进行高速信息交换。这种方式是存储器与外设在DMA控制器的控制下,直接传送数据而不通过CPU,传输速率主要取决于存储器存取速度。它为高速I/O设备和存储器之间的批量数据交换提供了直接的传输通道。这里,“直接”的含义是在DMA传输过程中,DMA控制器负责管理整个操作,CPU不参与管理。
S3C2410有4个通道控制器,作为简单的事例,阐述原理。本程序是用DMA方法实现串口数据的发送,故使用BDMA。
第3章、关键技术
3.1 ARM9处理器
新一代的ARM9处理器,通过全新的设计,采用了更多的晶体管,能够达到两倍以上于ARM7处理器的处理能力。这种处理能力的提高是通过增加时钟频率和减少指令执行周期实现的。ARM9系列包括三种处理器:ARM926EJ-S、ARM946E-S和ARM968E-S。[1]
时钟频率的提高
ARM7处理器采用3级流水线,而ARM9采用5级流水线。增加的流水线
设计提高了时钟频率和并行处理能力。5级流水线能够将每一个指令处理分配到5个时钟周期内,在每一个时钟周期内同时有5个指令在执行。
指令周期的改进
指令周期的改进对于处理器性能的提高有很大的帮助。性能提高的幅度依赖于代码执行时指令的重叠,这实际上是程序本身的问题。对于采用最高级的语言,一般来说,性能的提高在30%左右。
loads指令和stores指令
指令周期数的改进最明显的是loads指令和stores指令。从ARM7到ARM9这两条指令的执行时间减少了30%。指令周期的减少是由于ARM7和ARM9两种处理器
文档评论(0)