嵌入式系统系列课程建设的教学研究

2013-07-13 01:20刘路路王凡江东
赤峰学院学报·自然科学版 2013年12期
关键词:嵌入式单片机课程

刘路路,王凡,江东

(合肥师范学院计算机科学与技术系,安徽合肥230061)

嵌入式系统系列课程建设的教学研究

刘路路,王凡,江东

(合肥师范学院计算机科学与技术系,安徽合肥230061)

结合培养应用型人才的需要,探讨嵌入式技术发展对人才的需求问题,将嵌入式系统相关课程组成课程群进行合理建设.针对课程群内容建设、构建课程群实验与实践教学环节体系、教学方法提升学生兴趣几个方面介绍嵌入式系统系列课程的建设工作.

嵌入式系统;课程群;应用型;教学

嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统[1].掌握单片机MCU、数字信号处理器DSP、高性能RISC处理器ARM的设计,并了解IC、SOC及嵌入式操作系统的产品研发人才成为新的人才竞争热点.尤其是实用型、复合型的嵌入式软件工程研究、技术开发和项目管理复合型人才更是企业追捧的对象.但是与巨大的产业需求和市场潜力相比,嵌入式系统方面的教育体系建设相对滞后.国内高校原来计算机专业的相对偏软而电子工程专业却相对偏硬,而嵌入式系统需要的是软硬件紧密结合的复合型人才,使得企业缺乏合适的嵌入式系统开发人员,高校毕业生无法满足企业需求,使得人才培养模式与实际人才需求严重脱节.合肥师范学院(以下简称我校)作为新建本科院校,其主要任务是为安徽经济和社会发展培养高素质应用型人才,也为我省的经济建设和发展提供有力的人才支持.因此,积极探讨嵌入式技术发展对人才的需求问题,进行嵌入式系统系列课程建设的教学研究以符合我省经济发展和我校培养应用型人才的急迫需要.

1 目标定位

根据企业调研,结合专业特点和我校实际,以就业为导向,注重学生专业技能和岗位能力的培养,确定了我校计算机软件专业的培养方案,要求培养的学生具有扎实的计算机理论基础以及良好的软件工程专业素质,掌握现代软件工程设计、开发和测试技能.重点培养学生嵌入式系统软件工程实践能力,包括各种嵌入式系统开发技术、调试和测试工具,毕业后学生有能力适应巨大的嵌入式系统产品市场需求,成为嵌入式系统产品企业所急需的掌握嵌入式系统软件技术和管理的应用型人才.

由于嵌入式软件人才的培养不同于传统计算机软件人才的培养,除了学习软件工程的软件开发流程、项目管理等方面的知识外,还需掌握计算机硬件基础、嵌入式应用领域的专业知识,嵌入式系统的开发技术与调试和测试工具,这就需要解决课时总量一定而专业领域扩大的矛盾,如果课程设置不合理,不但造成新的课程学生接受不了,传统课程体系的优势也会被破坏.为了解决这一矛盾,我校计算机科学与技术系(以下简称我系)将嵌入式系统相关课程组成课程群进行合理建设,组成教师团队开展课程群的建设研究,整合各课程教学内容,提高教学质量.课程群的课程主要有[2]:硬件先期基础课程包括电子电路、组成原理、单片机原理及应用;软件先期基础课程包括C语言、数据结构、操作系统、软件工程、软件项目管理,最后进行嵌入式驱动程序开发,嵌入式系统及应用开发的课程教学.课程群结构图如图1所示.

2 课程群内容建设

在通过一系列的调研和分析之后,对嵌入式系统及应用开发方面的课程进行了全面的梳理,根据各门具体课程内容纵向的传承关系,横向的内在的联系将课程群的内容进行整合和优化,补充部分在实际工程实践中需要的相关知识,删除一些过时和重复的教学内容,同时注意调整教学顺序,保证知识的系统性,更利于学生接受消化和理解.并通过连贯性,系统性的教学与实验,更加有效地提高学生的综合素质,使整个课程群的教学内容针对性更加突出.以保证学生之后能够真正地掌握嵌入式系统及应用开发的核心技术,提高开发和应用嵌入式程序的能力.

图1 课程群结构图

2.1 硬件基础

电子电路:包括模拟电路和数字电路两部分内容,这类课程的授课内容是使学生掌握模拟电路和数字电路的基本理论、元器件的构成和特性,电路分析和设计,熟练使用仪器仪表,授课时主要注意和后期专业课程进行衔接,尤其注意提高学生的实践动手操作能力,包括能够熟练使用焊接工具焊接集成器件,能够阅读原理图,会分析以及调试电路,让学生觉得学以致用,理论联系实际.

组成原理:详细介绍组成计算机的各部件的组成原理、逻辑实现和设计方法.介绍计算机硬件系统内部各部件之间的互连、指令在计算机中的执行过程,让学生形成整机的概念.为了便于学生对基本概念的理解,培养学生对硬件系统的分析、设计、使用方面的能力,介绍一种或两种有代表性的机型结构.特别注意培养学生从硬件和软件的结合上思考、分析、解决问题的初步能力.

单片机原理及应用:单片机课程是嵌入式课程群教学的基础和入门,在嵌入式方向应用型人才培养中占有举足轻重的作用,旨在传授给学生综合运用嵌入式处理器进行开发与设计的基本方法和能力.目前在实际应用中单片机的种类非常多,因而该课程的教学主要选取目前国内市场上覆盖和利用率最广的MCU51系列芯片作为样板,学习单片机的核心架构以及各个功能模块、各种接口程序的编写,并详细介绍单片机在各种场合的应用.要求学生掌握单片机的基本结构及工作原理、各种接口的应用,单片机硬件系统扩展的基本概念、基本方法和单片机软件编写的基本原则,着重培养学生应用单片机设计控制系统及编写程序的能力.

2.2 软件基础[3]

C语言程序设计:C语言是当今世界嵌入式系统开发最主流开发语言,在嵌入式系统开发中,特别是基于ARM和Linux的嵌入式系统中占主导地位,所以为了结合后续嵌入式系统开发的需要,需要调整C语言程序设计课程内容,强化指针、位操作、函数,并加强两周的课程设计训练,强化程序设计能力.教学中可以结合一些简单的单片机开发的小程序如流水灯实验来提高学生以后学习的兴趣.

数据结构:数据结构是从事计算机软件开发的必备的基础知识.高效、实时、可靠对嵌入式应用系统来说尤为重要,要求学生掌握在硬件资源有限的情况下,如何提高代码质量,优化算法,提高软件的执行速度,更好地满足实时性的要求;减少目标代码的长度,节省存储空间的开销,提高系统的性能和处理速度.

操作系统:当前面向高端应用的嵌入式系统基本上使用的是实时操作系统,且采用微内核结构,核心就是任务和内存管理.由于大多数嵌入式操作系统对内存空间没有保护,各线程实际上共享的是一个运行空间而这些内容关系到嵌入式系统开发的成败,在讲述操作系统基本内容的同时应重点提出,并面向嵌入式系统应用举出实例.在操作系统课程的授课时需结合linux操作系统进行讲解分析,以便学生在掌握Linux操作系统后可以快速深入了解主流带操作系统的嵌入式系统设计流程和方法.

软件工程/软件项目管理:嵌入式软件工程人员必须首先具有软件工程的基本知识和工程技能,包括软件工程管理、软件质量、软件工程过程等,这些基本知识也正是目前非软件工程背景的嵌入式软件人员所忽视和缺乏的.但是,嵌入式软件工程人才又必须掌握嵌入式软件工程的特殊性,例如软硬件一体化设计与开发、开发工具和方法等,因此,在课程内容设置上,除了讲解软件工程的基本模型和基本方法外,还要将嵌入式系统新近发展起来的如软硬件协同设计、模块的可重用和可移植设计等一些新方法和技术列入到课程内容中去.

2.3 嵌入式系统开发课程

包括嵌入式驱动程序开发、嵌入式系统及应用开发课程,课程内容包括嵌入式系统的基础知识,实时内核的基本原理,嵌入式操作系统内核及文件、网络、GUI.培养学生具备嵌入式微处理器ARM的基本知识和编程能力,具备嵌入式存储系统、I/O接口的编程能力,培养学生熟练使用嵌入式系统的开发、调试、测试等开发工具.通过课程设计结合项目实践帮助学生积累开发经验,能结合嵌入式系统软硬平台多样性的特点举一反三,具有创新思维和独立分析解决问题能力.

3 构建课程群实验与实践教学环节体系

嵌入式类课程群是一个理论和实践教学的综合体,在课程群体系中,需注意各门课程实验内容合理安排与相互衔接,使学生得到设计、综合技能的全面训练.我系进行的立体化实践教学体系,取得了良好的效果.将实践教学分成课内实验、课程设计、课程企业见习及专业实习、毕业设计五个阶段完成.其中课内实验和课程设计配合理论课的学习,以提高学生的理论学习兴趣和训练他们开发的基本能力;项目实训阶段以课程企业见习和专业实习的方式进行,构建虚拟嵌入式开发的开发环境和管理模式,使得学生在完成传统实验同时可以真题真做,通过实际动手的综合设计掌握企业嵌入式开发流程;最后通过毕业设计进行综合实践能力的提高.通过实践,使学生能够整合嵌入式系统的相关理论,并在实际开发中得到工程能力培养.

4 教学方法提升学生兴趣

4.1 精选入门程序

为了提升学生学习兴趣,课程可以精选一些简单直观的入门程序.一般来说,第一个工程安排应“短小直观”为原则,以达到让学生直观的了解程序框架和工作过程的目的[4].以嵌入式系统及应用开发课程为例,选择一个简单的可供观察的小程序,进行编译、链接下载到芯片内部Flash存储器,然后将程序下载到目标MCU中,在目标板上,让学生注意观察整个过程.同时可以在被测程序中插入一些函数与语句这样可以进一步利用嵌入式软件的打桩调试技术,让学生可以更方便的通过在硬件板上显示的物理现象来观察程序的运行情况.

4.2 参赛

组织指导学生成立兴趣小组参加嵌入式系统方面的设计大赛,让学生在竞赛中检验并进一步提高自己的实践创新能力.近年来,由于我系有着健全的创新管理机制,特别是教师的积极组织和学生的热情参与,使得学生参加国家级以及省级的各项比赛,取得了一定的成绩,包括全国机器人大赛,全国大学生智能汽车大赛等,而通过这些比赛,可以带动更多的学生加入到兴趣小组,带动更多的学生自觉投身到实践学习当中,从而有助积极氛围的营造和优良风气的形成,也推动了嵌入式系统系列课程的建设.

4.3 开展嵌入式系列讲座

针对学生举办嵌入式系统方向应用型人才培养系列讲座,旨在通过综合介绍计算机层次结构,核心课程结构和作用,使学生明确学什么?怎么学?嵌入式方向讲座针对嵌入式系统范围广,跨度大,知识点多而杂的特点,从硬件软件两方面引入专业基础课程,然后开始较简单的无操作系统的嵌入式系统介绍,最后引入现在主流带操作系统的嵌入式系统.从简入繁,依据嵌入式系统结构,一层一层引入各门核心课程,给学生以直观了解.方便学生明确自己未来工作所处的计算机层次,有针对性的学习,为后续因材施教、学生综合能力提升、创新能力培养打下基础.

〔1〕李亚峰,欧文盛.ARM嵌入式Linux系统开发从入门到精通[M].北京:清华大学出版社,2008.

〔2〕王晓薇.基于应用型人才培养的嵌入式课程群建设的探索与实践[C]//大学计算机课程报告论坛组委会.大学计算机课程报告论坛论文集.北京:高等教育出版社,2010.1-4.

〔3〕过怡,刘文芝.基于职业能力的嵌入式专业课程群建设探讨[J].常州信息职业技术学院学报,2010,9(6):51-53.

〔4〕王志超,王宜怀.从嵌入式系统教学谈学生创新能力的培养[J].计算机教育,2010(3):150-152.

G642.0

A

1673-260X(2013)06-0230-03

合肥师范学院院级教学质量与教学改革工程项目(2010yj29)

猜你喜欢
嵌入式单片机课程
数字图像处理课程混合式教学改革与探索
软件设计与开发实践课程探索与实践
基于单片机的SPWM控制逆变器的设计与实现
为什么要学习HAA课程?
基于单片机的层次渐变暖灯的研究
基于单片机的便捷式LCF测量仪
搭建基于Qt的嵌入式开发平台
A—Level统计课程和AP统计课程的比较
嵌入式软PLC在电镀生产流程控制系统中的应用
Microchip推出两个全新PIC单片机系列