关于嵌入式教学中选用系统的感受 2
一. ARM7 vs ARM9
UP-NETARM3000和UP-NETARM300采用基于ARM7TDMI核的三星S3C44B0芯片,该芯片是目前国内使用最广的经典ARM芯片,非常适合教学;和ARM7相比,应该说ARM9在性能方面有很大提高,但ARM9更适合作为产品开发平台,并不适合作为教学平台。
ARM7比ARM9更适合教学。体现如下:
- 从硬件设计方面,ARM7主频在30-100MHz左右,学生完全可以掌握其设计技术,而ARM9在100-200MHz左右,属高速设计,至少有3年以上经验的硬件工程师才可能进行设计,一般学生很难掌握。
- 从软件设计方面,在教学中采用源码开发的操作系统已成为共识,ARM7资源紧凑,适合运行ucos和ucLinux等源码开放的操作系统,在教学中能够充分体现嵌入式系统对资源、成本、可靠性有严格需要的特点;而ARM9是系统集成度更高的SOC,适合跑WinCE、Linux等高级操作系统,用于教学是“大马拉小车”,这样造成学生在设计时往往不会关注资源、成本、可靠性的限制,就如同用一台PC进行教学一样,无法体现嵌入式教学的特点。
- 从应用方面,而ARM7芯片价格比ARM9低得多,而且ARM7芯片是目前嵌入式产品市场的主流,占90%以上,很多手机、小灵通等产品都是基于ARM7的,就如同目前单片机开发与教学绝大多数采用51体系一样,ARM7就是32位微处理器领域的51,至少有10年左右的生命力,这也如同单片机教学很少讲16位的80186一样。
是不是ARM9就比ARM7高级呢?
嵌入式教学设备和PC不一样,PC强调“性能”,而教学设备强调“功能”,设备是否高级,在于“功能”,而不在于“性能”,教学设备的特点是使用简单,尽量减轻教师和学生的使用负担。博创的UP-NETARM3000和UP-NETARM300是功能完备的教学设备,完全体现了功能强大、简单易学的教学特点。
这就和现代《计算机体系结构》、《计算机组成》、《微机原理》等课程仍在使用4位、8位机进行教学实验案例而不选用P4级CPU做为实验案例一个道理,因为4位、8位机作为教学已经足够了,即容易理解,又能讲清知识和问题,因为教学中讲的是知识和概念,而不是CPU的性能。
高级的嵌入式实验教学设备的“高级”应体现在教学内容和使用功能的高级方面,而不是单纯的性能“高级”。博创的UP-NETARM3000和UP-NETARM300采用双操作系统,可通过更换核心模块从ucos教学升级到ucLinux教学,两种操作系统都具有完整的教学体系和实验课件,这是其它任何教学设备所不具备的。
二. Linux VS uC/OS-II
的确,Linux很热门,而且是未来几年的发展方向。但在教学中,我们必须正视这样一些现实:桌面操作系统主流仍为Windows系统,绝大多数老师和学生没有或很少使用Linux,而且本科生阶段也很少开设Linux相关课程。而开展ARM+Linux教学至少要有Linux应用经验,否则在教学中要花很大精力去讲授Linux操作系统知识、ARM微处理器知识、Linux下的编程与交叉编译技术,在实验中要熟悉Linux开发环境、进行实际编程训练,我们都知道,上面的每个知识点花一门课去讲授都不为过,把这么多内容都放在一门课上讲解,很难保证教学质量。
因此,嵌入式教学必须从学生实际情况出发,制定相应的教学计划和选择实验设备,不能只追求“高级”和“流行”,而忽略教学过程中最关键的环节“学生接受能力”,应做到因材施教,因势利导,才能达到最好的教学效果。
博创的UP-NETARM3000和UP-NETARM300教学平台充分考虑了嵌入式教学的上述特点,即在Linux还不普及的情况下,对大多数专业而言,采用源码开发的操作系统ucos是最好的选择,ucos源代码简单经典,容易学习和接受,在Windows环境下开发,容易理解和学习,通过30-40学时的讲解和实验,学生能够充分掌握嵌入式开发的要点,清华、北航的教学实践充分证明了这一点,80%的学生都独立或合作开发出了基于嵌入式小游戏,保证了教学效果;在未来两年内,很多高校都会开设Linux相关基础课程,那时通过更换核心模块或重新烧写系统,UP
《关于嵌入式教学中选用系统的感受 2》