基于NFS的嵌入式系统ARM实验教学平台设计

2015-04-27 01:12李高杰
实验室研究与探索 2015年10期
关键词:嵌入式操作系统开发板IP地址

罗 勇, 李高杰

(郑州大学 电气工程学院,河南 郑州 450001)



基于NFS的嵌入式系统ARM实验教学平台设计

罗 勇, 李高杰

(郑州大学 电气工程学院,河南 郑州 450001)

针对我国高校嵌入式实验教学内容简单、与工程实际联系少、重视演示忽略学生实际参与、实验操作繁琐等问题,提出了基于NFS网络文件系统的嵌入式系统ARM实验教学平台设计方案,构建了基于单机和网络两种模式的新型嵌入式系统实验教学平台。实践表明,该实验平台简化了实验操作过程,增加了实验的灵活性,提高了学生动手能力,取得了较好的实验教学效果。

嵌入式系统; ARM; 实验教学平台; NFS

0 引 言

嵌入式系统是以应用为中心、以计算机技术为基础、软硬件可裁剪,对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统,主要由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序组成[1-2]。它是将先进的计算机、控制、电子技术和各个行业的具体应用相结合后的产物[3]。嵌入式系统最主要的硬件体系架构是ARM,自ARM推出开放式IP核以来,与片上集成SoC思想相对应,基于ARM的嵌入式应用正逐渐取得优势地位[4]。

随着物联网、智能家居等新兴技术的飞速发展,嵌入式系统逐渐从裸机程序,向以嵌入式操作系统为核心,集成显示、网卡、声卡等相关硬件的专用计算机系统转变,产品日益丰富,结构也日臻完善[5]。以Linux、WinCE等嵌入式操作系统为软件核心的系统,与基于裸机的系统相比较,功能更强大,可灵活协调控制各类复杂硬件,开发周期短,编程方便,响应迅速,可并行处理多任务,程序具有良好的移植性,在移动通信、便携医疗、工业控制、仪器仪表、智能家居等方面得到广泛应用。嵌入式操作系统已成为嵌入式系统高端应用中必不可少的重要组成部分。

随着嵌入式系统应用范围的不断扩大,国内高校开始逐步重视嵌入式系统相关的教学活动,针对嵌入式系统开设了大量的相关课程,如微机原理、操作系统、数字/模拟电路技术、DSP、单片机技术、嵌入式系统设计等,同时将嵌入式系统作为高等学校电子类学科竞赛的重要内容[6]。但总体而言,由于嵌入式专业的发展历程较短,在如何建设嵌入式专业方面还处于初期摸索阶段[7]。

1 嵌入式实验教学存在的问题

1.1 实验内容简单与工程实际联系少

嵌入式系统是理论和实践相结合的课程,缺乏实验的嵌入式系统课程是纸上谈兵,因此除了理论知识外还需要学生掌握各种嵌入式系统设计与调试的实践技能[8-10]。这就要求加强嵌入式系统实验教学建设,结合大量的实验操作来提高学生的工程实践和动手能力,使得学生学习事半功倍,学以致用[11-12]。然而,与嵌入式操作系统相结合的实验内容少,实验简单且与工程实际联系少,不能根据学生特点完成不同内容和层次的实验,恰恰是目前国内高等院校在嵌入式教学方面普遍存在的问题[13]。

1.2 重视演示结果忽略学生实际参与

目前国内高校有关嵌入式实验教学多以验证性实验居多,过于注重结果,忽略了学生的实际参与程度。往往是实验老师演示完操作流程后,学生按照实验手册机械被动地进行实验操作,直接将老师编写好的程序下载至实验箱,观察实验现象,记录实验数据。学生只是为了完成实验任务,缺乏主观设计和分析思考的过程,在锻炼学生动手实践能力方面收效欠佳。

1.3 嵌入式操作系统实验繁琐

由于嵌入式操作系统实验教学需要以计算机和实验箱为基础,建立相应的交叉开发环境,在多种体系架构的软硬件平台下进行数据交换和软件开发,实验准备时间长,操作也较为繁琐。实验时需要建立多个不同的操作系统环境,并且在不同的环境下分别进行系统配置、程序开发、软件运行,同时还需要在不同的环境之间进行数据和文件的交换,增加了学生实验的难度,使得嵌入式实验难以达到理想的效果。

2 解决方案

针对以上在嵌入式系统实验教学中存在的问题,本文利用网络文件系统(Network File System,NFS)方式,提出了一种全新的嵌入式系统ARM实验教学方案,该实验方案分为单机模式和网络联机模式。

2.1 单机模式

2.1.1 开发环境

单机模式下,一台计算机与一套ARM开发板组成一个学习单元,计算机运行Windows XP系统,在该系统下使用VMware软件创建一个虚拟机。虚拟机是一种严密隔离的软件容器,它可以运行自己的操作系统和应用程序,就好像一台物理计算机一样[14]。在虚拟机中运行Linux的发行套件Fedora系统。XP系统与Fedora系统通过虚拟机软件VMware建立的交换目录进行文件交换。Fedora的虚拟网卡与XP系统的实际网卡桥接,保证两个系统间的网络互通。Fedora系统下建立了交叉编译环境,学生在该单元下通过交叉编译环境进行Linux引导程序、内核和文件系统的编译,以及驱动程序和界面应用程序的开发。

ARM开发板以ARM9架构的S3C2440处理器为核心,具有USB、串口和网卡等通讯资源。其上安装了嵌入式操作系统Linux,实验所开发的嵌入式程序将直接在开发板上运行。计算机与ARM开发板间经USB线传输Linux引导程序、内核映像和文件系统。

计算机与ARM开发板之间通过串口通信线进行连接,用于计算机向开发板传递指令并返回执行结果。minicom是计算机Fedora上串口通信的小工具,通过该工具可输入相应指令对开发板的Linux系统进行操作,并实时观测ARM开发板执行结果。

计算机与ARM开发板之间通过网线连接,将计算机和ARM板的IP地址配置在同一网段即可实现相互之间的网络通讯。在网络通讯的基础上,可进行NFS文件共享。整个单机模式开发环境如图1所示。

图1 NFS单机开发模式架构图

2.1.2 NFS实现

NFS是一种网络文件的共享协议,是文件系统之上的一个网络抽象,允许远程客户端以与本地文件系统类似的方式通过网络进行访问,可提供透明文件访问以及文件传输。通过对NFS的支持,用户可以很方便地在本地主机上操作远程主机上的共享目录[15]。NFS文件系统包括 NFS服务器和NFS客户端。如图1所示,NFS服务器管理着共享目录,NFS客户端管理着挂载目录。当在客户端访问挂载目录时,通过NFS服务可直接访问服务器端的共享目录。

在本方案的单机模式下,计算机与ARM开发板主要采用NFS的方法实现文件共享。计算机Fedora的NFS服务器管理共享目录,ARM开发板Linux的NFS客户端管理挂载目录。当ARM开发板的挂载目录通过NFS服务成功挂载到计算机Fedora的NFS共享目录后,通过客户端和服务器端的交互,可建立挂载目录和共享目录之间的直接映射关系,即可通过挂载目录访问共享目录中的文件,而文件实际存放在共享目录,不需要再通过其他方式拷贝到ARM开发板上。利用以上的NFS文件系统,可实现在开发板的嵌入式平台直接运行计算机共享目录中的目标文件。这将极大的方便目标文件的修改,以及调试工作,提高实验及开发的效率。

对Fedora系统和ARM开发板进行如下配置即可开启NFS服务功能:

(1) 以root身份登录Fedora系统,在终端输入/etc/init.d/iptables stop关闭防火墙;

(2) 在Fedora系统终端输入gedit /etc/exports, 编辑文件exports,设置目录root_nfs为共享目录:/opt/EmbedSky/root_nfs *(rw,sync,no_root_squash)

(3) 在Fedora系统终端输入命令gedit /etc/sysconfig/network-scripts-ifcfg-eth0,修改Fedora系统IP地址,使Windows XP、Fedora和ARM开发板的IP地址在同一网段内;

(4) 在Fedora系统终端输入/etc/init.d/network start命令开启Fedora系统的NFS服务;

(5) 使用Fedora系统minicom工具进入ARM开发板,在ARM开发板的Linux系统新建空目录作为挂载目录;

(6) 在开发板输入挂载命令:mount -t nfs 192.168.1.X:/opt/EmbedSky/root_nfs /nfs_client -o nolock,其中192.168.1.X为Fedora系统的IP地址。nfs_client为上述新建的空目录。

完成上述配置后,即实现NFS的文件共享功能。在开发板Linux系统下访问/nfs_client目录,即可看到Fedora系统的NFS共享目录/opt/EmbedSky/root_nfs中的所有文件,可实现共享目录中的目标文件在开发板的嵌入式环境下直接运行。

嵌入式操作系统软件开发时首先在计算机的Fedora系统中编写程序并将其编译成基于ARM体系架构的目标文件。然后将编译生成的目标文件拷贝至NFS服务器共享目录,接着在Fedora下利用minicom进入ARM开发板的挂载目录,挂载目录利用NFS机制建立的直接映射可访问NFS服务器共享目录,从而实现在ARM开发板的嵌入式环境下直接运行共享目录下的可执行文件,即完成整个实验开发过程。

该模式采用NFS的方式完成计算机与ARM开发板的文件共享,当源代码需要进行反复修改和编译的时候,可直接在计算机的共享目录中进行交叉编译。学生可利用mincom工具在ARM开发板上直接运行Fedaora系统NFS共享目录的目标文件,而无需利用其他的方式将目标文件由计算机拷贝至ARM开发板,避免了源代码反复修改导致的多次拷贝,提高了实验效率,使实验过程更加简洁方便,易于学生接受。

2.2 网络模式

网络模式是单机模式的联网扩展,主要由多个学习单元通过以太网连接构成内部实验网络,通过局域网交换机进行数据交换,交换机又经路由器与校园网连接,从而实现所有设备的外网通讯。同时,与单机模式类似,学生依然可通过网线采用NFS网络文件方式,直接将计算机上编译好的目标文件通过NFS文件共享方式在开发板上直接运行。由于NFS文件共享方式减少了文件拷贝的时间和操作,使用网线实现了程序的在线调试,显著提高了软件开发效率。

图2 NFS网络开发模式架构图

网络模式将学习单元的计算机和ARM开发板分别进行了编号,并根据编号进行内网IP地址的分配,以确保各个学习单元能够正常的实现NFS文件共享。若某学习单元编号为X,可设置计算机Windows XP的IP地址为192.168.1.X,Fedora系统的IP地址设置为192.168.1.(X+100),ARM开发板的IP地址设置为192.168.1.(X+200),以上所有设备的网关均设置为192.168.1.1,子网掩码为255.255.255.0。通过上述设置,可保证所有网络设备处于同一局域网。另外,在路由器处设置其内网地址为192.168.1.1,同时设置路由器外网地址为校园网的IP地址,从而实现整个局域网与校园网络的连接。该局域网中还配置一个FTP服务器,用于学习资料的发布和共享。整个网络IP地址规划如下图所示。

图3 NFS网络开发模式IP配置图

通过该网络模式的建立,节省了教师的实验准备时间和学生的实验程序开发时间。教师每次上课的时候在自己的学习单元进行嵌入式程序开发,然后学生可通过NFS挂载教师的计算机,运行教师开发的目标程序。另一方面,教师可通过NFS服务挂载不同的学生机器,运行学生的目标程序,对存在的问题进行检查和指导。基于NFS网络模式,可实现以上教与学两方的紧密互动和交流,教师可迅速发现问题,学生可获得实时指导,从而提高整个教学实验的效果。

3 实验效果

基于以上嵌入式实验教学解决方案,作者在郑州大学电气工程学院建立了可供50名学生同时进行实验的嵌入式系统ARM实验室。实验时,老师首先通过投影仪向学生演示实验流程,然后让学生通过NFS方式,进行程序的编写、交叉编译和运行。学生可在已有实验内容的基础上,进行自由扩充和发挥,独自编写新的程序,完成相应的实验。期间学生可通过校园网连接Internet查找资料,实验老师可通过NFS挂载方式实时访问每个学生的机器,发现问题并有针对性的进行解答。

学生使用上述学习单元在老师的指导下完成了嵌入式交叉编译环境的建立、QT Creator安装使用、Linux系统设备驱动程序和界面应用程序的开发等实验,并在最后进行了“基于QT的LED灯控制”、“基于QT的按键计数”和“按钮控制LED灯”三个综合性实验。通过以上实验,增强了学生的动手实践能力,加深了学生对嵌入式系统的理解。该实验教学对学生自主设计能力和创新意识等方面均有提升,实验效果明显。

4 结 语

本文提出了一种新型的基于NFS的嵌入式系统ARM实验教学平台,将计算机、嵌入式开发板通过局域网连接,并以NFS模式进行软件开发。该实验教学方法已在郑州大学电气工程学院推广应用,实践结果表明,该方法节省了实验准备时间,提高了学生的实验效率和创新能力,加深了学生对嵌入式操作系统的理解,锻炼了学生工程实践能力和动手能力,从整体上提升了嵌入式实验教学质量,取得了令人较为满意的效果。

[1] 舒 展. 嵌入式系统综述[J]. 现代计算机(专业版),2011(5):44-46.

[2] 何立民. 嵌入式系统的定义与发展历史[J]. 单片机与嵌入式系统应用,2004(1):6-8.

[3] 冼 进,贾德良,毕 盛. 嵌入式系统实验课的教学改革初探[J]. 实验室研究与探索,2011(8):282-284+288.

[4] 陆 庆,肖 堃,聂晓文. 嵌入式课程实验教学体系的改革与创新[J]. 实验科学与技术,2011(S1):201-203,216.

[5] 周青云,王建勋. 嵌入式系统的应用与发展[J]. 工业仪表与自动化装置,2008(3):16-20.

[6] 罗 勇,陈树伟. 论电子竞赛与高校电子学科卓越工程师培养[J]. 中国电力教育,2012(10):31-32.

[7] 朱天元. 浅谈嵌入式实验教学改革[J]. 硅谷,2009(24):160.

[8] 黄晓玲,段凤云,赵建科. 嵌入式系统实验教学体系的探索与实践[J]. 实验技术与管理,2006(4):85-87.

[9] 汪湛清,彭熙伟,郭玉洁,等. 嵌入式系统实验教学中的挑战问题[J]. 实验室研究与探索,2013(11):364-366,392.

[10] 郑宁汉,陶 品,宋思超. 嵌入式实验系统设计原则的一些探讨[J]. 计算机教育,2014(5):118-121.

[11] 周红波,刘 涛. 构建适应就业需求的嵌入式系统实验教学模式探讨[J]. 软件导刊,2010(1):177-178.

[12] 牛小玲. 嵌入式系统实验教学的探讨[J]. 实验室科学,2006(4):20-21.

[13] 李 妍,崔永利. 弹性学习制在嵌入式实验教学中的探索[J]. 中国现代教育装备,2010(19):79-81.

[14] 谢延红. 开放式Linux实验教学平台设计与实现[J]. 现代教育技术,2010(1):152-155.

[15] 叶 军,朱华生. 嵌入式Linux NFS方式下应用程序的实现[J]. 微计算机信息,2007(8):74-75,73.

Design of ARM Experimental Teaching Platform of Embedded System Based on NFS

LUOYong,LIGao-jie

(Institute of Electrical Engineering, Zhengzhou University, Zhengzhou 450001, China)

Facing on the problems of the content simplicity, the lack of connecting to engineering practice, the emphasis on demo, the neglect of students’ participation of actual experiments, the operational complexity of embedded system experiments in universities, an ARM experimental teaching platform of embedded system is designed based on NFS. The new platform includes two modes: the single mode and the network mode. The practice of Zhengzhou University shows that the experimental platform simplifies the operation process, increases the flexibility of experiments, improves students’ practical skill, and obtains a favorable effect on the experimental teaching.

embedded system; ARM; experimental teaching platform; NFS

2015-01-16

郑州大学研究生教育研究项目(YJSJY201434);郑州大学教学改革研究项目(2014XJGLX053)

罗 勇(1977-),男,湖南桃源人,博士,教授,硕士研究生导师,主要研究方向:检测技术和智能仪表、单片机与嵌入式系统、PLC控制系统,以及供应链管理和EPR等。

Tel.:13213019450;E-mail:luoyong@zzu.edu.cn

TP 393.09;G 642.423

A

1006-7167(2015)10-0089-03

猜你喜欢
嵌入式操作系统开发板IP地址
铁路远动系统几种组网方式IP地址的申请和设置
IP地址切换器(IPCFG)
计算机嵌入式操作系统分析
基于SNMP的IP地址管理系统开发与应用
浅析单片机开发板的设计与制作
公安网络中IP地址智能管理的研究与思考
关于高校嵌入式操作系统课程教学的探索与思考
基于嵌入式操作系统的工业采集板设计
ARM宣布mbed Enabled Freescale FRDM—K64F开发板通过微软认证
应用服务型人才培养体系下的嵌入式操作系统教学改革探索