APP下载

谈高职院校嵌入式教学中微处理器和操作系统的选择

2009-10-20

计算机教育 2009年17期

徐 亮

摘 要:嵌入式技术是当今最流行的一门新技术,有着十分广阔的应用前景。目前,国内很多高职院校都在开设或计划开设嵌入式课程,很多教师对于嵌入式教学中采用什么样的微处理器,哪种嵌入式操作系统更适合高职院校教学方面还存在很多问题。本文针对两种ARM芯片和两种操作系统进行了比较,并给出一个优化选择,以供高职院校的教师们参考。

关键词:ARM;µC/OS;Linux

中图分类号:G642 文献标识码:B

嵌入式系统教学是一门新课,涉及电子、计算机、软件等诸多专业学科,对授课老师要求较高,选择合适的教学体系和实验设备对教学的顺利开展和保证教学质量至关重要。

从一些资料和高职院校反馈的信息来看,对嵌入式教学中采用何种微处理器以及哪种操作系统,教师们还有疑问。作为一名高职院校教师,我认为在微处理器和操作系统的选择上,ARM7处理器和µC/OS操作系统更适合教学使用。

1 微处理器的选择

ARM(Advanced RISC Machines)即我们通常所说的ARM微处理器,已遍及工业控制、消费类电子产品、通信系统、网络系统、无线系统等各类产品市场,基于ARM技术的微处理器应用约占据了32位RISC微处理器75%以上的市场份额。常用的ARM有ARM7和ARM9,两者皆采用基于ARM7TDMI内核的三星S3C44B0芯片,该芯片是目前国内使用最广的经典ARM芯片,非常适合教学;和ARM7相比,ARM9在性能方面有很大提高,但它更适合作为产品开发平台,并不适合作为教学平台。下面是笔者在性能、软件、应用和功能四个方面对两者的比较:

(1) 从硬件设计方面,ARM7的主频在30MHz~100MHz左右,学生完全可以掌握其设计技术,而ARM9的主频在100MHz~200MHz左右,属高速设计,至少有3年以上经验的硬件工程师才可能进行设计,一般学生很难掌握。

(2) 从软件设计方面,在教学中采用源码开发的操作系统已成为共识,ARM7资源紧凑,适合运行µC/OS和Linux等源码开放的操作系统,在教学中能够充分体现嵌入式系统对资源、成本、可靠性有严格需要的特点;而ARM9是系统集成度更高的SOC,适合跑WinCE、Linux等高级操作系统,用于教学是“大马拉小车”,这样使学生在设计时往往不关注资源、成本、可靠性的限制,就如同用一台PC进行教学一样,无法体现嵌入式教学的特点。

(3) 从应用方面,ARM7芯片价格比ARM9低得多,而且是目前嵌入式产品市场的主流,占90%以上,很多手机、小灵通等产品都是基于ARM7设计的。就如同目前单片机的开发与教学绝大多数采用51体系一样,ARM7就是32位微处理器领域的51,至少有10年左右的生命力,这也如同单片机教学很少讲16位的80186一样。

(4) 从性能方面,嵌入式教学设备和PC不一样,PC强调“性能”,而教学设备强调“功能”。设备是否高级,在于“功能”,而不在于“性能”。ARM9和ARM7的功能都很完备,但是前者的结构却比后者复杂,因此ARM7比ARM9的使用更简单,操作更方便。这就和现代“微机原理”、“计算机组成原理”、“单片机技术”等课程仍在使用4位、8位机,而不选用P4级CPU作为实验案例是一个道理——因为4位、8位机作为教学工具已经足够了,既容易理解,又能讲清知识和问题。教学中着重要讲的是知识和概念,而不是CPU的性能。

ARM7和ARM9的功能相似,但性能价格差异较大,无论从软件设计还是从应用角度来看,我都认为选择ARM7更适合教学使用。

2 操作系统的选择

目前,国内嵌入式教学系统中用得较多的两类操作系统是Linux和µC/OS。Linux非常热门,而且是未来几年的发展方向;µC/OS是专门为计算机的嵌入式应用设计的,绝大部分代码是用C语言编写的。µC/OS操作系统中的CPU硬件相关部分是用汇编语言编写的,其总量约为200行,这部分汇编语言被压缩到了最低限度,为的是便于移植到任何一种其他的CPU上。用户只要有标准的ANSI的C交叉编译器,有汇编器、连接器等软件工具,就可以将µC/OS嵌入到开发的产品中。

在嵌入式系统的教学中,我认为µC/OS更适合,主要有以下三个方面的原因:

(1) 从常用的操作系统来看,当今桌面操作系统主流仍为Windows系统,绝大多数老师和学生没有或很少使用Linux,而且高职院校的专科生阶段也很少开设Linux相关课程。倘若开展ARM+Linux教学,教师和学生至少要有Linux应用经验,因此教师就要在前期花很大精力讲授Linux操作系统知识、ARM微处理器知识以及Linux下的编程与交叉编译技术,学生在实验中更要熟悉Linux开发环境,进行实际编程训练等。把这么多内容都放在一门课上讲解,很难保证教学质量。

(2) 从大多数专业的角度来看,µC/OS源代码简单经典,容易为学生学习和接受,在Windows环境下开发,学生容易理解和学习。经过30~40学时的讲解和实验,学生能够充分掌握嵌入式开发的要点,保证了教学效果。而在一些高职院校的专业计算机学院,Linux课程并没有开设,其他专业更不会去研究其源代码。

(3) 从二者的性能角度来看,µC/OS具有执行效率高、占用空间小、实时性能优良和可扩展性能等特点,最小内核可编译至2KB。µC/OS-II已经移植到了几乎所有知名的CPU上。而Linux在这点上对硬件的要求要高于µC/OS,所以它并不适合嵌入式教学系统的使用。

3 小结

综上所述,我认为高职院校在选择嵌入式教学系统的微处理器和操作系统时,ARM7和µC/OS更合适。无论是选择微处理器,还是操作系统,我们都必须从学生的实际情况出发,制定相应的教学计划,选择实验设备,不能一味追求“高级”和“流行”,而忽略教学过程中最关键的要素:学生接受能力。应做到因材施教,因势利导,才能达到最好的教学效果。

参考文献:

[1] 三恒星科技. ARM嵌入式系统入门[M]. 北京:中国电力出版社,2008.

[2] Jean J.Labrosse. 嵌入式实时操作系统µC/OS-Ⅱ[M]. 邵贝贝,译. 2版. 北京:北京航空航天大学出版社,2007.

[3] 钟坚文,蔡 旭. 基于μC/OS-II的CAN总线驱动程序设计[J]. 微计算机信息,2007.