基于ARM-Linux的嵌入式系统开发平台教学实验研究

时间:2022-03-04 12:12:15

基于ARM-Linux的嵌入式系统开发平台教学实验研究

摘 要:对基于ARM-Linux开发平台的嵌入式系统教学实验进行了研究,提出了开设实验的两种方案并进行了对比分析。在相关实验的基础上,提出了一种远程温度控制系统。

关键词:ARM-Linux;嵌入式系统;实验教学

Teaching experiment research of embedded system development platform based on ARM-Linux

You Haidong

Qingdao agricultural university, Qingdao, 266109, China

Abstract: Teaching experiment research of embedded system development platform based on ARM-Linux has been done. Two experiment schemes are presented and analyzed comparatively. A remote temperature control system is presented based the experiment.

Key words: ARM-Linux; embedded system; experiment teaching

随着物联网、云计算等概念的提出,相关产业正在以一股不可阻挡的势头迅猛发展,嵌入式技术正是其最核心最关键的技术之一。2011年的《中国嵌入式开发人员调查报告》[1],对国内的嵌入式行业从嵌入式工程个人情况、嵌入式行业公司的基本情况、嵌入式工程师对职业生涯的看法、嵌入式工程师对参加培训的看法等几个方面进行了调查研究,结果表明,嵌入式公司行业分布广泛,嵌入式工程师具有很高的自我满意度,而且有相当多的嵌入式工程师是新参加工作的大学毕业生。嵌入式行业不仅可以吸收大量的大学毕业生,而且从事嵌入式行业的开发人员也对自己所从事的行业具有较高的行业幸福感。作为向社会输送人才的各大高校,也紧跟IT技术发展潮流,面向市场需求,相继开设了嵌入式系统开发课程,并积极引导学生参加各种形式的嵌入式设计大赛等活动,提高学生的综合能力,提升学生的培养质量,增强学生的就业竞争力。

从多年的嵌入式系统开发教学效果来看,该课程入门难、上手慢、实践性强,需要综合知识面广。要掌握嵌入式系统开发技术,需要大量的实践练习,因此,实验教学是非常重要的一环。

1 嵌入式系统开发平台组成

嵌入式系统开发平台有多种类型[2],我校使用的平台可以选用S3C44B0或S3C2410处理器。由于S3C44B0不支持MMU功能,因此如果选用S3C44B0作为处理器,相应的嵌入式操作系统则应选择uClinux;如果选择S3C2410处理器,则应选用Linux作为嵌入式操作系统来搭配使用。由于S3C44B0+uClinux平台功能相对简单,因此本文所涉及的实验全部基于S3C2410+Linux平台。

嵌入式系统开发平台结构框图如图1所示。使用CPU扩展接口,可以更换使用S3C44B0或S3C2410处理器。该平台提供的硬件资源丰富,包括64 M SDRAM,4 M Nor Flash,32 M Nand Flash,标配320×240 CSTN 5.7英寸LCD,多个LED指示灯,8个8段数码管,8路10BIT的ADC,提供触摸屏接口电路,5×4键盘,直流电机,步进电机模块,具有采用扩展子板形式的GPRS模块电路和GPS模块电路等,同时,该平台也提供了丰富的接口,包括10 M以太网接口,USB接口电路,2个RS232串行口,IIS音频信号接口,2个CAN接口,1个IDE硬盘接口,1个PCI扩展插槽和1个PS2接口,CF存储卡接口,SD卡接口等。同时,开发平台还提供JTAG接口,支持JTAG仿真技术,支持ADS,STD和IDE等集成开发环境。基于丰富的硬件资源和接口,可以开设各种类型的嵌入式实验。

嵌入式系统开发平台

要想在嵌入式开发平台上运行Linux操作系统,首先要把Linux裁剪、压缩,去掉一些使用不到的功能,以便符合硬件平台的要求。然后移植BootLoader,BootLoader是一段负责引导Linux操作系统启动的程序,在嵌入式系统开发中具有重要的作用。BootLoader一般分为两段,第一段一般采用ARM汇编程序编写,主要负责硬件初始化、设置堆栈等工作,然后跳转到第二段程序入口点;第二段程序一般采用C语言编写,主要负责检测系统内存映射,将压缩的Linux Kernel映像文件从Flash拷贝到RAM并解压,为Linux Kernel内核设置启动参数,最后调用内核,完成Linux启动。BootLoader有很多种,如VIVI,UBOOT,ARMBOOT,BLOB等,我们采用VIVI作为开发平台的BootLoader。

嵌入式系统开发采用交叉编译模式,所谓交叉编译模式是指在主机上进行程序的编写、编译、调制,而在开发平台上运行的模式。交叉编译模式如图2所示。主机上安装编译工具对源程序进行交叉编译,生成的可执行程序,通过主机和目标板之间的JTAG接口、串口、Ethernet接口或者USB接口下载到目标板,然后启动执行。

交叉编译模式

2 开展嵌入式系统开发教学实验的两种方案

嵌入式开发平台具有丰富的硬件资源和接口电路,因此可开设的实验非常丰富,形式多种多样[3,4],在文献[3][4]中列举出的实验共计48个,面对数量如此多的实验,在教学课时、教学设备有限的条件下,不可能一一开设,因此如何选择实验,以便让学生能够快速有效地掌握嵌入式系统开发技术是非常重要的问题。基于循序渐进、由简单到复杂的原则,同时兼顾初学者的接受能力,我们提出两种嵌入式实验的开设顺序,实践表明,这两种方案都具有很好的实验教学效果。

2.1 第一种方案

第一方案所开设的实验分为三大部分:第一部分为ARM相关的基础实验(6个);第二部分为与Linux相关的实验(7个);第三部分为综合应用实验(1个)。共计14个实验(见表1)。

表1 第一种方案开设的实验

14 远程温度控制系统设计 √ 温度传感器使用通用I/O采集温度数据,如果高于设定值,则一方面通过CGI程序以文件的形式保存在本地,另一方面通过开发板上的GPRS模块,通过移动通信网络发送到指定手机

我们把开设的实验分成了基础、综合和应用三个级别。在第一种方案中,基础实验为8个,综合实验为5个,应用实验为1个,符合宽基础的教学要求。通过大量的基础实验训练,使学生掌握嵌入式开发的基本技术之后,再通过综合型和应用型的训练,提高使用嵌入式技术解决问题的能力。

2.2 第二种方案

第二种方案所开设的实验也分为三大部分,其中第一部分为ARM基础实验(4个);第二部分为Linux相关实验(7个);第三部分为综合应用型实验(1个),共计12个实验,第二种方案所开设的12个实验见表2。

第二种方案开设的实验

比较方案一和方案二开设的实验,可以看出,两种方案有所侧重。其中方案一比较注重基础,方案一提供的基础实验共8个,同时偏重对整个嵌入式系统的整体了解,方案一中的实验8,10,11都是了解整个嵌入式系统架构所必须开设的。而方案二更加注重应用,从实验5到实验11,都是嵌入式应用程序的开发实验。通过实行不同的方案,既可以对整个嵌入式系统开发架构有所了解,同时也能够从事实用的嵌入式应用开发,多年的教学效果表明,采用这样的实验方案,取得了很好的教学效果。

3 远程温度控制系统

以方案一和方案二中的应用型实验“远程温度控制系统设计”为基础,我们设计了一种远程温度控制系统,参加了2010年“博创杯全国嵌入式设计大赛”,获得了山东省二等奖。该温控系统的结构图如图3所示。

远程温度控制系统

该远程温度控制系统主要包括温度传感器、嵌入式开发平台和主机。温度传感器使用通用I/O端口与开发平台连接,GRPS模块使用串口与开发平台连接,主机使用串口与开发平台连接,用来调试、下载程序。温度传感器检测的温度数值通过通用I/O端口发送给开发平台上的接收程序,程序接收温度数值后判断是否大于或者小于某个设定值,如果大于或者小于设定值,则通过GPRS模块发送到远程手机,同时,对于传感器每次发送过来的温度数值,都以文件的形式保存在本地,嵌入式开发平台上部署了嵌入式Web服务器和CGI程序,这样在主机就可以通过Ethernet接口来访问以文件形式保存在开发板上的温度值。在该方案中,我们基于方案一中的实验11,开发了通用I/O端口驱动程序;基于方案一的实验11和方案二的实验11,开发了嵌入式Web服务器及CGI程序;基于方案二的实验8,开发了GRPS模块和开发平台的串口通信程序;基于方案二的实验6和7开发了相关的应用程序。通过该系统的实施过程和最后的得奖情况来看,我们所提出的嵌入式开发平台教学实验的方案一和方案二是合理可行的,对于提高学生嵌入式系统开发技

术水平,提高就业竞争力具有很好的作用。

4 结束语

嵌入式系统开发平台及其教学实验方案,是针对目前高校嵌入式系统开发课程的实验教学实际而

提出的。方案一侧重宏观整体掌握嵌入式系统开发架构,方案二则注重嵌入式应用,并且基于方案一和方案二所开设的实验,设计了一种远程温度控制系统,并获得了“博创杯全国大学生嵌入式设计赛”山东赛区二等奖。结果表明,该实验方案科学合理,能够满足不同层次学生的需求,对高校嵌入式系统开发实验课具有较好的指导意义。

参考文献

[1] 中国嵌入式开发从业人员调查报[EB/OL].www.省略/subject/report2010-2011.htm.[2011-05-03]

[2] 朱丽霞.基于ARM-Linux的嵌入式实验教学平台构建[J].中国现代教育装备,2010,23:42-43.

[3] 深圳英蓓特公司.EudkitIII S3C2410实验教程[Z].2008

[4] 深圳英蓓特公司.EudkitIII S3C2410 Linux实验教程[Z].2008.

上一篇:仿真技术在发酵工程教学中的应用 下一篇:利文科实践教学之器 善首都文化建设之事