基于ARM的嵌入式教学平台的设计与应用

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

基于ARM的嵌入式教学平台的设计与应用

【摘要】为提高计算机类、电子类及电气控制类技师的技能水平,在技师学院全面开设嵌入式系统的课程以替代传统的8位单片机教学已是大势所趋。对于这种实践性与理论性同等重要的课程,除了讲授课程内容以外,还应该搭建完善的教学实验平台,供学生上机操作,以掌握ARM嵌入式系统的开发和设计技能。

【关键词】嵌入式系统ARM 微处理器S3C44B0X uClinux 内核

引言

嵌入式教学平台从结构上来看主要分为三个部分:底层的硬件平台,包含Boot Loader的操作系统层,以及最上面的应用层――应用程序的设计开发环境。根据嵌入式系统的现状与教学平台的实际需要,提出了既经济又实用的以ARM 加装uClinux基本的系统设计方案。

1 ARM的嵌入式系统研究背景及应用现状

嵌入式系统是以应用为中心、以计算机技术为基础,软件硬件可裁剪,适应应用系统对功能、可行性、成本、体积、功耗严格要求的专用计算机系统。嵌入式系统至今已经有30多年的历史了,嵌入式技术也经历了几个发展阶段。进入20

世纪90年代后,以计算机和软件为核心的数字化技术取得了迅猛的发展,不仅广泛渗透到社会经济、军事、交通、通信等相关行业,而且深入到家电、娱乐等各个领域,兴起了一场数字化技术革命。多媒体技术与internet应用的迅速普及,消费电子、计算机、通信技术一体化趋势明显,嵌入式技术再度成为研究的热点。

2 开设本课程的意义

基于ARM的嵌入式系统应用是如此的广泛,但“嵌入式”却鲜为人知,很多人在使用着嵌入式设备,享受着嵌入式给他们带来的便利和强大的功能时,并不知道嵌入式系统的存在。到目前为止,ARM微处理器及技术的应用几乎已经深入到各个领域:工业控制、无线通讯、网络应用、消费类电子产品、成像和安全产品,除此以外,ARM微处理器及技术还应用到许多不同的领域,并会在将来取得更加广泛的应用。因此,研究具有普遍的意义。目前,学校正在开设的传统的8位单片机技术的教学已不能适应学生就业市场的需求。鉴于以上原因,在嵌入式人才极其缺乏的今天,在职业技术学院办好嵌入式系统教学平台,为学生提供良好的学习环境,使其熟练掌握嵌入式系统的研究与开发技术,在提高技师学院学生的就业率并为其自身日后的发展打下良好基础的同时,对提高办学效益也具有重大的意义。因此,在职业技术学院开设基于ARM的嵌入式系统的课程已是大势

所趋。

3 教学硬件平台的搭建

嵌入式开发平台的硬件选择主要是嵌入式处理器的选择。嵌入式系统硬件通常由处理器、存储器和输入/输出三个部分组成。根据嵌入式系统的现状与教学平台的实际需要,经过慎重筛选,选择了三星的S3C44B0X微处理器。

S3C44B0X处理器是基于ARM7TDMI的体系结构。

ARM7TDMI是ARM公司最早的业界普遍认可且赢得了广泛应用的处理器核,ARM7TDMI处理器是ARM7处理器系列成员之一,是目前应用很广的32位高性能嵌入式RISC处理器。为了降低系统总成本和减少外围器件,这款芯片还集成了下列部件:8KB Cache、外部存储器控制器、LCD控制器、4个DMA通道、2通道UART、71个通用I/O口、8个外部中断源、实时时钟、8通道10位ADC等。

硬件的设计框图如图1所示。

4 操作系统的选择

4.1 选择uClinux作为教学平台的操作系统的原因

目前,嵌入式操作系统的品种很多,但随着嵌入式系统的应用领域越来越广泛,免费的Linux操作系统成为嵌入式操作系统中的首选。

4.2 uClinux的特点

uClinux具有多任务、无内存管理单元、内核精简、高

效、稳定等优点。uClinux是由linux2.0去掉内存管理单元模块支持而发展生成的,主要面向无内存管理单元的处理器,特别适用于工控、仪表行业等低端手持设备。

4.3 Boot loader的功能和实现

(1)Boot Loader的基本结构。Boot Loader 就是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设备、建立内存空间的映射图,从而将系统的软硬件环境带到一个合适的状态,以便为最终调用操作系统内核准备好正确的环境。通常,Boot Loader 是严重地依赖于硬件而实现的,特别是在嵌入式世界。(2)Boot Loader 的操作模式。大多数Boot Loader 都包含两种不同的操作模式:"启动加载"模式和"下载"模式。本教学平台使用的Boot Loader被命名为fs_bios44b0,它提供了下载模式下的工作模式,我们需要增加启动加载的工作模式。利用fs_bios44b0加载并运行内核的流程,如图2所示。

在原有Boot Loader基础上进行修改,使得在启动时处于正常的启动加载模式,但是它会延时10 秒等待终端用户按下任意键而切换到下载模式。如果在10 秒内没有用户按键,则Boot Loader继续启动Linux 内核,Boot Loader的编译和调试是在ADS环境下进行的。

4.4 内核的裁剪和编译

Linux的运行开销,主要包括了静态映像体积、动态运

行的内存和CPU等的开销,这些开销通常在嵌入式系统中都显得比较大。由于嵌入式系统的资源比桌面系统少,所以必须先对Linux进行裁剪,控制开销,才能使之运行于嵌入式系统硬件平台上。静态映像主要有Linux系统内核、应用程序、应用库等的二进制映像组成;动态运行的开销和CPU 开销主要与Linux实现有关,需要针对嵌入式应用系统的特点进行优化。

4.5 内核的加载运行

当内核的编译工作完成之后,会在/

uClinux-040408/images目录下看到两个内核文件:image.ram 和image.rom,其中,可将image.rom写入ROM/SRAM/FLASH Bank0对应的Flash存储器中,当系统复位或上电时,内核自解压到SDRAM,并开始运行。image.ram可直接在系统的SDRAM中运行,使用ADS(或SDT)集成开发环境将系统的SDRAM映射到起始地址为0x0处,并将image.ram载入从0x10000开始的SDRAM中,加载完毕后,修改PC指针寄存器的值为0x10000并执行。注意该内核默认串行口COM1为输入输出控制台,波特率115200,8个数据位,1个停止位,无校验。 5 应用程序的开发及添加

5.1 应用程序的开发

基于ARM 的嵌入式系统开发时,选择合适开发工具可加快开发进度,降低开发成本。常见的ARM编译开发环境

相关文档
最新文档