《基于ARM的软硬件设计---S3C2440简易学习开发的设计--毕业设计.doc》由会员分享,可在线阅读,更多相关《基于ARM的软硬件设计---S3C2440简易学习开发的设计--毕业设计.doc(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、摘要摘要本次设计的主要目的是利用ARM嵌入式系统进行实验电路板的设计和开发,以达到学习和实践相结合的目的。当今信息时代,嵌入式系统的应用无处不在,并且发展势头迅猛,当今ARM嵌入式系统应用市场份额约占75。嵌入式系统所用的计算机是嵌入到被控对象中的专用微处理器,但是功能比通用计算机专门化,具有通用计算机所不具备的针对某个方面特别设计的、合适的运算速度、高可靠性和较低比较成本的专用计算机系统。嵌入式系统是计算机技术、通信技术、微电子技术、语音图象数据传输技术等先进技术和具体应用对象相结合后的更新换代产品。ARM技术日益成熟和不断发展,正在逐步渗入到我们生活的各个方面。ARM技术具有性能高,成本低
2、和能耗省特点。ARM在目前主要应用在工业控制领域、无线通讯技术、网络应用、消费电子产品等。行业前景极为深远,发展空间极为广大。本次设计是基于S3C2440简易学习开发的设计。在论文当中首先对ARM发展进行学习之后进行嵌入式系统的前期调研,查阅资料,了解有关参数。探索ARM未来的发展趋势以及S3C2440实验开发板的结构性能,从而着手进行元件的选择以及硬件电路的设计包括电源选择、接口设计以及储存器设计等,接着进一步进行软件编程设计和系统仿真、调试。关键词:ARM,嵌入式系统,s3c44b0实验开发板,微处理器7ABSTRACTABSTRACTThe main purpose of this de
3、sign is the design and development of the experimental circuit board using ARM embedded system, so as to achieve the purpose of combining learning and practice.In the information age, the application of embedded system is ubiquitous, and the momentum of rapid development of ARM, the application of e
4、mbedded system market share accounted for 75%. Embedded systems used in the computer is embedded into the special microprocessor controlled object, but the function than the general computer specialized, with universal computer doesnt have is specially designed for a certain aspect, the appropriate
5、speed, high reliability and low cost of the special computer system. Embedded system is the product of computer technology, communication technology, microelectronic technology, voice and image data transmission technology and other advanced technology and concrete application object after combining
6、 the update. ARM technology development and mature, is gradually infiltrated into every aspect of our lives. ARM technology has the advantages of high performance, low cost and energy saving characteristics. ARM is mainly applied in the field of industrial control, wireless communication technology,
7、 the network application, such as consumer electronics. The prospect of the industry is far-reaching, development space is extremely broad. This design is the design of S3C2440 based on the development of a simple learning. After the first ARM to learn the development of preliminary research, the em
8、bedded system access to information, understanding of the relevant parameters. Structure and properties of the future development trend of ARM and S3C2440 experimental development board, thus embarking on selection of components and the design of hardware circuit includes a power selection, interfac
9、e design and storage design, followed by a further software programming and system simulation, debugging.Keywords: ARM, embedded system, S3C44B0 experimental development board, microprocessor目录目 录第1章 ARM嵌入式系统的概述11.1 ARM嵌入式系统发展现状11.2 ARM嵌入式系统的发展趋势2第2章 S3C44B0简介52.1 S3C44B0概述52.2 S3C44B0X特性:62.3 S3C44
10、B0X的结构框图:7第3章 绪论93.1设计目的93.2设计任务93.3设计背景93.3.1 S3C44B0简介93.3.2 S3C44B0X特性:103.4设计思路(原理组成框图、资源分配)11第4章 电路设计134.1电源和复位电路设计134.2 晶振电路设计144.3 JTAG接口154.4 存储器电路设计164.1.1 Flash 存储器接口电路164.1.2 SDRAM 存储器接口电路17第5章 PCB布局和布线18第6章 程序设计196.1 配置ADS集成开发环境196.2建立工程文件256.3 进行程序的在线仿真、调试326.4选择调试目标326.5调试工具条34第7章 结论与展
11、望367.1 结论367.2 展望36参考文献38致谢39第1章 ARM嵌入式系统的概述第1章 ARM嵌入式系统的概述1.1 ARM嵌入式系统发展现状ARM是目前业界公认领先的32位嵌入式RISC(精简指令计算机)微处理器。ARM技术日益成熟和不断发展,正在逐步渗入到我们生活的各个方面。ARM在目前主要应用于工业控制、无线通讯技术、网络应用、消费电子产品等领域。随着信息化,智能化,网络化的发展,嵌入式系统技术也将获得广阔的发展空间。 进入20世纪90年代,ARM嵌入式技术全面展开,目前已成为通信和消费类产品的共同发展方向。在通信领域,数字技术正在全面取代模拟技术。在广播电视领域,美国已开始由模
12、拟电视向数字电视转变,欧洲的数字电视广播技术已在全球大多数国家推广。数字音频广播也已进入商品化试播阶段。而软件、集成电路和新型元器件在产业发展中的作用日益重要。所有上述产品中,都离不开嵌入式系统技术。在个人领域中,嵌入式产品将主要是个人商用,作为个人移动的数据处理和通讯软件。由于ARM嵌入式设备具有自然的人机交互界面,GUI屏幕为中心的多媒体界面给人很大的亲和力。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像已取得初步成效。 目前一些先进的液晶显示已实现汉字写入、短消息语音发布,日用范围也将日益广阔。对于企业专用解决方案,如物流管理、条码扫描、移动信息采集等,这种小型手持嵌入式系统
13、将发挥巨大的作用。自动控制领域,不仅可以用于ATM机,自动售货机,工业控制等专用设备,与移动通讯设备结合、GPS、娱乐相结合,嵌入式系统同样可以发挥巨大的作用。嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同时还需要提供强大的硬件开发工具和软件包支持。目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。网络化、信息化的要求随着因特网技术的成熟、带宽的提高日益提高,使得以往单一功能的设备功能不再单一,结构更加复杂。软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。未来的嵌入式
14、设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。软件方面系统系统内核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网。未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。 硬件方面,不仅有各大公司的微处理器芯片,还有用于学习和研发的各种配套开发包。目前低层系统和硬件平台经过若干年的研究,已经相对比较成熟,实现各种功能的芯片应有尽有。而且巨大的市场需求给我们提供了学习研发的资金和技术力量
15、。从软件方面讲,也有相当部分的成熟软件系统。国外商品化的嵌入式实时操作系统,已进入我国市场的有WindRiver、Microsoft、QNX和Nuclear等产品。我国自主开发的嵌入式系统软件产品如科银(CoreTek)公司的嵌入式软件开DeltaSystem,中科院推出的Hopen嵌入式操作系统。同时因为是研究热点,所以我们可以在网上找到各种各样的免费资源,从各大厂商的开发文档,到各种驱动程序,甚至很多厂商还提供微处理器的样片。这对于我们从事这方面的研发,无疑是个资源宝库。对于软件设计来说,不管是上手还是进一步开发,都相对来说比较容易,这就使得很多生手能够比较快的进入研究状态,利于发挥大家的
16、积极创造性。1.2 ARM嵌入式系统的发展趋势由于网络与通讯技术的发展,嵌入式系统在经历了近20年的发展历程后进入了一个新的历史发展的阶段,即从普通的低端应用进入到一个高、低端并行发展,并且不断提升低端应用技术的时代,其标志是近年来32位MCU的发展。32位MCU的应用不会走8位机百花齐放、百余种型号系列齐上阵的道路,这是因为在8位机低端应用中,嵌入对象与对象专业领域十分广泛而复杂;而当前32位MCU的高端应用则集中在网络、通信和多媒体技术领域,32位MCU将会集中在少数厂家发展的少数型号系列上。在嵌入式系统高端应用的发展中,曾经有众多厂家参加,很早就有许多8位嵌入式MCU厂家实施了8位、16
17、位和32位机的发展计划。后来,8位和32位机的技术扩展侵占了16位机的发展空间。传统电子系统智能化对8位机的需要使得这些厂家将主要精力放在8位机上的发展上。形成了32位机发展迟迟不前的局面。当网络、通讯和多媒体信息家电兴起后,出现嵌入式系统高端应用的市场;而在嵌入式系统的高端应用中,进行多年技术准备的ARM公司适时的推出32位ARM系列嵌入式微处理器,以其明显的性能优势,迅速形成32位高端机应用的主流地位,以至于不少传统嵌入式系统厂家放弃了自己3位发展计划,转而使用ARM内核来发展自己的32位MCU。甚至在嵌入式系统发展的历史上做出卓越贡献的Intel公司以及单片微型计算机发展到微控制器的PH
18、ILIPS公司,在发展自己32位嵌入式系统是不得不另起炉灶,而是使用ARM公司的嵌入式系统内核来发展自己的32位MCU。网络、通信、多媒体和信息家电时代的到来,无疑为32位嵌入式系统高端应用提供了空前巨大的发展空间;同时,也为力不从心的8位机向高端发展起到竭力作用。一般来说,嵌入式系统的高、低端应用模糊的界定为:高端应用不被海量数据处理网络、通信和多媒体领域,低端则是用于对象系统的控制领域。然而,控制系统的网络化、智能化的发展趋势要求在8位机的应用中提升海量数据处理能力。当8位机无法满足这些提升的要求时,便会转而求助32位机的解决办法。因此,32位机的市场需求发展由两方面所致:一方面是高端新兴
19、领域(网络、通信、多媒体和信息家电)的拓展;另一方面是低端控制领域应用在数据处理能力的提升要求。后PC时代的到来以及32位嵌入式系统的高端应用吸引了大量计算机专业人士的介入,加入嵌入式系统/硬件技术的发展,导致嵌入式系统应用模式的巨大变化,即使嵌入式系统应用进入到一个基于软/硬件平台、集成开发环境的应用系统开发的时代,并带动SoC技术的发展。信息时代,数字时代使得嵌入式产品获得了巨大的发展契机,为嵌入式市场展现了美好的前景,同时也对嵌入式生产厂商提出了新的挑战,从中我们可以看出未来嵌入式系统的几大发展趋势(1) 嵌入式开发是一项系统工程,因此要求嵌入式系统厂商不仅要提供嵌入式软硬件系统本身,同
20、时还需要提供强大的硬件开发工具和软件包支持。目前很多厂商已经充分考虑到这一点,在主推系统的同时,将开发环境也作为重点推广。比如三星在推广Arm7,Arm9芯片的同时还提供开发板和版级支持包(BSP),而WindowCE在主推系统时也提供Embedded VC作为开发工具,还有Vxworks的Tonado开发环境,DeltaOS的Limda编译环境等等都是这一趋势的典型体现。当然,这也是市场竞争的结果。 (2) 随着因特网技术的成熟、带宽的提高日益提高,网络化、信息化的要求使得以往单一功能的设备如电话、手机、冰箱、微波炉等功能不再单一,结构更加复杂。这就要求芯片设计厂商在芯片上集成更多的功能,为
21、了满足应用功能的升级,设计师们一方面采用更强大的嵌入式处理器如32位、64位RISC芯片或信号处理器DSP增强处理能力,同时增加功能接口,如USB,扩展总线类型,如CAN BUS,加强对多媒体、图形等的处理,逐步实施片上系统(SOC)的概念。软件方面采用实时多任务编程技术和交叉开发工具技术来控制功能复杂性,简化应用程序设计、保障软件质量和缩短开发周期。(3) 网络互联成为必然趋势。未来的嵌入式设备为了适应网络发展的要求,必然要求硬件上提供各种网络通信接口。传统的单片机对于网络支持不足,而新一代的嵌入式处理器已经开始内嵌网络接口,除了支持TCPIP协议,还有的支持IEEE1394、USB、CAN
22、、Bluetooth或IrDA通信接口中的一种或者几种,同时也需要提供相应的通信组网协议软件和物理层驱动软件。软件方面系统内核支持网络模块,甚至可以在设备上嵌入Web浏览器,真正实现随时随地用各种设备上网。(4) 精简系统内核、算法,降低功耗和软硬件成本。未来的嵌入式产品是软硬件紧密结合的设备,为了减低功耗和成本,需要设计者尽量精简系统内核,只保留和系统功能紧密相关的软硬件,利用最低的资源实现最适当的功能,这就要求设计者选用最佳的编程模型和不断改进算法,优化编译器性能。因此,既要软件人员有丰富的硬件知识,又需要发展先进嵌入式软件技术,如Java、Web和WAP等。 (5) 提供友好的多媒体人机
23、界面。嵌入式设备能与用户亲密接触,最重要的因素就是它能提供非常友好的用户界面。图像界面,灵活的控制方式,使得人们感觉嵌入式设备就象是一个熟悉的老朋友。这方面的要求使得嵌入式软件设计者要在图形界面,多媒体技术上痛下苦功。手写文字输入、语音拨号上网、收发电子邮件以及彩色图形、图像都会使使用者获得自由的感受。目前一些先进的PDA在显示屏幕上已实现汉字写入、短消息语音发布,但一般的嵌入式设备距离这个要求还有很长的路要走。第2章 S3C44B0简介第2章 S3C44B0简介2.1 S3C44B0概述S3C44B0X是一款基于ARM7TDMI内核技术的16/32位RISC处理器,扩展了一系列完整的通用外围
24、器件,使系统的费用降至最低,减低了硬件开发的难度。本嵌入式系统配置了2MB的FLASH存储器以及8MB的SDRM存储器。 Samsung 公司推出的 16/32 位 RISC 处理器 S3C44B0X 为手持设备和一般类型应用提供了高性价比和高性能的微控制器解决方案。为了降低成本,S3C44B0X 提供了丰富的内置部件,包括:8KB cache,内部 SRAM,LCD 控制器,带自动握手的 2 通道 UART,4 通道 DMA,系统管理器(片选逻辑,FP/EDO/SDRAM 控制器),代用 PWM 功能的 5 通道定制器,I/O端口,RTC,8 通道 10 位 ADC,IIC-BUS 接口,I
25、IS-BUS 接口,同步 SIO 接口和 PLL 倍频器。S3C44B0X 采用了 ARM7TDMI 内核,0.25um 工艺的 CMOS 标准宏单元和存储编译器。它的低功耗精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。同样 S3C44B0X还采用了一种新的总线结构,即 SAMBAII(三星 ARM CPU 嵌入式微处理器总线结构)。S3C44B0X的杰出特性是它的CPU核,是由ARM公司设计的16/32位ARM7TDMI RISC处理器(66MHZ)。ARM7TDMI 体系结构的特点是它集成了 Thumb 代码压缩器,片上的 ICE断点调试支持,和一个 32 位的硬件乘法器。S3C
26、44B0X 通过提供全面的、通用的片上外设,大大减少了系统电路中除处理器以外的元器件配置,从而最小化系统的成本。本章将对下面所列的各种片上功能进行介绍。2.5V ARM7TDMI 内核,带有8K高速缓存器(SAMBA II总线体系结构,主频高至66MHz);外部存储器控制器(FP/EDO/SDRAM控制,片选逻辑);LCD控制器(最大支持256色STN,LCD具有专用DMA);2通道通用DMA、2通道外设DMA并具有外部请求引脚;2通道UART 带有握手协议(支持IrDA1.0, 具有16-byte FIFO)/1通道SIO;1通道多主IIC-BUS控制器;1通道IIS-BUS控制器;5个PW
27、M定时器和1通道内部定时器;看门狗定时器;71个通用I/O口/8通道外部中断源;功耗控制:具有普通,慢速,空闲和停止模式;8通道10位ADC;具有日历功能的RTC;具有PLL的片上时钟发生器。2.2 S3C44B0X特性: 16/32位RISC体系结构和ARM7TDMI处理器内核强大的指令体系; Thumb代码压缩机,最大化代码密度同时保持了32位指令的性能; 基于JTAG的片上集成ICE调方式支持解决方案; 328位硬件乘法器; 实现低功耗SAMBAII的新型总线结构。内核:2.5V I/O : 3.0 V 到 3.6 V;最高为66MHz;封装:160 LQFP / 160 FBGA。2.
28、3 S3C44B0X的结构框图:S3C44B0X的结构图如图2-3所示:图2-3:S3C44B0X的结构图1.复位电路可完成系统上电复位和在系统工作时用户按键复位。2.电源电路为S3C44B0X及其他需要3.3V电源的外围电路供电。3.晶振为系统提供工作时钟,通过片内PLL(时钟发生器)电路倍频作为微4.处理器的工作时钟。5.Flash存储器可存放已调试好的用户应用程序、嵌入式操作系统或其他在系统掉电后需要保存的用户数据等。6.SDRAM存储器作为系统运行时的主要区域,系统及用户数据、堆栈均位于SDRAM存储器中。7.JTAG接口可对芯片内部的所有部件进行访问,通过该接口可对系统进行调试、编程
29、等。8.系统总线扩展引出了数据总线、地址总线和必需的控制总线,便于用户根据自身的特定要求扩展外围电路。9.串行接口电路用于系统与其他应用系统的短距离双向串行通信。10.10M以太网接口为系统提供以太网接入的物理通道,通过该接口,系统可以10Mb/s的速率接入以太网。第3章 绪论第3章 绪论3.1设计目的板级电子系统开发是电子类及相关专业非常重要的实践性教学环节, 通过开发完整的电子系统,可锻炼运用所学知识进行电子设计的能力,为后续研究设计以及就业打下良好基础。3.2设计任务在S3C44B0开发板上设计最小系统3.3设计背景3.3.1 S3C44B0简介S3C44B0X是一款基于ARM7TDMI
30、内核技术的16/32位RISC处理器,扩展了一系列完整的通用外围器件,使系统的费用降至最低,减低了硬件开发的难度。本嵌入式系统配置了2MB的FLASH存储器以及8MB的SDRM存储器。 Samsung 公司推出的 16/32 位 RISC 处理器 S3C44B0X 为手持设备和一般类型应用提供了高性价比和高性能的微控制器解决方案。为了降低成本,S3C44B0X 提供了丰富的内置部件,包括:8KB cache,内部 SRAM,LCD 控制器,带自动握手的 2 通道 UART,4 通道 DMA,系统管理器(片选逻辑,FP/EDO/SDRAM 控制器),代用 PWM 功能的 5 通道定制器,I/O端
31、口,RTC,8 通道 10 位 ADC,IIC-BUS 接口,IIS-BUS 接口,同步 SIO 接口和 PLL 倍频器。S3C44B0X 采用了 ARM7TDMI 内核,0.25um 工艺的 CMOS 标准宏单元和存储编译器。它的低功耗精简和出色的全静态设计特别适用于对成本和功耗敏感的应用。同样 S3C44B0X还采用了一种新的总线结构,即 SAMBAII(三星 ARM CPU 嵌入式微处理器总线结构)。S3C44B0X的杰出特性是它的CPU核,是由ARM公司设计的16/32位ARM7TDMI RISC处理器(66MHZ)。ARM7TDMI 体系结构的特点是它集成了 Thumb 代码压缩器,
32、片上的 ICE断点调试支持,和一个 32 位的硬件乘法器。S3C44B0X 通过提供全面的、通用的片上外设,大大减少了系统电路中除处理器以外的元器件配置,从而最小化系统的成本。本章将对下面所列的各种片上功能进行介绍。2.5V ARM7TDMI 内核,带有8K高速缓存器(SAMBA II总线体系结构,主频高至66MHz);外部存储器控制器(FP/EDO/SDRAM控制,片选逻辑);LCD控制器(最大支持256色STN,LCD具有专用DMA);2通道通用DMA、2通道外设DMA并具有外部请求引脚;2通道UART 带有握手协议(支持IrDA1.0, 具有16-byte FIFO)/1通道SIO;1通
33、道多主IIC-BUS控制器;1通道IIS-BUS控制器;5个PWM定时器和1通道内部定时器;看门狗定时器;71个通用I/O口/8通道外部中断源;功耗控制:具有普通,慢速,空闲和停止模式;8通道10位ADC;具有日历功能的RTC;具有PLL的片上时钟发生器。3.3.2 S3C44B0X特性:内核:2.5V I/O : 3.0 V 到 3.6 V;最高为66MHz;封装:160 LQFP / 160 FBGA。3.4设计思路(原理组成框图、资源分配)既然是设计最小系统就需要反映出“系统”和“最小”两大特征来,只有独立运行而且方便调试的ARM硬件才能成为“系统”,而“最小”则要求设计的系统不能大而全
34、,仅仅需要设计让系统能独立运行和调试的几本硬件就可以了,另外成本也尽可能的低。满足上述功能的s3c44b0最小系统设计思路如下,要让s3c44b0处理器能独立运行和调试就必须满足基本的独立运行和调试工作条件,因此需设计下列基本电路及系统:电源、时钟、复位电路、存储系统、调试系统。 复位时钟电源NOR FLASHSDRAMS3C44B0图3-1:原理组成框图11第4章 电路设计第4章 电路设计4.1电源和复位电路设计设计电源时要考虑的因素:a.输出的电压、电流、功率;b.输入的电压、电流;c.安全因素;d.输出纹波;e.电磁兼容和电磁干扰;f.体积、功耗、成本限制。系统采用DC5V稳压电源进行供
35、电,电源输入后经过两个稳压芯片产生3.3V和2.5V 电压,给MCU的I/O和ARM内核供电,如图4-1所示。图4-1 电源原理图在系统中,复位电路主要完成系统的上电复位和系统在运行时用户的按键复位功能。复位电路可由简单的RC电路构成,也可使用其他的相对较复杂,但功能更完善的电路。本系统采用较简单的RC复位电路,如图1-2所示。该复位电路的工作原理如下:在系统上电时,通过电阻R向电容C充电,当C两端的电压未达到高电平的门限电压时,Reset端输出为低电平,系统处于复位状态;当C两端的电压达到高电平的门限电压时,Reset端输出为高电平,系统进入正常工作状态。简单的RC复位电路:图4-2 时钟与
36、复位当用户按下按钮S时,C两端的电荷被泄放掉,Reset端输出为低电平,系统进入复位状态,再重复以上的充电过程,系统进入正常工作状态。两级非门电路用于按钮去抖动和波形整形;通过调整R和C的参数,可调整复位状态的时间。4.2 晶振电路设计晶振电路用于向CPU及其他电路提供工作时钟,S3C44B0X的时钟源来自晶振,也可以是外部时钟。S3C44B0X的内部时钟发生器可产生CPU和外设所需要的时钟信号。时钟发生器有一个振荡器连接到外部的晶体上,同时片内的PLL电路把低频振荡器的输出作为自己的输入,产生S3C44B0X所需要的高频信号,因此,系统可以较低的外部时钟信号获得较高的工作频率,以降低因高速开
37、关时钟所造成的高频噪声。根据S3C44B0X的最高工作频率以及PLL电路的工作方式,选择10MHz的无源晶振,10MHz的晶振频率经过S3C44B0X片内的PLL电路倍频后,最高可以达到66MHz。电路如图4-3所示:图4-3 晶振电路设计XTAI0为系统时钟输入信号FXTAI0为系统时钟电路的输出信号4.3 JTAG接口JTAG(Joint Test Action Group,联合测试行动小组)是一种国际标准测试协议,主要用于芯片内部测试及对系统进行仿真、调试。JTAG技术是一种嵌入式调试技术,它在芯片内部封装了专门的测试电路TAP(test access port,测试访问口),通过专用的
38、JTAG测试工具对内部节点进行测试。目前大多数比较复杂的器件都支持JTAG协议,如ARM、DSP和FPGA器件等。标准的JTAG接口是4线:TMS、TCK、TDI和TDO,分别为测试模式选择、测试时钟、测试数据输入和测试数据输出。其结构如图4-4所示:图4-4 JTAG接口4.4 存储器电路设计4.1.1 Flash 存储器接口电路这里以Embest S3CV40开发板存储系统为例,介绍Flash存储器接口电路。如图1-3所示,电路采用一片1M16位的Flash(AM29LV128M),Flash ROM采用标准总线接口与处理器交互,处理器通过片选nGCS0与片外Flash芯片连接。电路原理图
39、如图4-5所示:图4-5 Flash存储器接口电路4.1.2 SDRAM 存储器接口电路SDRAM的特点:不具有掉电保持数据的特性。但其存取速度大大高于Flash存储器。可读/写。基于SDRAM的这些特点,SDRAM在系统中主要用作程序的运行空间,数据及堆栈区。这样可以提高系统的运行速度,系统及用户堆栈、运行数据也都放在SDRAM中。电路原理图如图4-6所示:图4-6 SDRAM存储器接口电路17第5章 PCB布局和布线第5章 PCB布局和布线PCB布局和布线结果如图5-1所示:图5-1 PCB布局和布线结果第6章 程序设计第6章 程序设计本节使用天祥电子的搭载S3C44B0的开发板来进行程序
40、设计的研究。6.1 配置ADS集成开发环境1.运行ADS1.2集成开发环境(CodeWarriorforARMDeveloperSuite)。选择FileNew命令,在对话框中选择Project选项卡,如图61所示,新建一个工程文件。其中示例的工程名为Exp6.mcp。单击Set按钮可为该工程选择路径,如图62所示,选中CreateFolder复选框后将以图61中的Projectname或图62中的文件名作为创建目录的名称,这样可以将所有与该工程相关的文件放到该工程目录下,便于管理工程。注意:在图6-2工程模板列表中选择ARMExecutableImage通用模板。随后将一步一步地把它配置成针
41、对TX-3A开发板的模板44B0ARMExecutableImage,并把它复制到ADS1.2安装目录下的Stationery目录中(所有的工程模板都在此目录下)。以后新建工程时,在工程模板列表中直接选中44B0ARMExecutableImage模板选项即可,不必每次重新配置模板。图6-1新建工程图6-2保存工程2.在新建的工程中,如图63所示,选择DebugRel版本,使 用Edit|DebugRelSettings命令对DebugRel版本进行参数设置。图6-3选择版本3.在DebugRelSettings对话框中选择TargetSettings选项,如图64所示在Postlinker列
42、表框中选择ARMfromELF,单击右下角的Apply按钮使其有效。图6-4 选择TargetSetting4.在DebugRelSettings对话框中选择ARMLinker选项,如图65所示。在Output选项卡的Linktype选项组中有3种类型的连接方式,常用的是Simple和Scattered两种。Simple是一种简单设置,我们在这里选中Simple单选按钮,并按照下面的步骤进行设置。5.选中Simple单选按钮,如图65所示。在Simpleimage选项组中设置连接的ReadOnly(只读)和ReadWrite(读写)地址。地址0x0c008000是在开发板上SDRAM的真实地址
43、(从0x0c000000起始)范围内,是由系统的硬件决定的;后面的RWBase不用写,或写成0x00000000也行。图6-5设置连接地址范围提示: 程序移植到ADS后,首先执行用汇编语言写初始化代码,包括中断向量和内存空间初始化。在该段代码中使用IMPORT _main;(注意main前面是两个半字下划线)B _main进行系统内部标准C函数初始化,然后调用用户在C语言中定义的main()函数(注意:两个main都是小写),而且在嵌入式应用中用户在C语言中定义的main函数不能有参数(int main(void)。不能有系统定义的软中断,在汇编语言中可以使用IMPORT_use_no_sem
44、ihosting_swi来检测,在C语言中使用#pragmaimport(_use_no_semihosting_swi)/ensurenofunctionsthatusesemihosting6.在DebugRelSettings对话框中选择ARMLinker选项,如图66所示。单击Layout选项卡。在Layout选项卡的Placeatbeginningofimage选项组中设置程序的入口模块。TX3A开发板在生成的代码中,程序是从vector.s开始运行的,vector.s经过编译生成vector.o文件,所以这里在Object/Symbol/项里设为vector.o,Section项设
45、为selfboot。关于这段代码可打开TX3A配套代码中的vector.s文件查看如下代码段:;*AREASelfBoot,CODE,READONLYIMPORTUDF_INS_VECTORIMPORTSWI_SVC_VECTORIMPORTINS_ABT_VECTORIMPORTDAT_ABT_VECTORIMPORTIRQ_SVC_VECTORIMPORTFIQ_SVC_VECTORENTRYIF:DEF:|ads$version|ELSEEXPORT_main_mainENDIFResetEntrybSYS_RST_HANDLER bUDF_INS_HANDLERbSWI_SVC_HANDLERbINS_ABT_HANDLERbDAT_ABT_HANDLERb.bIRQ_SVC_HANDLERbFIQ_SVC_HANDLER;*上面代码中“AREASelfBoot,CODE,READONLY”此行中有个selfboot,这个字母组合必须与图66中的Section中一致,因为这是总程序的入口处。图6-6设置程序入口7.在DebugRelSettings对话框中选择ARMfromELF选项,如图67所示。在Outputformat框中设置输出文件格式为Intel32bitHes,在Outputfil