首页 -> 2007年第8期

高职高专类院校嵌入式系统课程教学方法的探讨

作者:潘晓宁




  摘要:高职高专院校应充分认识将嵌入式系统课程引入大专层面教学的必要性和重要性,明确该课程在高职高专院校开设的难度,探讨该门课程的实际教学经验,培养能够适应企业需要的嵌入式系统开发人才。
  关键词:高职高专院校;嵌入式系统课程;实训与实验
  
  嵌入式系统是当今最新的电子应用技术之一,无论是广泛应用的手持式设备如PDA、智能手机、MP4播放器,还是应用于通信、航空航天和军事领域的专用设备,都是以嵌入式系统为基础的,因此,在当今的社会中,嵌入式系统已逐渐深入到我们生活中的各个方面,并时时刻刻影响着我们的生活。
  早期的嵌入式系统都是以8位单片机为主的设备,这些设备具有相对来说较为简单的结构和功能,如最为典型的单片机ATMEL公司生产的AT89S52,除了具有双向模拟I/O口的功能外,还有异步串行口、外部中断输入、定时器/计数器等功能,具备这些功能的8位单片机一般被用在空调、冰箱控制器和户外LED显示屏上,这类简单的嵌入式系统课程在一般的高职高专和本科类院校都有开设,具体课程主要是单片机原理与应用技术及C51编程技术。
  随着现代电子技术的发展,嵌入式系统的开发重点逐渐由8位机转向32位机,这是由于相对于8位机而言,32位机具有更加强大的功能和更加广泛的应用领域,在功能上,32位机除了具有8位机所具有的特性外,还具有10/100M以太网口、LCD显示屏、触摸屏、Irda红外控制器、USB主机和设备控制器、SD/MMC卡控制器、IIC控制器和电源控制等多项功能。具有这些功能的32位机可以开发出功能更加强大的电子设备,如手机、数字机顶盒、路由器、程控交换机和GPS导航系统等,这些设备已广泛应用在家电、交通、通信和航空等领域。
  
  嵌入式系统课程在高职院校开设的现状
  
  由于32位嵌入式系统具有如此多的优点,国内的很多高等院校已将其作为电子类本科高年级的专业选修课或研究生的专业必修课。一些教师也对其在本科院校的教学方法进行了研究,只有少数高职高专院校才在最近一到两年开设该门课程,究其原因,主要有以下几方面:
  预修课程太多,时间不够相对于8位机而言,必须具备一定的专业基础知识才能进入32位嵌入式系统课程的学习。在硬件方面必须先学习数字电路、模拟电路(高低频)和单片机原理与应用等课程,在软件方面要学习C程序设计、汇编语言、软件学和操作系统原理等课程。只有掌握了这些课程的内容后,才能进入32位嵌入式系统课程的学习,而高职高专院校的学制一般只有2~3年,学生学习这些课程的时间将非常紧张。
  课程难度相对较大32位嵌入式系统本身的知识点很多,主要包括32位嵌入式芯片的结构与功能、32位嵌入式硬件体系结构、硬件平台的电磁兼容设计、嵌入式软件中的Bootloader引导程序、驱动程序的编制与调试技术、嵌入式实时操作系统平台的移植与应用软件的开发等,学习起来不但内容繁多,而且难度很大。
  实训和实验设备价格较高学习嵌入式系统课程,不但要在课堂上进行理论讲解,还应将这些理论内容放到实验课程中去检验,只有这样,学生才能消化吸收相关内容。相对于其他课程的实验设备,嵌入式开发系统实验平台系列的产品价格是比较贵的,嵌入式系统实验箱的价格在5000元左右,Trace32仿真器的价格为8万元一套,ADS1.2开发软件价格在1万元左右,包括其他测试软件、GPS模块或GPRS模块。装备一个具有25套开发系统的实验室,要花费100万元左右,因此,财力相对薄弱的高职高专院校引入该课程会面临资金不足的问题。
  学生素质相对较弱本科院校和高职高专院校的学生都经过了国家高等学校统一招生考试的选拔,但本科院校的学生是第一、二批次录取的,高职高专院校的学生是第三、四批次录取的。因此,相对而言,高职高专院校学生的学习能力与基础要比前者薄弱,学习嵌入式系统课程,学生遇到的困难也会更大。
  那么,是否高职高专院校就可以不进行嵌入式系统课程的教学了?答案是否定的。我们所处的时代是一个飞速发展的时代,特别是电子信息技术,已经改变了我们的生活和工作节奏,随之而来的是社会对电子信息类人才大量的需求。因此,高职高专院校必须面对挑战,开拓创新,积极引入嵌入式系统课程的教学。
  
  社会需要什么样的嵌入式系统人才
  
  笔者走访了一些公司,以专门开发嵌入式系统开发板的深圳市旋极历通科技有限公司为例,该公司技术研发部门除了技术总监和项目经理是具有博士和硕士学位的高端人才以外,其他技术人员大部分是来自深圳职业技术学院和深圳信息职业技术学院的高职大专生。这些开发人员的主要工作是ARM嵌入式硬件开发系统设计、嵌入式相关软件设计、操作系统移植与应用软件开发和嵌入式系统总体调试和测试等,每个开发人员的分工都很明确。在这样一个高科技公司里,本科生并不多,起主要作用的几乎都是高职大专生,为什么会出现这样的状况呢?主要有两个原因:
  公司对人才的要求与学校的培养目标相契合毕业于上述两所学校的软硬件设计开发人员在学校的专业课学习阶段,都学习过基于ARM的嵌入式系统课程,并进行过相应的实验和实训,对嵌入式系统有或多或少的接触和了解,因此进入相关企业之后,对于某个特定的嵌入式系统项目能够快速入门,理解并掌握相关系统的开发流程和方法,企业花费很少的资金甚至不用花费资金,这些学生就能够给企业带来利润和效益,是企业欢迎的学生,也是学校应该培养的合格学生。
  高职学生的使用成本较本科生低以往大部分企业在招人的时候,都是根据文凭定基本起薪工资,在客观上形成了本科毕业生与专科毕业生的工资差别。现在的企业,特别是民营和私营企业在招聘毕业生的时候,更看重的是知识结构与技能,具有专业知识并且动手能力强的学生能受到企业的普遍青睐。由于高职院校在课程设置上一般规定实验实训课程占总课时的一半以上,比较而言,合格的高职毕业生应该比本科毕业生的动手能力更强。因此,企业更愿意聘用薪水低、动手能力强的高职学生。
  通过上述分析,可以肯定的是,社会需要高职院校培养出更多合格的电子类应用型人才,特别是在深圳这样一个高科技创新型城市,对嵌入式系统开发、测试与销售人员的需求一直是非常强劲的。
  
  高职院校如何培养嵌入式系统人才
  
  经过几个学期的嵌入式系统课程教学实践,笔者认为,在教学中能够做好以下几点,基本上就能够将本课程的内容介绍清楚了。
  课程教学应以实验和实训为主,讲授为辅在本科院校中,单片机课程也是比较难学的,嵌入式系统课程的难度更大,如果在高职院校中用传统的以课堂讲授为主的方法教学,学生将会对众多的软硬件知识点和概念难以理解,继而产生厌学情绪,从而使教学效果大大降低。笔者在教学实践中采用了先实验后讲授的方法,取得了良好的效果。以一个具体示例说明这种方法,如嵌入式系统平台(此处为基于S3C2410的ARM9开发板为例)与台式机之间的串行通信内容,在讲解前,笔者先将学生带入实验室,由教师做演示实验,让学生看到实验结果,再指导学生自己操作实验平台,期间解释嵌入式程序的语句功能。以bootloader的代码讲解为例,bootloader是在操作系统内核运行之前运行的一段小程序,通过这段小程序可以初始化硬件设备,建立内存空间的映射图,从而使系统的软硬件环境处于一个合适的状态,为最终调用操作系统内核准备好正确的环境。代码的伪指令流程如下:
  

[2]