沈阳理工大学课程设计专用纸摘要随着移动设备的流行和发展,嵌入式系统已经成为一个热点。它并不是最近出现的新技术,只是随着微电子技术和计算机技术的发展,微控制芯片功能越来越大,而嵌入微控制芯片的设备和系统越来越多,从而使得这种技术越来越引人注目。windowsCE之所以脱颖而出,是因为WindowsCE的高级特性,诸如网络、通信以及图形功能,和模块化设计结合在一起,为中级开发人员创建高复杂度嵌入式系统提供了理想的环境。同时,WindowsCE提供一个稳定、灵活且被广泛支持的操作系统来处理建立在嵌入式系统上的多种多样的硬件平台和软件应用程序。本文所要研究的就是基于ARM嵌入式系统的DMA控制器驱动程序的设计。关键字:嵌入式,ARM,DMA沈阳理工大学课程设计专用纸No-1-目录第一章嵌入式发展历程.........................................................................................-1-1.1嵌入式的功能..............................................................................................-2-1.2嵌入式系统的特点.....................................................................................-2-第二章硬件.............................................................................................................-3-2.1ARM920T,中央处理器.........................................................................-3-2.2S3C2410典型内核(ARM920T)结构图.............................................-3-第三章嵌入式系统的组成.....................................................................................-5-3.1硬件层.........................................................................................................-5-3.2中间层.........................................................................................................-5-3.3系统软件层.................................................................................................-6-第四章ARM处理器系统初始化过程...................................................................-7-4.1ARM处理器系统初始化编程注意事项.................................................-7-4.1.1将程序从flash搬移到DRAM中运行............................................-7-4.1.2系统工作在虚拟地址模式................................................................-8-4.2嵌入式系统设计流程.................................................................................-8-4.2.1ARM的启动..................................................................................-8-4.2.2分配中断向量表...............................................................................-9-4.2.3初始化存储器系统...........................................................................-9-4.3初始化堆栈...............................................................................................-10-4.4ADS开发环境........................................................................................-10-第五章软件设计...................................................................................................-11-5.1软件编码设置...........................................................................................-11-5.1.1建立新工程............................................................................................-11-5.1.2添加文件.........................................................................................-11-5.2ADS1.2下仿真、调试...........................................................................-11-5.3设计程序流程图.....................................................................................-12-第六章主要源代码...............................................................................................-12-6.1设置各异常模式服务子程序....................................................................-12-6.2初始化函数...............................................................................................-13-6.3设置2410的S3C2410PLL,Uart,LED,PortInit............................-17-第七章运行结果及结论.......................................................................................-22-第八章心得体会...................................................................................................-23-参考文献.................................................................................................................-24-沈阳理工大学课程设计专用纸-1-第一章嵌入式发展历程嵌入式行业的发展经历了从20世纪七十年代单片机的出现到今天各式各样的嵌入式微处理器、微控制器的大规模应用,已经有了近40年的发展历史。70年代单片机的出现,使得汽车、家电、工业机器、通信装置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性能:更容易使用、更快、更便宜。这些装置已经初步具备了嵌入式的应用特点,但是这时的应用只是使用8位的芯片,执行一些单线程的程序,还谈不上“系统”的概念。从80年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”(例如之前仅在通用计算机上使用的UNIX系统)编写嵌入式应用软件,这样可以获取更短的开发周期,更低的开发资金和更高的开发效率,真正的“嵌入式系统”出现了。确切点说,这个时候的操作系统是一个实时核,这个实时核包含了许多传统通用计算机操作系统的特征,包括任务管理、任务间通讯、同步与相互排斥、中断支持、内存管理等功能。其中比较著名的有ReadySystem公司的VRTX、IntegratedSystemIncorporation(ISI)的PSOS和IMG的VxWorks、QNX公司的QNX等。这些嵌入式操作系统都具有嵌入式的典型特点:它们均采用占先式的调度,响应的时间很短,任务执行的时间可以确定;系统内核很小,具有可裁剪、可扩充和可移植性,可以移植到各种处理器上;较强的实时和可靠性,适合嵌入式应用。这些嵌入式实时核的出现,使得应用开发人员得以从小范围的开发解放出来,同时也促使嵌入式有了更为广阔的应用空间。90年代以后,随着软件规模不断上升,对嵌入式系统实时性要求不断提高,实时核逐渐发展为实时多任务操作系统(RTOS),并作为一种软件平台(包括驱动程序、嵌入式操作系统和支撑软件,不包括应用软件)逐步成为目前国际嵌入式系统的主流。这时候更多的公司看到了嵌入式系统的广阔发展前景,开始大力发展自己的嵌入式操作系统。除了上面的几家老牌公司以外,还出现了PalmOS,WinCE,嵌入式Linux,Lynx,Nucleus,以及国内的Hopen,DeltaOs等嵌入式操作系统。随着嵌入式技术的发展前景日益广阔,相信会有更多的嵌入式操作系统软件出现。沈阳理工大学课程设计专用纸No-2--2-1.1嵌入式的功能嵌入式系统技术具有非常广阔的应用前景,其应用领域可以包括:工业控制、交通管理、信息家电、家庭智能系统、POS网络及电子商务、环境工程与自然、机器人。这些应用中,可以着重于在控制方面的应用。就远程家电控制而言,除了开发出支持TCP/IP的嵌入系统之外,家电产品控制协议也需要制订和统一,这需要家电生产厂家来做。同样的道理,所有基于网络的远程控制协议也需要与嵌入式系统之间实现接口,然后再由嵌入式系统来控制并通过网络实现控制。所以,开发和探试嵌入式系统有着十分重要的意义。相对于其他的领域,机电产品可以说是嵌入式系统应用最典型最广泛的领域之一。从最初的单片机以现在的工控机、SOC在种机电产品中均有着巨大的市场。工业设备是机电产品中最大的一类,在目前的工业控制设备中,工控机的使用非常广泛,这些工控机一般采用的是工业级的处理器和各种设备,其中以X86的MPU最多。家电行业是嵌入式应用的另一大行业,我们传统的电视,电冰箱当然其中也嵌有处理器,但是这些处理器只是在控制方面应用。而现在只有按钮、开关的电器显然已经不能满足