辉煌 发表于 2017-6-30 11:08:20

嵌入式系统教学模式探讨2

VxWorks操作系统是美国WindRiver公司于1983年设计开发的一种实时操作系统。VxWorks拥有良好的持续发展能力、高性能的内核以及友好的用户开发环境,在实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中。VxWorks是商业化强实时操作系统,价格较高。风河公司有大学计划支持嵌入式系统教学。现在它从FSMlabs购买了RTLinux,对实时 Linux开发设计提供专业的开发平台。


  μC/OS是由美国人Jean J.Labrosse开发的实时嵌入式操作系统内核。这个内核的产生和Linux有点相似: 由于从事嵌入式产品的相关开发和Labrosse本人的兴趣,他花了一年时间开发了这个最初名为μC/OS的实时操作系统。值得注意的是μC/OS只是一个操作系统内核,没有文件系统、网络协议和图形用户界面。μC/OS是开源的,但不免费。针对教育和非商业应用只要买Labrosse的书即可得到光盘上的源码,但用其开发产品是要付费的。周立功公司购买了μC/OS授权,自己设计了文件系统ZLG/FS、网络协议ZLG/IP和图形用户界面ZLG/GUI,提供了开发平台。Labrosse的Micrium公司通过北京麦克泰软件公司代理其产品。该软件代码很规范,没有使用操作系统课程中很专业的进程和线程的概念,只使用了任务,适合没有学过操作系统课程的开发人员学习。



  总之,嵌入式系统教学用嵌入式操作系统也要慎重选择,能选用主流或有厂家大学计划支持的更好。一般只需选择一种,从精通一种到能开发项目。实际上一通百通,再学习其他的操作系统也不困难。



3 嵌入式系统教学探索



3.1 应用推动嵌入式教学



  笔者1985年起给单片机培训班上课,当时的培训班学员来自研究所、公司和高校。培训班的目的是销售和培训厂商的开发工具,不收取费用。很多学员都有项目需求,学会使用工具后直接参与项目。这种单片机推广培训开展7年后,国内高校才大规模开课。由于单片机应用已经全面铺开,高校培养的学生很容易找到工作。



  现在的嵌入式系统教学很大程度上不是由应用来推动的,而是跟着实验箱厂家提供的内容来规划授课内容,包括接口技术、汇编编程、C语言编程、操作系统移植。甚至ARM加Linux似乎就是嵌入式系统。存在的问题是,Linux开放源代码、免费但无人支持,一旦碰到难点只能网上求援。很多小公司吃了苦头,再不敢用Linux做产品;有的转向Windows CE,因为无法把握产品的开发周期,而且人员成本较大。虽然Linux可以免费得到,但是其上流行的图形用户界面GUI又是收费的,按照GPL协议还得公开自己的源码。Linux的教学难度也很大,一般学过操作系统才好办。最早的嵌入式系统课将很大精力消耗在教学生怎么用Linux,直到计算机操作系统课加了Linux上机实验上手才比较顺利。从Intel公司大学计划送给高校教学用的PDA参考设计——SitSang板子的培训教师看,硬件部分的培训教师是板子的设计者,是学电子技术的,主要讲硬件原理,软件只是用C语言编写测试程序来测试板子的各个部件是否工作正常;软件部分的培训教师是学计算机的,主要讲如何移植Linux、设计驱动程序和应用程序。可见大公司软硬件人才分工很明确。



  实际上一个项目的软硬件开发人员比例可以到8∶2。也就是说若有10人,其中做硬件的只有2人,大部分人要开发软件。硬件有参考设计原理图,做出来即可;而软件体现着创意,体现产品的附加值。软件很重要,拿VCD机和苹果公司的iPOD比较,国内VCD机只能卖到几百元,而苹果公司的iPOD要卖几千元。硬件成本两者相比差不多,关键是软件。微软的移动和嵌入式研讨会令人感到震撼。微软资助用Windows Mobile开发云南白药集团企业管理用手机和城管通手机: 企业销售人员用前者随时和企业联系,一次拜访客户即可把订单做好;城管通手机使城管监督员可将所在地点的门牌标识和脏乱差的情况拍照,直接发送给城管部门。微软公司介入嵌入式领域,提供的是完整的解决方案,用户很快就能开发出产品。反观国内的嵌入式Linux,还陷在移植和底层接口模块的使用上。一般来讲这些适合偏硬件的人员做,距离做出产品还相去甚远。半导体厂商偏爱Linux是因为它是免费的,只要移植到评估板上就能证明处理器是正常工作的。真正要能开发出产品还得搭建应用平台。目前大的厂商都有手机平台、PDA平台或汽车电子平台。软件类嵌入式系统教学应该与硬件类嵌入式系统教学有所不同,应侧重平台搭建、GUI应用的开发,让学生能把自己的创意实现出来。至于编程,应以C语言为主、汇编语言为辅,优化则采用模块化混合编程。嵌入式系统课的实践性非常强,要上成理论课就失去了它的意义。



3.2 嵌入式系统的专业化分工



  嵌入式系统教学需要前期开设的基础课有:模拟电路和数字电路、微机原理或计算机组成原理、计算机接口技术、操作系统、C语言程序设计。嵌入式系统支柱学科有:微电子学科、计算机学科、电子技术学科及对象学科。微电子学科、计算机学科、电子技术学科为嵌入式应用构筑各种类型的应用平台,不介入嵌入式系统的具体应用;对象学科一定要在嵌入式系统应用平台的基础上,实现嵌入式系统在本学科领域的产品化应用,不必介入嵌入式系统的平台构建。操作系统的构建应该定位在计算机学科领域。在对象领域中,操作系统被视为工具,只需了解操作系统与应用界面。基于此,各个专业的嵌入式系统教学应有所侧重,不能千篇一律;只有把国内的嵌入式应用推动起来,培养的学生才能好找工作。这样看来,本科教学中,电子技术专业应侧重讲接口技术和驱动程序设计,非电类的对象应用专业应侧重单片机接口和C语言编程技术,计算机专业应侧重GUI应用和驱动程序。至于操作系统移植,并非一般教学内容,应安排在本科毕业设计或研究生阶段教学。实际教学能做到“师傅领进门,修行在个人”即可,主要是培养学生对嵌入式系统的兴趣,而不能因涉及面太广、难度太大而把学生们吓跑。各高校嵌入式系统课多为选修课,学时有限,规划主要的教学内容和实验内容侧重点是教师的首要任务。



3.3 加强嵌入式系统的实践能力



  笔者“嵌入式系统”选修课围绕ARM和Linux,按照验证性实验、综合性实验和创新性实验等3个层次逐渐培养学生开发应用程序和驱动程序的能力。实验教学中心采购了多种实验箱。针对实验设备的多样性,采用驱动程序屏蔽的方法,给学生提供一致的应用程序编程接口,利用实验设备共性的部分开设基础的验证性实验。同时,针对各种外设开发出各种实验样例程序,如液晶屏、触摸屏、小键盘和摄像头等,由学生自由组合成综合性实验。对于实验设备选配件以及未开发的部分,允许学生自主命题,申请器件进行创新性设计。这已经不是课内的内容,而是作为对嵌入式系统感兴趣的学生的课外科技活动。基于GTK+图形库的开源LiPS手机平台被移植到实验箱上。手机是未来的电脑,三大Linux手机标准联盟正推动着基于Linux的手机开发。鼓励大三和大四学生选修嵌入式系统课,侧重图片显示、触摸屏和视频采集的内容,通过开源手机平台等提高学生对硬件类课程的兴趣。上课和开设实验更多是为了发现对嵌入式系统感兴趣的学生,嵌入式系统课程不是普及教育,而是精英教育。光学课本,没有长时间的动手实践,根本不行。回想接触嵌入式Linux之初,买遍了市面上嵌入式Linux的书也没有找到一个模块化驱动程序的开发样例,最后不得不求助在Freescale公司工作的学生。从只会画单色圆的实验设备做起到积累大量实验样例,深深感到只把Linux移植到具体的板子远远满足不了嵌入式Linux应用的要求,应用程序和驱动程序开发才是嵌入式系统开发的关键。只有把嵌入式Linux的应用推动起来,国内高端嵌入式应用才能健康发展。现在更缺少嵌入式软件人才,希望培养学生对嵌入式系统的兴趣,更多地侧重多媒体、人机交互和GUI的程序设计。



  因实验箱厂商的支持有限,倡议成立嵌入式系统教学联盟,寻找提供交流的平台。按照各个专业的特点设计实验样例,能有自己的OS和GUI。希望不久的将来在国内能看到大量基于Linux的产品,学生们也能更好找工作。



3.4 重视开发环境的教学



  2008年5~7月,ARM公司举办“微控制器市场创新研讨会”。会议的主题内容是:ARM MCU市场和技术发展趋势、各半导体厂商基于ARM的MCU产品及技术方案和针对ARM MCU的开发工具解决方案。ARM公司合作伙伴Atmel、Luminary、NXP和ST公司及其代理商介绍自己的MCU并展示开发板。



  ARM公司推出的CortexM核专门针对微控制器市场。ARM公司收购德国Keil公司并投资英蓓特公司,推出中国版的RealView MDK开发平台。这样原用8051单片机的用户可使用熟悉的开发环境过渡到ARM MCU的应用。此次会议的新理念是,用ARM来统一支离破碎的微控制器市场开发环境,以后微控制器的选型不再以8位、16位和32位来区分,而是以高、中、低档芯片来划分。因为这些微控制器都有统一的机“芯”,区别只是它们的外围部件不同和厂商的技术支持不同。这样,工具和软件都可以重复使用,不用购置各种开发工具。在整个芯片成本中CPU只占很少的部分,芯片的价格不是由CPU核来确定,再按位数来评价MCU没有意义,应按外围部件和Flash容量等来确定。Microchip公司用MIPS核推出了32位微控制器。这都显现出通用的内核、广泛的支持、一致的开发环境是未来的发展趋势,也是嵌入式系统教学的新曙光。



4 结语



  其实各高校也不一定淘汰单片机教学而一味去讲带操作系统的嵌入式系统。适时更新一部分教学内容,跟上时代的发展即可。ARM现在也同样看中单片机的应用市场。只要大家记住教学是为了满足应用的需求,社会有什么需求,就朝什么方向努力。嵌入式系统没有单一、通用的教学模式,正像嵌入式系统是面向对象领域的专用计算机系统,只有突出自己的专业特点才能更好地为社会服务。
页: [1]
查看完整版本: 嵌入式系统教学模式探讨2