线上教学环境下开展嵌入式实验探索

2021-04-13 20:01李秀红
课程教育研究 2021年39期
关键词:嵌入式系统仿真

【摘要】受到新冠疫情的影响,高校很多课程面临线上教学,对于嵌入式课程,理论性和实践相结合很紧密的课程,线上教学难度加大。如何在线上开展嵌入式课程实践教学从而提高课程教学质量变得至关重要。本文通过线上教学环境下搭建嵌入式开发环境展开讨论,给出嵌入式系统课程在有限条件下搭建实验环境的方法和步骤,为在有限条件下开展嵌入式课程实验教学给出了有效的建议。

【关键词】嵌入式系统  仿真  Linux操作系统

【基金项目】2020国家语委重点研发项目:基于网络空间大数据的跨媒体多语种舆情信息处理(编号:ZDI35-96)。

【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2021)39-0054-02

1.引言

嵌入式系统课程是一门具有较强综合性的专业课程,需要C语言程序设计,单片机,微机原理,汇编语言等多门课程理论作为专业基础知识,是计算机技术、通信技术、微电子技术等先进技术的综合体。随着智能化设备在人类生产和生活中发挥越来越重要的作用,嵌入式课程在信息类专业学生课程中重要性凸显,教学比重加大。新疆大学信息科学与工程学院学生嵌入式课程的教学学时增长,实验课的学时比重也不断加大,课程学时由原先的2+1调整为2+2+1。在保证该课程教学的科学性和系统性的前提下,着重突出嵌入式系统理论和实践相结合的密切性。通过课内实验课的开展,培养学生熟练掌握开发工具,在开发嵌入式产品时能运用课程讲授理论知识。

在开展线上教学时,针对嵌入式系统开发的特点,开展实验课程。有效利用学生手中有限资源开展实验课,将课程理论和实验尽可能充分相结合,使得学生在线上学习时,仍然能够具备一定的有嵌入式产品开发能力,在线上教学过程获得课程扎实的理论基础和较强的实践能力。

2.嵌入式实验课程线上开展存在的问题

嵌入式系统开发采用交叉开发,需要将处理器和操作系统及应用软件相结合,开发出满足特定需求的产品。开发环境的搭建对于嵌入式产品的开发有着重要的意義,随着线上教学的进行,学生需要通过实验课程加深对教材理论的理解。学生在家里线上上课时,不同省市地区的学生网络环境差别较大,上网设备也有手机、PAD、台式机、笔记本等。部分学生没有电脑,网络环境差,手机信号不稳定,时断时续,在这种情况下,搭建高效的实验环境受限,因此本文讨论如何在有限环境下充分开展嵌入式实验,使学生能够掌握嵌入式开发的方法并用于解决实际问题。

3.线上开展嵌入式实验课程设计

为了结合课程内容,参考北京航空航天出版社出版,马春梅等人主编的教材《ARM&Linux 嵌入式系统教程》。教材在课程讲授上主要分为三个部分:一部分是嵌入式软件系统,包括嵌入式操作系统和嵌入式应用程序开发;第二部分是嵌入式硬件部分,主要针对ARM处理器的体系结构及常用的嵌入式产品开发需要用到的外围设备;第三部分讲授了基于Linux操作系统如何开发特定处理器上可以运行的应用程序。

在课程理论内容的基础上,学生如果想将理论内容和实践相结合,就需要搭建嵌入式系统开发环境。

基于上述教材理论和需要掌握的实践内容,学生首先需要搭建基本Linux开发环境,根据开展线上教学的实际情况了解到学生手中可用的实验设备分为以下两种情况:

一种情况是学生有电脑。有电脑的学生安装Linux环境可以采用以下两个方案。

方案一是在Windows中安装虚拟机,在虚拟机上装Linux操作系统。可用选的虚拟机很多,常用的安装方便的是Vmware;可选的Linux操作系统版本较多如Unbuntu,Centos,Deepin等等。通过互联网下载虚拟机并安装,之后下载操作系统镜像文件,在安装步骤提示下选择下一步直至最后完成虚拟机上操作系统的运行。

方案二是在计算机中安装双系统。开机启动选择Linux或者Windows。安装双系统对系统硬盘存储空间有一定要求,目前市面流行的计算机配置基本可以满足要求。授课过程中,建议学生装虚拟机,至于Linux操作系统的版本,同学们可以自行查阅Linux操作系统的各种不同版本的优缺点,自行选择安装。

另外一种情况是学生没有电脑。没有电脑可以使用的同学可以利用安卓手机安装Termux,Termux是一个Android的高级终端模拟器, 安装后可以在Android手机上搭建一个完整的Linux环境,Termux软件不但在手机上启动速度快,而且开源且支持apt管理软件包,十分方便安装Linux下各类软件, 支持Python,PHP,Ruby,Go,Nodejs,MySQL等等,即便有电脑的同学,手机上也可以安装Termux ,使用十分方便。

学生在计算机或者手机安装好Linux操作系统后后可以进行Linux的相关实验。这些实验和Linux的基本使用相关,主要实验内容包括但不局限于:Linux操作的相关命令,如ls,mkdir,chomod,ftp等等,这些命令的主要作用是通过使用这些命令使学生学会熟练使用Linux 操作系统,从而可以在命令行模式下使用各种开发工具。

在学会使用linux操作系统后,接下来要学习如何在linux中开发应用程序。

Linux的C编译工具链如VI编辑器、GCC编译器、GDB调试器、Make工具、Busybox工具等。通过这一系列工具的使用,学生能够熟练使用Linux编写应用程序,并进行调试。在交叉开发设备上利用Linux编写应用程序步骤可以简单描述为编写—编译—链接—调试,也就是说程序的编写、编译、链接,都是在通用PC上编写,程序的执行是在目标系统中。线上教学环境下,学生能够熟练使用Linux系统开发应用程序是很关键的一步。

在学会使用linux的基本工具之后,进一步在linux环境下编写对Linux操作系统内核的操作,操作系统功能有CPU管理、存储管理、文件管理、GUI等。通过实验了解Linux内核功能,有助于学生定制操作系统功能。

内核裁剪时可以根据需要取消对多种CPU的支持,取消对虚拟内存的支持,取消不必要的调度算法,取消不必要的设备的支持,还有过多的文件系统,取消对多种网络协议的支持等。通过这一系列操作系统内核实验,学生可以充分掌握Linux内核裁剪的方法,能够根据嵌入式设备对操作系统和应用软件的需求对linux操作系统进行定制及做应用程序开发。

在对Linux有了上述操作的基础上,学生可以利用电脑安装keil工具,Keil可以实现针对多种不同类型处理器进行编程,并进行仿真。在教材讲授了嵌入式硬件系统后,这一部分实验内容可以让学生有效理解ARM处理器体系结构并编写代码。

ADS/SDT这些工具同样可以安装在计算机上。学生通过这些工具,熟悉ARM汇编及C语言编程,这些工具也提供汇编和C的联合编程,提高了学生的编程能力。接下来,学生可以利用Android Stdio开发Android程序,生成在手机上可以运行的APP,学会开发手机应用程序。

通过上述实验内容,学生掌握的教材理论知识配套的部分实验环节:软件系统、硬件系统、交叉开发、配备一定的硬件后,学生可用自行搭建实验环境,做嵌入式产品开发。

4.结束语

在线上有限的实验条件下,坚持课本理论知识和实际开发相结合。嵌入式课程教学过程重在理论和实践相结合,教材重要的理论知识和实验课一致对应,如理論讲嵌入式操作系统内核,则实验课安排内核下载执行部分。理论课讲到内核裁剪,则实验对应操作系统功能裁剪及实时化改造等;理论课的进程间通信,通过实验和理论相结合,将重要的理论知识在实验中加深理解,有助于学生对教材知识点的理解,从而有效提升学生嵌入式产品开发能力。

参考文献:

[1]马忠梅.ARM & Linux嵌入式系统教程[M].北京航空航天大学出版社,2008.

[2]李善平.Linux与嵌入式系统[M].清华大学出版社,2002.

[3]周立功.ARM嵌入式系统基础教程[M]. 北京航空航天大学出版社,2005.

[4]徐伟.嵌入式系统实验教学探索[J].数字通信世界,2019(7):278-279.

[5]郎薇薇.嵌入式系统实验教学设计[J].卷宗,2019,9(3):173.

[6]闻绍飞,佘黎煌,张石.嵌入式系统实验教学的实践与探索[J].实验室科学,2019,22(2):124-125+128.

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

[8]赵明华,林先其.嵌入式系统专业实验教学改革的探索与实践[J].当代教育实践与教学研究(电子刊),2017(9).

[9]金豪喆,秦怡,刘天宏,等. 嵌入式系统综合实验教学新模式的探索与实践[C].2008年中国信息技术与应用学术论坛.

[10]黄杰,曾繁政,曾妍.《嵌入式系统》课程实验教学改革及创新能力培养探索[J].电子世界,2017(7).

作者简介:

李秀红(1977年-),女,博士,副教授,研究方向为嵌入式系统,图像处理等。

猜你喜欢
嵌入式系统仿真
办公自动化系统的设计
一种帮助幼儿车内脱险应急装置的仿真分析
基于物联网项目驱动的嵌入式系统教学改革的研究与实践
嵌入式系统课程“中断、异常与事件”教学实践及启示
面向实践创新人才培养的嵌入式系统教学研究
基于MADYMO的航空座椅约束系统优化设计
中国体态假人模型与FAA Hybrid Ⅲ 型假人模型冲击差异性分析