嵌入式教改之路——从ARM9到cortex—M3

时间:2022-08-30 10:33:23

摘要:本文主要阐述了电子类专业本科阶段嵌入式系统教学的现状和改革的必要性,分析了ARM9在教学过程中面临的困难,探讨了cortex-M3作为教学对象的可行性和在实际实施中取得的成效。

关键词:嵌入式 教学改革 ARM9 cortex-M3

1、引言

嵌入式系统作为TI行业最有前景的一个发展方向,进入高校电子类本科专业课堂已有多年,经历了以飞利浦LPC2000系列为代表的ARM7到以三星S3C2410为代表的ARM9,从uclinux到linux的变迁。虽然说也培养出了一些嵌入式方面的人才,但是从数量和质量上来说,都还远远不够。究其原因,还是属于教学定位上的问题。要学习ARM9+linux,就必须具备一系列的计算机专业的相关知识,包括操作系统原理,编译原理等,还需要能熟练操作linux操作系统,这些要求对电子类本科专业的学生来说几乎是不可能的。电子类本科专业所拥有的基础是数字电路、模拟电路、单片机等相关知识,而操作系统、编译原理等均少有接触。因此,很多学生在上以ARM9和linux相结合的嵌入式课时总觉得云里雾里,不知道老师讲的是什么,而老师又不能讲的太深入,否则,在有限的课时内就不能完成无限的任务了。然而,cortex-M3的诞生,似乎给本科阶段的嵌入式教学指明了方向。

2、ARM9教学中的问题

在现阶段的电子类本科专业嵌入式教学中,通常都是使用ARM9的S3C2410嵌入式处理器加上Linux操作系统来开展教学。

2.1 理论教学

在理论课堂上,要讲解的内容包括ARM的体系结构,S3C2410处理器的硬件结构、外设资源、linux操作系统下驱动程序编程、应用程序编程等几大块;如此众多的教学项目,在有限的学时内(36学时理论)完成几乎是不可能的事情,更何况作为偏硬件的电子、通信类学生而言,对操作系统没有足够的认识,也不具备编译原理等相关知识。因此,便有了教与学之间的矛盾:如果深入讲解每个部分,并将学生所不具备的知识补充起来,则时间不够用;如果选择讲解部分模块,则不能让学生了解到嵌入式的全貌,落下盲人摸象的笑柄;如果每个环节都顾及到,那么只能是蜻蜓点水,浅尝辄止,最终可能学生什么都没有学到。

2.2 实验教学

实验教学平台往往使用专业设备厂家提供的实验箱、这些实验箱资源丰富、配置一流,但封装的过于严密,而且程序过于庞大,绝大多数程序来自项目实践,因此,程序里面考虑的各种因素太多,作为教学来说,无法将其进行深入解剖,自然也就无法教会学生如何去编程,甚至如何去应用这些编程的接口。从某种意义上来说,摆放在实验桌上,仅供表演。

实验教学往往是需要在两个学时内完成一个小的实验,让学生从中间学到某种编程的方法,或者某个模块的工作原理,或者某个接口的调用方法等。但类似于以太网、USB、SD卡、TFT液晶屏等这些大块头,别说两个学时、即使二十个学时也难以说清楚、道明白吧,更别提动手编程完成实验了。因此,实验教学往往局限与类似单片机的闪烁灯、串口等基础的外设、然后再照葫芦画瓢似的完成搭建嵌入式linux开发平台、内核移植、根文件系统制作、驱动程序编程、应用程序编程等实验。当然,还得补上linux操作系统的练习实验,因为几乎所有的学生都不熟悉linux系统下的操作。这些实验均是由老师课堂演示操作,然后学生自己动手实验,在操作的过程中,谈不上任何原理、方法等,完全是机械性的照搬,甚至写错一个字符都会得不到想要的结果。经过这样的一个流程,最终也只能算是对嵌入式系统有了一个感性的认识,而达不到应用的高度。

3、Cortex-M3作为高校嵌入式教学的优势

鉴于以上ARM9在偏硬件的电子类专业嵌入式教学存在弊端,在加上Cortex-M3在市场上的逐步推广,这给嵌入式系统的教学带来了希望。因此,笔者放弃了ARM9+Linux,取而代之的,是Cortex-M3架构的LM3S8962处理器加上uC/OS-II作为教学平台。

LM3S8962可以看作是一款32位的单片机,虽然它在性能上远不能与ARM9内核的S3C2410相比,但麻雀虽小,五脏俱全,它也属于嵌入式的范畴,而且采用了更精简的ARMV7架构,使用了更为高效的指令系统,因此,从某种意义上来说,它比ARM9更胜一筹。而且,他的定位在于嵌入式工控领域。因此,更适合电子类专业具备单片机基础的学生作为升级学习。

在课堂教学上,也不再向ARM9一样需要讲解大量的计算机类相关知识,可以直接单刀直入、讲解LM3S8962的内部结构、外设资源、uC/OS-II操作系统,这些项目在36个学时内是完全可以讲清楚的。而且由于学生具备数模电、单片机基础、学习起来也上手较快,容易理解。

实验教学平台可以根据教学需要自行设计实验开发板,这种方式不仅可行,而且能够更透彻的掌握每个模块的工作原理,更容易给学生介绍清楚;在实验内容上,也只有裸机平台下的外设实验、uC/OS-II操作系统移植、uC/OS-II下应用系统的应用三个部分。编程方面,LM3S8962使用外设驱动库编程,所有的寄存器均使用库函数加以屏蔽,因此,初学者可以不必掌握硬件层的结构和寄存器组成,直接调用库函数即可完成编程的任务。

综上所述,使用LM3S8962和uC/OS-II作为教学平台,不仅教师更方便操作,学生学习也更容易上手。

4、结语

本文首先介绍了ARM9在电子类本科专业嵌入式课堂上举步维艰的局面,分析了产生的原因。然后结合当下的技术,阐述了LM3S8962和uC/OS-II作为教学平台的优势和可行性。并且笔者所在的学校已经将LM3S8962引入课堂两年的时间,成果明显,学生在就业和竞赛方面都大显身手、硕果累累。

参考文献

[1]邵贝贝.高校嵌入式系统教学的理想模式.嵌入式系统联谊会,2010.

[2][英]Joseph Yiu著.宋岩 译. ARM Cortex-M3权威指南.北京航空航天大学出版社,2009.

[3]LabrosseJeanJ.μC/OS-II The real Time Kernel[M].Edition.R&D Publication,2002.

上一篇:论河北铁通商务新动力短信平台数据库维护 下一篇:浅谈特高压直流偏磁对自耦变压器的影响及解决...