杨俊成
(河南工业职业技术学院计算机工程系,河南南阳 473009)
嵌入式技术对于现代工业起着倍增器的作用,各行各业都存在着嵌入式的应用场景[1]。基于此,国内众多高校、职业技术学院和培训机构均开展嵌入式系统的教学和培训工作。对于嵌入式系统这一跨学科、软硬件集成、与业界需求密切相关的综合性系统来讲,要在短期内建立起一套完整、科学、系统的教学体系绝非易事。
嵌入式系统所包含的教学内容主要有ARM体系结构、汇编语言程序设计、中断系统、异常处理、I/O设置、UART设置、时钟、触摸屏、I2C、I2S及ARM芯片接口的设置,该课程融合了多方面的软硬件及综合知识。
大部分的高等院校均是购买某一公司的开发板或者实验箱,按照实验指导书指导做实验。该实验对于学生的能力培养效果较差,对ARM体系中的流水线结构、地址映射、异常等概念的理解也无法深入,较难综合应用驱动程序、中间接口层、操作系统等系统级软件,这样便导致软件和硬件脱节。对设计出复杂的综合性实验造成困难。实验过程中缺少考虑培养学生的创新能力、新技术的实践能力、团队协作能力和语言表达能力等,因而不符合当今对嵌入式人才的要求。
为使学生更好的掌握基于ARM的嵌入式系统,充分调动学生学习积极性,即采用倒推法授课[2],第一次上课就让学生了解一个实际的嵌入式产品。以2010年全国职业院校技能大赛中的自主探月车为实例,将产品分解,倒推出这一产品的开发过程。从产品到部件的倒推归属到课程不同章节的内容中,放到相关的教学单元进行讲解[3]。在每一教学单元中,以产品的部件为核心,设计出实际开发中需解决的问题。每一章节完成一个任务,这一任务也是其嵌入式产品的一部分,课程学习结束时所有的任务叠加后,就是一个实际的嵌入式产品。
正确处理现有的教学资源,在了解现有教材的同时要不断融入更符合教学规律的教学内容[4]。教学内容力争接近工程实践,又带有一定的趣味性和启发性,让学生知道如何将学到的知识点应用于工程实践中。因此要对教材内容作适当编排和修正,使教学计划更符合学生的学习规律。
调整之前从第一到第八章的内容都是理论部分,主要讲述ARM的体系结构、ARM的异常模式、ARM存储器映射、ARM中断模式及中断系统[2],这部分内容理论性较强、且比较抽象和枯燥,学生学完后无法真正了解ARM,无法用汇编语言实现相关功能,极大地影响了学生的自信心。
在修正后的内容安排中,教师将一些容易掌握并能够吸引学生注意力、容易看到实验现象的章节安排在前面,以激起学生的学习积极性。
(1)把S3C2440的I/O操作安排在前面,先用一个流水灯实验告诉学生,ARM虽然结构较为复杂,但也可像单片机那样,通过简单的设置,实现流水灯实验,以提高学生的学习兴趣。
(2)根据学生C语言的基础,讲解基于ARM的C程序设计,并实现一个串口驱动程序,加强学生对ARM体系的理解和C语言的编程能力。
(3)介绍ARM指令系统[3],并根据指令介绍ARM的体系结构,讲解ARM中断和异常的处理过程,并用汇编程序模拟相应的处理过程,且在内容的讲解上要与月球车的启动代码结合,强化学生对概念的理解。
(4)将ARM的LCD显示功能和触摸屏的A/D转换放在一起讲解,定时器和计数器在实时时钟、看门狗系统中都会用到,所以这两章要统一讲较为合适。
(5)讲解两种常见的总线,I2C总线和I2S总线,并结合实验让学生掌握两种总线的工作原理。
(6)最后讲解在ARM体系结构中,ARM处理器与存储器之间的内存映射,这是课程的一个难点,并需要前面的一些基础,因此放到课程的后面学习比较合适。
(7)理论课程学习结束后,设计一个一周时间的综合实训,将理论课和实验课上的知识点链接起来,形成一个知识体系,用真实的案例提高学生分析问题和解决问题的能力。
该章节的调整以一种先易后难的方式编排教学内容,取得了较好的教学效果,但并不影响教学大纲所规定的学习内容。
在实践教学中,教师并不是将实验代码事先写好,然后给学生分析代码,而是提出问题,比如如何在月球探测车上显示图片,还可将其改为更有趣的例子,比如如何把本人的照片显示在屏幕中,以提高学生的兴趣。之后引导学生分析问题,制定设计方案,带领学生从第一行代码开始编写,逐步实现相对应的功能。当然在实现的过程中,会出现大量的问题,比如寄存器设置错误、指针读取数据错误、内存溢出等。这就需要教师对整个项目十分清晰,能在短时间内解决学生所提出的问题并能处理一些突发性错误,随后带着学生去分析引起这些问题的原因,告诫学生如何避免这些问题,并解决问题,大大提高了学生的动手能力。
为培养学生对嵌入式开发的兴趣,在课程学习后期,将学生分成5人小组,以前一年的嵌入式大赛题目为实战项目,让学生用一周时间去实现一个嵌入式产品,完成一个正推过程,从一个产品的设计思想到各个部件的实现,最终完成这个产品,之后编写论文并参与答辩。待国家嵌入式竞赛题目公布之后,从中选择几名表现优秀的学生,提供实验场所和实验器材,由专门教师指导参加全国嵌入式大赛[5]。
文中改革措施已在教学实践中发挥了积极作用,在日后的教学中,将根据实际情况及时对该课程体系和培养模式进行调整,努力构建一个科学规范的人才培养方案,为企业培养出具有动手能力及创新能力的研发人才。
[1] 田泽.ARM9嵌入式开发实验与实践[M].北京:北京航空航天大学出版社,2006.
[2] 周立功.ARM微控制器基础与实战[M].北京:北京航空航天大学出版社,2003.
[3] 胥静.嵌入式系统设计与开发实例详解—基于ARM的应用[M].北京:北京航空航天大学出版社,2005.
[4] 邓春健,李文生.“ARM嵌入式系统”课程教学方法研究[J].计算机教育,2010(3):94 -96.
[5] 章民融,徐亚峰.嵌入式教学关键点的研究和嵌入式实验教学平台的设计[J].计算机应用与软件:2009(3):160-162.