您好, 访客   登录/注册

应用型人才培养模式下的《嵌入式系统设计》课程改革的研究

来源:用户上传      作者:

  摘 要 《嵌入式系统设计》是工科院校电子信息类专业十分重要的专业课,本文以提高学生工程能力和动手能力为宗旨,分析了传统教学中的存在问题和不足,参考目前流行的嵌入式课程培训课程体系,针对应用型人才培养的目的,提出了以应用为主导方向的教学模式,以及一些有效的课程改革措施和方法。实践表明,改革后学生对嵌入式系统开发的兴趣,实际动手能力和工程素养都得到了提高。
  关键词 教育教改 教学模式 嵌入式系统设计
  中图分类号:G642 文献标识码:A
  1改革背景
  《嵌入式系统设计》课程是电子息类专业的一门很重要的专业课程,主要目的在于使学生掌握嵌入式系统设计的基本理论和方法,为今后从事嵌入式系统的研究和开发打下良好的基础。课程具有很强的应用性和专业性,授课对象一般为本科高年级学生或研究生。此外,当下企业对嵌入式系统开发人员的需求量极大,因此嵌入式系统课程的教学改革的研究不仅有利于提高教学效果,同时也是学校应用型人才的培养模式的一个重要方向。
  在国内的各大高校中,如华南理工大学,北京航天航空大学等,关于嵌入式系统课程的教学大纲,大部分的课程内容安排都是从下而上,即选择某一款ARM核的CPU作为开发实验平台,先讲解ARM的体系结构,指令集等内容,再针对具体CPU讲解硬件的接口,电路结构,然后讲解按照硬件如何在该款硬件开发板上移植操作系统,启动引导程序,文件系统,驱动程序,最后再介绍应用程序如何编写。有的高校在ARM体系结构的内容上安排起码30%的课时,CPU的硬件接口授课时间占约30%,操作系统和应用程序编写的授课时间约40%。还有的高校把授课时间重点放在CPU的硬件接口和实验上,如基于CPU实现某一些设备的驱动等。
  在华清远见,亚嵌等目前国内有名的嵌入式培训机构的培训课程中,嵌入式系统的培训课程则细分为ARM程序开发班,基于某个操作系统的系统开发班,驱动开发班,应用程序开发班等,其中应用程序的开发班是占了大部分,目前比较流行的嵌入式Linux应用开发培训, android开发培训,QT应用开发培训等等都是属于上层应用程序开发的训练。
  再者,在嵌入式系统开发的过程中,应用程序开发的人员数占整个项目组的60%以上,企业的需求量较大。而且应用程序开发的入门较简单,经过较短的时间培训就可很快上岗。另外,虽然不同的系统应用开发平台略有不同,但是原理和使用时非常相似的,熟悉一种开发环境,在学习其他的开发平台是非常快的。
  因此,对比目前的教学大纲和教学内容,可以发现一些问题:
  第一, ARM体系结构的内容与芯片硬件,操作系统的设计等内容相关,知识内容十分抽象,对于已有开发经验的人员而言较容易接受,但是对于学生而言内容太过抽象,学习难度非常大,因此学生的学习积极性非常低。
  第二,在实际的嵌入式系统开发中,较多的是硬件驱动和上层软件的开发,底层的体系结构内容几乎用不到。本科的学生毕业后即使从事嵌入式系统的开发绝大部分也是从上层软件的开发开始的,因此这些较底层的教学内容对于初学者而言极难又无用。
  第三,目前嵌入式系统开发大多由简入难,大多从用户界面程序的开发开始,而且用户界面程序开发也需熟悉相应的开发平台,需要学生一定的软件编程能力。应用程序的编程学习使得学生既有一定的经验有可提高编程能力。但按照目前的教学大纲安排,应用程序的教学环节时间非常少。
  针对本校的实际情况,我们在嵌入式系统教学上实力还比不上一些老牌的高校,学生的优势也不在系统底层的开发,如果一味的按照从底层原理开始讲解,学生的接受程度非常低,也对学生的就业情况不符。如安排的授课内容既能够引起学生的学习兴趣,同时学习的内容与企业的需求一致,则针对性更强。
  2改革内容
  针对目前《嵌入式系统设计》课程教学方法和内容中存在的问题,结合学生的实际需求,研究教学方法,并对教学大纲做出适度的修改,研究与之配套的课内实验的进度安排和内容。具体如下:
  (1)教学方法研究:寻找更合适的教学切入点,使得学生更有兴趣以及更容易学习。目前的教学方法为自下而上,即先教底层的CPU的结构,然后教授上层软件的编写,教学效果不佳。课程教学改为从上而下教学,即首先使用目前流行的QT软件进行应用程序开发。学生利用已经学过的C语言,在嵌入式开发板上编写或移植简单的用户界面程序,入手简单,所见即所得。且课程所用的例程采用游戏开发等内容,更容易引起学生的学习兴趣。下一项教学内容为如何利用操作系统和硬件驱动程序实现界面程序,最后再讲解与CPU相关的内容。这种由浅入深,层层递进的方法在嵌入式系统的培训机构和实际的开发过程中常常使用的,但他们是建立在人数较少和动手机会较多的情况下。因此,学校的教学中也采用了小班教学,约30人一班。
  (2)课程内容修改的研究:
  ①應用开发的课时和内容设置。在原教学大纲中,关于应用程序开发的课时只有2个课时,只能做一些简单的介绍或演示。可将应用程序开发的课时增加到10个课时以上,向学生讲授主要的接口函数用法和例子程序后,布置任务,以任务驱动的形式要求学生自己动手进行编程和调试,提高学生的调试能力。应用程序的编程使得学生熟悉开发的平台,在编程的过程中可加入操作系统相关的使用和提出疑问,使得学生开始对操作系统与底层产生兴趣,慢慢引入操作系统的概念。
  ②ARM体系结构等教学内容的减少。在原教学大纲中,近1/3的教学时间在底层的ARM体系结构,其中的内容涉及到了常用的寄存器、运行模式、工作状态、数据类型、存储器组织、异常及其处理,汇编语言的教学,汇编程序的编写等内容。这些内容与未讲解的CPU硬件相关,还和操作系统的设计相关,内容抽象,而且这些CPU和操作系统的内容放在后面讲解,这使得学生很难理解和掌握ARM体系结构的知识。同时在实际的嵌入式系统开发过程中涉及到ARM体系结构的内容非常少,因此可以将这部分教学内容删除一部分或全部,有兴趣的同学可以自行学习。   ③操作系统教学内容的选择。在教学过程中,需要选择一种操作系统,既能让学生容易上手,也能有实际的用途。目前流行的嵌入式操作系统有LINUX,WINCE,UCOS等,目前选用的是LINUX操作系统,该操作系统虽然开始学习有一定的难度,但是源代码开放,学习资料丰富,使用范围广,同时也是流行的移动终端开发平台Android的底层操作系统,因此十分有利于学生毕业后进行相关的嵌入式开发研究。
  ④实验课程的设置。原来的教学大纲中,实验课时为较少,但本課程需要大量的动手编程,因此课程安排为直接在机房上课,前期的内容只需使用虚拟机让学生进行程序的编写,和操作系统的熟悉,后期则安排在实验室上课,在嵌入式开发板上进行程序的下载和开发。如实现直接全部在实验室上课效果则会更好。
  此外,由于嵌入式系统的授课与相应的实验平台结合十分紧密,目前很难选择到与本系实验室中的硬件实验平台,采用的操作系统,软件开发平台一致的教材,这个也是《嵌入式系统设计》课程的一个普遍问题。因此,除了教材的选择外,实验指导书的内容编写至关重要。实验指导书需要涵盖操作系统,硬件驱动,用户界面程序的使用和程序编写指南,而不是仅仅作为某些实验的内容的讲解和操作步骤的说明。因此该实验指导书的编写也十分重要,与实际的硬件平台结合,研究如何根据教学方法和教学内容的不同,编写出实用的实验指导书。
  3改革的创新点与难点
  本项目是基于《嵌入式系统》的课程改革,在培养应用型人才的教学模式上作一些研究。主要是针对《嵌入式系统》这门应用型很强的课程如何讲授一些在企业中能有实际应用的内容,能提高学生的学习兴趣又能提高学生的动手能力。
  主要为修改教学方法,让学生从简单有趣的用户界面程序开始学习,一方面提高学生的学习兴趣,另一方面也让学生熟悉目前企业较为普遍使用的嵌入式用户界面软件开发平台,增加开发经验,提高学生的竞争力。当学生获得一些界面开发经验后,再深入到软件开发平台本身,与操作系统,硬件驱动结合,发挥电子专业学生对硬件比较熟悉的特点,熟悉CPU,编写硬件驱动程序,从而提高实践能力和实际开发能力。对于学习能力较强的同学,可加入老师的开发团队,进行与硬件相关度较大的嵌入式系统开发活动中。对于学习能力较一般的同学,也能从事用户界面等纯软件程序的开发。
  4总结
  到目前为止,本次教改项目中取得了以下成果:制定了新的教学大纲,编写了新的实验指导书,学生进行了一些小的项目开发,取得了一些成果,其中一个学生根据老师的实验指导书的应用实验,扩展后做了一个无线点餐机的应用,另外一个项目为基于指纹识别的考勤系统的研发,这些都是基于本次教学改革,学生对嵌入式系统开发产生了浓厚的兴趣,主动加入开发的队伍。
  另外本次教学改革还未能充分利用课外的时间进行课余实验,如果有可能,可以布置学生课外实验,让学生课后也能自觉熟悉嵌入式系统的使用,多编写程序。在上课的班级中,只有极少数同学课后能够自己购买开发板或借用实验室的实验设备自行开发小项目。嵌入式系统课程还可继续深化改革。
转载注明来源:https://www.xzbu.com/1/view-14807931.htm