前言:一篇好文章的诞生,需要你不断地搜集资料、整理思路,本站小编为你收集了丰富的嵌入式课程总结主题范文,仅供参考,欢迎阅读并收藏。
嵌入式方向包括软硬件协同设计、嵌入式体系结构、实时操作系统、嵌入式产品设计等方面的知识,需要掌握嵌入式系统设计的典型开发工具,培训学生具备嵌入式系统软、硬件的开发能力,对于特定行业领域(例如移动终端、数字家庭、信息家电以及对传统产业信息化改造)已经逐步形成了特定的嵌入式开发方法与手段。
随着软硬件技术快速发展,嵌入式系统不再是一门课程就可以介绍清晰,而逐步成为一个课程群,该方向的专业课程可划分为:嵌入式系统原理、嵌入式操作系统、实时系统、嵌入式软件设计、软硬件协同设计、嵌入式系统软件工程、嵌入式系统中间件、数字信号处理等。一些学校还开设了微机电路应用设计、单片机编程、ARM等课程。
我们收集并分析了国内部分高校在嵌入式课程上的教学大纲,以此为基础设置了我们的嵌入式系统概论课程。表1是我们收集的大学名称、课程名称、学时数与知识点,这些课程基本上是基于Intel的XScale实验板设计的,对我们设计“嵌入式系统概论”有借鉴作用。
综合上述高校的嵌入式课程,有些是针对计算机专业开设的,有些是针对其他专业的,有本科期间开设的,也有硕士期间开设的,一些高校开设了多门嵌入式方向大课程。我们设计的“嵌入式系统概论”是针对本科阶段开设的嵌入式方向入门课程,主要面向大三的本科生,其课程结构如图1所示,其前修课程一般是计算机组成、微机原理、接口、汇编、操作系统、程序设计语言、体系结构。部分后续课程开设在研究生阶段。
嵌入式系统概论课程的目的,是综合前修计算机专业课程,以及包括数字电路等更基础的知识,开拓学生对嵌入式的视野,为后续课程奠定基础。因此在嵌入式课程中不会介绍汇编语言设计、接口电路的设计等知识。
我们认为,该课程理论部分的知识点分布基本上如图2所示,主要分为四大模块,分别是嵌入式概念、嵌入式体系、嵌入式系统软件、嵌入式软件开发。实验部分由于各学校实验材料的差异,较难对比,我们的使用设备主要是30套Intel XScale与30套Motorola Dragonball。
对于嵌入式体系结构,首先介绍各种嵌入式体系结构、处理器、DSP。
由于ARM体系是目前嵌入式系统工业界事实上的标准,一般都以ARM体系为例介绍嵌入式体系结构,并介绍ARM汇编。由于上课学生已经学习了汇编语言,所以需要简单介绍ARM汇编与微机汇编的差异与特点,要求学生以自学为主,作业为辅,可以较快地掌握该汇编。浙江大学计算机专业本科生阶段在计算机组成课程中还学习了MIPS汇编,所以学生们对ARM汇编掌握起来就更快一些。
在嵌入式体系的具体实例介绍中,我们结合本课程的实验平台简要介绍XScale体系,这部分主要也是自学为主,结合实验环节让学生掌握看硬件资料的能力。
在嵌入式体系结构部分,还需要介绍嵌入式系统的硬件系统,包括JTAG接口、外设、中断、总线等。通过这部分的介绍,学生们可以了解嵌入式硬件系统的构成与软硬件接口。
嵌入式系统软件就是嵌入式操作系统。嵌入式操作系统包括非实时嵌入式操作系统与实时嵌入式操作系统(RTOS),在嵌入式课程中主要介绍RTOS。在系统软件模块中将介绍实时系统概念、操作系统在嵌入式系统领域的改造,例如处理器调度的实时性改造、中断处理、文件系统、MMU等。嵌入式系统概论课程主要介绍常见的各种嵌入式操作系统,包括它们的特点、应用领域,并以嵌入式Linux为例子,介绍Linux的改造、裁减与移植。
最后一个模块是嵌入式软件开发,是介绍嵌入式软件开发的过程,使得整门课程最终能够形成一个完备的嵌入式开发体系。Bootloader的设计,也可放在操作系统移植中进行介绍。嵌入式图形用户界面目前没有统一的标准,作为概论课程需要介绍各个嵌入式GUI的优缺点与适用范围。同样,课程介绍包括Tornado、等嵌入式开发环境,以及嵌入式中间件。课程最后将以实例来介绍嵌入式系统的开发流程。
作为后续课程,我们认为一些专题性质的开发工具,例如开发、Symbian开发、BREW开发等,可以利用浙江大学暑假短学期为期两周的课程实践来完成。而实时系统可以单独开设研究生层次的课程,面向领域的嵌入式系统设计可以开设相关的专题班进行讨论。部分嵌入式软件开发的知识点,可以交给其他课程完成,例如人机交互设计课程里面,可以介绍嵌入式GUI的设计,FPGA可以在相关硬件课程中完成。微机原理课程也可以涉猎部分嵌入式课程的内容,例如工业控制、嵌入式系统扩展等,对于微机原理课程的改革,也是嵌入式中心正在进行的工作之一,希望将实验设备更新到奔腾M处理器,增加FPGA,实现原来微机原理的实验,并完成嵌入式的实验。
关键词:双语授课;项目案例;嵌入式系统;专业培养
引言
嵌入式系统技术的飞速发展使嵌入式行业对人才的需求也是与日俱增的。国内高校已有很多嵌入式课程开设,有嵌入式系统基础、嵌入式操作系统、嵌入式应用开发等不同层次的课程。但嵌入式系统课程本身的应用性强的特点就对嵌入式人才的实践动手能力有很高的要求。嵌入式方向的课程具有很强的综合性,涉及到电子、计算机、机械等学科的知识,作为嵌入式系统的学习者对嵌入式系统知识的整体性及其全部技能的掌握只能是侧重点不同。另外嵌入式系统技术及其微处理器技术发展迅速,新的微处理器、接口、总线等不断出现新的标准和开发方法。因此,嵌入式方向的课程在授课内容和方法上要与新技术、新发展融合。而新的技术和标准出现都是以英文形式出现,嵌入式系统课程采用双语授课可以与新技术和新标准的数据手册结合就保持了嵌入式系统授课的开放性。嵌入式系统课程是实践性很强的课程,现有的嵌入式系统课程实践课课时占总学时的近一半。另外,嵌入式系统实践课的实验内容和实验方法也各有不同。实践课教材通常是采用嵌入式实验箱厂家提供的实验指导书,所做实验只能是在各自的嵌入式实验箱上实现,不能举一反三。由于实践教材的限制,对于嵌入式系统双语授课的实践课就没有双语环节了,偏离了双语授课的初衷。嵌入式系统课程体系的综合性和实践性的特点对传统的理论+实验的嵌入式教学方法很难有一个完整的解决方案。理论课教学以课堂讲授为主,教学内容单一,各章内容孤立,如果没有一个完整的案例,学生很难将不同内容间的联系建立起来;实验课教学内容大多是与实验箱相结合的,内容不够全面、针对性不强,很难与理论课的内容相结合。针对传统教学模式和方法的不足,在多年来的嵌入式教学过程中,重点培养学生的动手能力和创新能力,利用实践和项目推动嵌入式系统教学,以项目为主线从中找出需要学习的相关理论知识,以实践为主导的嵌入式双语教学方法。
1实践和项目推动嵌入式教学方法的特点
嵌入式系统双语课程以实践和项目推动嵌入式教学的方法中双语教材的选择既要注重双语教学的内容又要符合实践和项目推动的特点。现有双语教材比较少,符合这两个特点的还需要自己编写教材。在编写双语教材时将微处理器、接口、总线等数据手册中的内容加以修改,添加入符合课程内容的项目。另外根据项目和课程内容编写相关的实验指导书,不拘泥一种实验箱,二是不同的项目采用不同的开发板实验指导内容,使学生接触的实践内容多样化,嵌入式设计的灵活性。采用实践与项目推动嵌入式系统教学的第二个特点就是课程掌控比较灵活。授课过程中以学生为主,结合学生动手能力和创新能力,如何利用项目来提升学生的能力、教师如何与学生互动将是实践该方法的一个关键问题。项目的题材选择要符合嵌入式系统课程大纲要求,授课过程中无论是什么课程,学生都对教师的横向项目很感兴趣,能够紧密联系实际、激发学生的听课兴趣。项目题材选择要难易适度,因材施教。结合以上实践与项目推动嵌入式系统教学的特点,以我校嵌入式系统基础教学为例,并结合多年的实践经验和所做的横向项目,构建了嵌入式系统基础课程的体系框架。
2实践和项目推动嵌入式教学方法的主要内容
通过对实践和项目推动嵌入式教学方法的研究和实践,改进传统的以学科为基础的教学法,形成以实践和项目为驱动的嵌入式教学方法。
2.1项目的选择
《嵌入式系统基础》课程的主要内容有:嵌入式系统概述及开发流程、嵌入式微处理器、嵌入式微处理器的可编程输入输出接口、存储系统、系统总线及嵌入式系统的应用程序开发。不同内容设计不同的项目及实践内容,内容设置及项目选择如表1所示。在教学过程中要根据学生的掌握情况进行随时调整,如可编程I/O对网络专业的学生比较使用,因此在授课过程中添加了循环缓冲区在可编程I/O中的使用方法。
2.2课堂的授课
课堂授课过程中采用以学生为主的方法进行。如讲授嵌入式系统开发流程时给出案例GPS的设计后由学生根据每一个开发步骤进行讨论,最后每组讲解一个相应的步骤。这部分内容学生讨论时同一组学生有扮演用户的角色有扮演设计者的角色对项目进行完整的熟悉。课堂授课另一方面对教师也有严格的要求。一方面教师要对英文水平有一定要求;另一方面教师要做过相关的完整的项目。在讲解项目案例的过程使学生对项目的设计有一个完整系统的概念,而不是仅仅的纸上谈兵。另外学生要想实现自主创新、团队合作等目标,实验室实践是必不可少的,因此要求教师在课外提供一个实验室实验时间。
2.3教材的建设
嵌入式系统双语课程现有教材选择是机械工业出版社出版英文版的《嵌入式计算系统设计原理》,采用该书时需要的理论基础比较充分,但是涉及到的项目相关内容比较少。在该需求推动下,教材建设结合嵌入式系统组件的理论基础、项目涉及的相关内容并将实践内容进行融合。在教材建设的过程中要充分利用嵌入式系统中的各部件英文数据手册,并将数据手册作为学生的辅助教材。
2.4考核方法
嵌入式系统课程的主要目标是增强学生的实践动手能力,为将来工作奠定基础。传统的试卷考核方法不能对学生的实践能力、团队合作组织能力进行考察,因此在考核过程中学生团队合作的项目设计、报告与讲解作为主要考核内容。在平时授课过程中完成的每一个小项目都有一个总结,最后每一组要选择一个题目进行设计并在实验箱实现结果并写成报告的形式,并进行答辩。不仅对学生的所学知识进行了总结考核,使学生也熟悉了项目开发的整体流程达到了课程设置的目标。
3教学效果
《嵌入式系统基础》双语课程采用项目和实践驱动教学方法后,激发了学生和教师对课程的热情。学生由被动上课变为主动进行需求分析、规格说明制定、组件设计、联合调试,整体的开发流程使学生对嵌入式项目开发有了一定的掌握。项目设计都是针对嵌入式系统的基本组件设计的,每一个项目都有针对性,因此学生设计了完整的小项目后嵌入式系统的基本组件开发方法就可以完全掌握并推广到今后的项目开发中。
参考文献:
[1]卢慧,李华,王燕.一种以学生为主体的计算机网络课程教学方法[J].计算机教育,2014(20):34-37.
[2]赵永林等.项目驱动教学法在“汽车嵌入式系统课程设计”教学改革中的应用[J].江苏理工学院学报,2015(6):136-138.
[3]吕钊等.计算机应用专业项目驱动嵌入式系统教学的新模式探索与实践[J].高教论坛,2015(11):52-55.
[4]徐维等.嵌入式系统课程“教”与“学”新模式探索与研究[J].科技创新导报,2015(5):165-167.
关键词: 高职院校 嵌入式技术教学 两点措施
一、我国高职院校学生的现状
随着我国高校规模的扩大,高职院校所录取的新生出现了一系列的新问题,主要是学生素质普遍下降,学生中大部分是独生子女,自我约束能力、适应能力和挫折承受力较差,思想容易产生波动,而且大部分学生中学时成绩处于下游水平,学习热情不高,自信心不强。高考后,看到中学的很多同学考上比较好的大学,心理上会产生强烈的失落感[1]。社会和企业盲目追求高学历更会给高职院校的学生造成更大的心理压力,致使部分学生自觉不如别人,产生自卑心理,对学习和以后的就业产生较大的负面影响。针对由此产生的问题,高职院校必须对原来的教学模式进行调整[2],还要考虑专业技能培训与毕业生未来的就业需求。
二、高职院校嵌入式技术教学现状
嵌入式系统是当今最新的电子应用技术之一,从广泛应用的手持式设备到通信、航空航天和军事领域的专用设备,都是以嵌入式系统为基础的,因此,国内的很多高等院校已将其作为电子类本科高年级的专业选修课或研究生的专业必修课。很多教师对其在本科院校的教学方法进行了研究,但只有少数高职院校才在最近几年开设该门课程,究其原因,主要有以下几方面。
1.预修课程多,时间不够。相对于单片机而言,必须具备一定的专业基础知识才能进入嵌入式系统课程的学习。在硬件方面必须先学习数字电路、模拟电路(高低频)和单片机原理与应用等课程,在软件方面要学习C程序设计、汇编语言、软件学和操作系统原理等课程。只有掌握了这些课程的内容,才能进入嵌入式系统课程的学习,高职高专院校的学制一般只有2―3年,学生学习这些课程的时间将非常紧张。
2.课程难度大。嵌入式系统本身的知识点很多,主要包括嵌入式芯片的结构与功能、嵌入式硬件体系结构、硬件平台的设计、嵌入式软件中的Boot loader引导程序、驱动程序的编制与调试技术、嵌入式实时操作系统平台的移植与应用软件的开发等,学习起来内容繁多,难度很大。
3.实训和实验设备价格较高。学习嵌入式系统课程,不但要在课堂上进行理论讲解,而且要将这些理论内容放到实验课程中检验,只有这样,学生才能消化吸收相关内容。相对于其他课程的实验设备,嵌入式开发系统实验平台系列的产品价格是比较贵的。装备一个具有30套开发系统的实验室,要花费100多万元,因此,财力相对薄弱的高职高专院校引入该课程会面临资金不足的问题。
4.学生素质相对较弱。本科院校和高职高专院校的学生都经过了国家高等学校统一招生考试的选拔,但本科院校的学生是第一二批次录取的,高职高专院校的学生是第三四批次录取的。因此,相对而言,高职高专院校学生的学习能力与基础要比前者薄弱,学习嵌入式系统课程,学生遇到的困难会更大。
那么,高职院校面对这么多的困难是否就可以不进行嵌入式系统课程的教学了?答案是否定的。我们所处的时代是一个飞速发展的时代,特别是嵌入式技术,已经是三大信息产业技术之一,已经改变了我们的生活和工作节奏,随之而来的是社会对电子信息类人才的极大需求。因此,高职高专院校必须面对挑战,开拓创新,积极引入嵌入式系统课程的教学。
三、新形势下对职业院校开设嵌入式课程的思考
结合自身从事嵌入式教学的实践经验,我认为在高职院校中开设嵌入式课程应采取以下两点措施。
1.采用项目化教学模式,不以理论课为主。我们引进了深圳市英蓓特信息技术有限公司开发的嵌入式教学项目5个,分别是:GPS车载导航系统、车辆智能终端系统、网络视频监控终端系统、智能函数发生器、智能家居。每一个项目从基础的硬件电路的设计、驱动程序的开发、Boot loader引导程序的制作、Wince/Linux操作系统的裁剪制作到应用程序的开发,让学生从整体上了解了嵌入式系统的开发流程,熟悉了每一个开发流程所需要的相关知识点。嵌入式系统课程内容繁多,主要包括嵌入式系统硬件、软件、开发环境和实时操作系统几方面的内容,以上5个项目其实已经把嵌入式系统的主要内容学习完毕,要把这些知识点分解开来,要在三到四个学期讲完,时间非常紧张。于是我们在大一第一学期就让学生从整体上了解5个项目,每一部分所需的知识点,然后结合项目开发流程设计相关课程,结合项目开始数电/模电,嵌入式C语言的学习。那么在第二学期开始嵌入式汇编语言、驱动程序的开发、Boot loader引导程序的制作的学习,在大二第一学期进行嵌入式系统及开发环境的学习,第二学期进行嵌入式系统综合实训,使学生能进行3―4个学期的持续学习,可以保证学生充分的学习时间。
2.嵌入式课程教学应采用实验和实训为主,讲授为辅的教学方法[3]。嵌入式系统课程的难度大,如果在高职院校中采用传统的以课堂讲授为主的方法教学,学生将会对众多的软硬件知识点和概念难以理解,继而产生厌学情绪,从而使教学效果大受影响。我在教学实践中采用了先实验后讲授的方法,取得了良好的效果。
以上是我对嵌入式技术在高职院校教学实践中总结的几点经验,经过09级一届学生的学习,实践证明学生比较好地掌握了基本的嵌入式开发所需的知识点,比较好地减少了学生普遍感觉在校学无所用的错觉。学生普遍反映良好,实际的就业情况也如实地反映了教学效果,一个班级有60%左右的学生从事的是与嵌入式技术相关的工作。学生能在高职院校中真正学到一技之长,增强了学生融入竞争激烈的社会的能力。我们正在积极探索更先进的教学手段,力图使学生在学校求学期间逐渐形成较强的应用能力,在毕业之后成为社会的栋梁之材。
参考文献:
[1]刘洪.浅论高学生的教育管理[J].辽宁教育学院学报,2003,(1).
关键词:嵌入式系统;课程体系;实验平台
中图分类号:TP311文献标识码:A文章编号:1009-3044(2012)15-3647-04
物联网、云计算目前已经成为信息产业的主流方向,在这个主流方向中,最核心、最关键的部分是嵌入式系统。调查数据【1】显示,市场对嵌入式人才的需求缺口巨大。就高校而言,培养符合行业要求的人才是高校的职责,而人才的培养又始终离不开切实可行的教学计划和课程体系,制定符合行业实际的教学计划和课程体系,是培养人才的关键。而开设什么样的课程来培养符合行业要求人才,又要依据行业特点和对人才的技术要求来确定,否则就会偏离行业要求,满足不了行业需求。在2008年《普通高等学校高职高专教育指导性专业目录(试行)》里已经规划了嵌入式技术与应用专业(专业代码510121),但还没有形成一门独立的本科专业,近几年高校中的电子专业、计算机专业以及机电与自动化专业、通信专业都相继开设了嵌入式系统相关课程,大都针对本科高年级学生或者研究生开设了嵌入式系统方向。从国内不同高校不同专业开设的嵌入式系统课程来看,各具特色,有些硬件课程开设的多,有些软件课程开设的多。这主要是由于嵌入式系统本身包含软件与硬件两个层次,在设计与应用方面,又具有软硬件协同工作的特点,既要依据硬件设计软件,又要依据软件确定硬件,不能简单的说哪个更重要,只能从应用的角度讲其侧重点不同。因此对于不同专业开设的嵌入式系统课程,不能一概而论。本文主要从嵌入式从业人员进行嵌入式系统开发所具备的知识要求和技术要求为依据,确立计算机专业本科生从事嵌入式系统开发应具备的基础知识和技能,并着重对计算机专业本科生嵌入式系统的课程体系构建内容及实验平台方案进行探讨和研究。
1嵌入式系统概述
嵌入式系统是以计算机技术为基础、以应用为中心、软件硬件可裁剪并且对系统的功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从其概念来看,嵌入式系统是专用计算机系统,应该包含硬件系统和软件系统,具体地说,一个嵌入式系统硬件以微处理器为核心集成存储器和系统专用的输入/输出设备;嵌入式系统软件包括初始化代码及驱动、嵌入式操作系统和应用程序等,这些软件有机地结合在一起,形成系统特定的一体化软件。一个典型的嵌入式系统应包含嵌入式硬件、嵌入式操作系统和嵌入式应用软件三个部分构成。
由于嵌入式系统是将先进的计算机技术、半导体技术和电子技术与各个行业的具体应用相结合后的产物,因此嵌入式系统是应用于特定环境下,针对特定用途来设计的系统,所以不同于通用计算机系统,它的硬件和软件都必须高效率地设计、“量体裁衣”、去除冗余,力争在较少的资源上实现更高的性能。嵌入式系统的基本特点就是“嵌入”、“专用性“和“计算机性”。由于系统的这些特性,导致系统的存在形式是多样的和面向特定应用的,并且对成本、功耗、可靠性和实时性特别关注,因此在嵌入式微处理器和嵌入式操作系统的选择上都要考虑这些特点。
2嵌入式系统专业人才岗位及核心能力分析
2.1嵌入式系统的技术研发岗位划分与设置
从事嵌入式技术的岗位主要是企业的研发、生产、销售部门,当然还有其它辅助部门,在此主要针对研发部门的岗位进行分析。嵌入式系统研发部门岗位的设置,离不开嵌入式系统的结构和开发过程,设置什么样的岗位、需要何种学历的人才都与嵌入式系统的开发过程紧密相关。就嵌入式系统而言,总体上可划分为硬件和软件两部分,硬件一般由高性能的微处理器和的接口电路组成,软件一般由硬件抽象层、嵌入式操作系统、软件应用平台和应用程序等组成,如图1所示。
硬件层是整个嵌入式操作系统和应用程序运行的平台,包括输入输出接口/驱动电路、处理器、存储器、定时器、串口、中断控制器、外设器件、图形控制器及相关系统电路等部分。对于硬件层的设计开发要有较深的硬件开发经验,这些岗位一般都需要资深的硬件工程师。中间层包括硬件抽象层(HAL)或板级支持包(BSP),负责对各种硬件功能提供软件接口,包括硬件初始化、时钟管理、定时器管理、中断处理、总线管理、内存地址的映射等。它位于底层硬件和操作系统之间,是二者之间的桥梁。这个层次的设计开发不仅要精通底层硬件结构,还要熟悉上层的操作系统,主要工作是开发设备驱动程序。这部分工作需要有丰富的软硬件件研发经验才可以胜任。软件层主要包括操作系统和软件应用平台,操作系统主要是实现资源的访问和管理,完成任务调度,支持应用软件的运行及开发,软件应用平台则是为了提高开发速度与软件质量,一些应用提供商开发了一些可重用的应用平台,封装了一些常用的功能,同时提供API接口,可以在此基础上进行二次开发。这些岗位要求具有丰富的嵌入式操作系统开发经验和软件工程能力。功能层主要指的是应用软件层,位于嵌入式系统层次结构的最顶层,直接与最终用户交互。针对各种特定功能来编写应用程序,实现系统的功能应用。主要是进行大量的C、C++或JAVA语言编程,不需要更多涉及底层硬件,大都是基于操作系统之上的编程。这些岗位要求就有丰富的嵌入式应用软件开发能力。从嵌入式系统开发流程看,还可以对硬件层、中间层、软件层、功能层四个层次的研发工作进一步细化。
2.2技术研发岗位从业人员核心能力分析
对于从事嵌入式系统研发的技术人员而言,必须具有与岗位匹配的核心能力才可以胜任工作。文献[3]就嵌入式整个行业的从业人员在不同岗位应具备的知识和能力进行了描述。由于目前国内就嵌入式人才的评估和认证只有嵌入式工程师认证,因此本文将从硬件设计、软件设计、系统架构、软、硬件测试这五类技术研发岗位进行研究,来确定相应人员应具备的知识和能力要求。对于每一类岗位,将从岗位工作任务、岗位知识能力、主要技能和核心能力这四个方面就行研究,其中岗位工作任务是指该岗位应完成日常基本工作的事务范围,岗位知识能力是指该岗位应具备的基本知识要求,主要技能是指该岗位技术能力的要求范围,核心能力是指该岗位工作主要能力要求。分析结果如表1所示。
2.3技术研发岗位知识要求
表1就目前嵌入式技术人员的五种岗位要求从四个方面进行了分析,从分析的结果看,对于硬件设计及测试人员而言,应具有的知识点:①熟悉或者掌握模拟电子线路、数字电路,单片机等基本的硬件电子电路设计知识;②熟悉和掌握C语言或者C++语言及接口电路程序设计;嵌入式系统硬件的设计、嵌入式系统的程序设计③至少熟悉l到2种基本的EDA工具,如MODELSIM、Quartus? lI、Protel等;④熟悉各种常用工具和仪器仪表,熟悉电子元器件性能分析。软件设计软件测试人员而言,应具有的知识点:①熟悉Linux,WinCE,Vxworks等操作系统的各种软件开发环境;②熟悉GUI开发过程、熟悉网络编程、多任务编程等;③精通C语言、汇编语言;④熟悉嵌入式系统硬件的设计、嵌入式系统的程序设计。⑤熟悉嵌入式软件开发模式及方法,熟悉白盒测试、黑盒测试和回归测试,熟悉单测试、集成测试、系统测试过程及测试的误区的分析。系统架构人员应具有的知识点:①熟悉嵌入式软件工程;②熟悉面向对象和结构化软件开发方法;③精通常用软件开发语言;④熟悉软件架构模式和设计模式,熟悉常用软件建模技术。
3计算机专业嵌入式系统课程体系及实践平台的构建及分析
3.1计算机专业嵌入式系统课程体系及实践平台的构建
从嵌入式系统专业人才岗位及核心能力分析来看,对于计算机专业,在构架课程体系时,应该结合计算机专业特点及嵌入式技术研发岗位和应具备的知识能力出发,可从理论与实践两个方面,去制定切实可行的专业课程体系。本文将从理论课程体系和实践课程体系两个方面阐述课程体系和实践平台的构建。其平台结构如图2所示。
在图2中,计算机专业基础和核心课程体系可依据计算机专业相关培养课程体系及目标确定,本文不再赘述。对于嵌入式系统理论课程体系可分别从硬件课程、语言课程、专业课程三个方面进行构建,其中硬件课程可包含有电路与模拟电子技术、数字逻辑电路、计算机组成与体系结构、微机原理与接口、ARM体系结构与编程、电子线路设计、计算机控制系统、单片机原理与应用、DSP技术及应用、FPGA设计基础等课程;语言课程可包含有C语言程序设计、VC++程序设计、离散数学、数据结构、VB程序设计、C#程序设计、J2EE中间件技术、C语言深入编程、C++/VC++深入编程等课程;专业课程可包含有嵌入式操作系统、Linux设备管理与应用、ARM体系结构与编程、嵌入式系统设计、WinCe系统设计与应用开发、面向操作系统的程序设计、多核程序设计等。对于嵌入式系统实践课程体系可从专业实践与认证培训两个方面进行构建,其中专业实践可从课内实践、课程实训、项目团队、专业竞赛、企业实习、毕业实习等方面进行构建。在专业实践中,课内实践和课程实训是对嵌入式专门知识的巩固与提高,综合实践是阶段性综合能力培养的需求,项目实训与毕业设计是综合分析设计能力的保障。而对于培训认证,可参与ARM公司全球认证、中国软件行业协会嵌入式认证、中国电子学会认证、信息产业部认证等机构和部门的培训认证活动。
3.2嵌入式系统课程体系分析
从嵌入式系统课程体系的内容来看,具有三个方面的特点。首先是体系完整,专业特色突出,整个课程体系体现四个方面的能力培养:①编程能力培养,体现在C语言程序设计、C语言深入编程、C++/VC++深入编程及面向操作系统的程序设计等课程。②实践能力培养,体现在嵌入式系统设计与应用开发实践、Linux和WinCE操作系统与应用开发实践、嵌入式系统设计与应用综合实训及毕业实习和毕业设计等方面。③应用能力培养,体现在嵌入式系统设计与应用、嵌入式图形界面开发及嵌入式测试技术等方面。④创新能力培养,主要体现在创新团体、嵌入式竞赛、企业实习及一些嵌入式协会等。其次,整个课程体系具有侧重应用,循序渐进,层层递进的特点。从软硬件编程到专业技能培养,再到项目实训和毕业设计是递进式的。软硬件编程是整个能力培养的基础,专业技能是提高,项目实训和毕业设计是综合应用能力培养。最后,整个课程体系涵盖了微软、信产部认证课程。微软认证为微软WinCE嵌入式系统工程师认证,其课程主要包括WinCE系统设计与应用和嵌入式系统设计。信产部认证为嵌入式系统设计师认证,其主要课程包括嵌入式系统设计、嵌入式测试技术和ARM体系结构与编程。
4计算机专业嵌入式系统实验教学平台的构建
根据嵌入式系统实践课程体系构建的设想,对于教学实践,要根据计算机专业和嵌入式系统开发的技术要求和岗位职责,可进行合理规划。既要让学生掌握坚实的基础知识,又要让学生跟得上主流技术潮流。由于嵌入式系统在构成上可由硬件和软件构成,因此在进行实验教学时,可从硬件和软件两个方面进行构建。根据目前嵌入式系统开发的主流技术来看,在硬件选型上要以X86CPU、单片机和ARM处理器为主,在操作系统的选择上要以WinCE、Linux、μC/OS-II和Vxworks等操作系统为主,可从驱动程序设计、嵌入式系统界面、应用程序等方面进行实验。本文提出了一种可行的实验架构,如图3所示。
图3嵌入式系统课内实验体系
图3从三个层面对实验教学进行了规划,最底层为硬件层,可选择不同的处理器及各种电路及存储设备进行实验,如X86CPU、ARM处理器、单片机、数模转化电路、I/O接口、通用接口、ROM、RAM等。中间为操作系统层,可选择主流嵌入式操作系统进行实验,如WinCE、Linux、μC/OS-II、Vxworks等。最上层为应用层,可从嵌入式驱动层序开发、嵌入式图形用户界面以及应用程序的设计等方面进行实验,其中在程序设计语言的选择上可重点考虑汇编语言、C/C++语言、JAVA为主要训练语言。
5总结
进几年来,市场对嵌入式人才的需求持续走高,但符合企业要求的合格嵌入式从业人员不多,缺口很大。如何缓解人才供需矛盾,是政府和学者们关心的问题。目前就全国高校的普遍情况来看,嵌入式系统还尚未开设本科专业,很多高校只是开设了嵌入式系统方向课程,而且开设的课程五花八门,很难规范。本文从嵌入式系统构成及特点以及嵌入式系统从业人员的职业岗位出发,探讨了嵌入式系统课程体系和实践体系的构建,并针对计算机专业实验教学提出了一种教学结构。通过本文的探讨试图为解决嵌入式课程规范化做出应有贡献,从而加快嵌入式系统开发人员培养,解决市场人才短板而有所作为。
摘要:随着电子技术的发展,嵌入式技术成为当今信息技术发展的主流技术。本文分析目前高职嵌入式专业建设存在的主要问题,结合当地区域经济的发展,从专业人才培养目标,课程体系建设,教师队伍建设等主要方面,探索了嵌入式系统应用技术人才培养的新思路。
关键词:嵌入式系统;专业建设;师资建设
中图分类号:G642
文献标识码:B
1引言
随着后PC时代的来临,技术的飞速进步及市场对高端智能产品的日益需求,从而使嵌入式系统的应用进一步专业化,走上了独立的发展道路,经历了SCM、MCU、SOC三大阶段,形成了多种应用模式。特别是随着消费家电的智能化,以及未来3G网络全面铺开,嵌入式更显重要,将产生巨大的嵌入式技术人才需求。在未来相当长的时间内,嵌入式人才都将是企业争夺的目标。因此,教育部、各省教育主管部门都高度重视嵌入式系统人才的培养。各高校以及高职院校也相继开设了嵌入式专业。
苏州是全国科技产业高度发达的地区之一,东有新加坡工业园区,西有苏州高新区,南北的吴中工业区及湘城工业区正迅速发展,在苏州与计算机、电子产品相关的企业有上千家之多。我校为了顺应社会对人才的需求,同时考虑了自身教学条件的一些优势,于2006年开设计算机应用(嵌入式系统应用技术方向)专业,为苏州培养出更多的嵌入式高级技术应用人才。
2高职院校嵌入式专业人才培养现状
嵌入式系统是软硬结合的电子设备,其所涉及的专业知识涵盖了计算机、电子、通信、控制等多个领域,嵌入式专业课程的知识点多,涉及面广,课程新颖,难度大。我校在4年的嵌入式系统专业建设发展过程中逐渐呈现出一些不成熟的地方,其中有以下四个方面的主要问题:
(1) 生源问题
嵌入式专业是一门门槛较高的专业,是一个软硬件结合的综合性、创新性专业。嵌入式专业课程的知识点多,涉及面广,课程新颖,难度大,所以需要学生的数理化的基础较好。然而,我校属于高职院校为第三批次招生单位,该专业为文理兼收。我校嵌入式系统应用技术专业近三年的生源情况如表1所示。
调查结果表明:大部分学生在入校前根本不知道嵌入式系统的概念,所以很多学根本没有主动选择该专业,基本上是被动和调剂到该专业,对该专业没有兴趣,文科学生占有很大的比例。导致学生今后的学习能力差,理科基础薄弱,主动性不高,其在基础理论知识的认知能力上有着明显的差距。同时嵌入式专业招生人数持续下降。因此,建立稳定的、高质量的生源是嵌入式系统专业办学成功的先决条件。
(2) 师资问题
目前我校嵌入式系统专业教师主要有4名,其中2位是嵌入式专业毕业的研究生,2位为原计算机应用专业的教师。虽然老师的教学认真负责,但他们都缺乏大量工程科研经验,无法深入理解嵌入式专业,无法把知识讲活、讲透,无法达到最佳的教学效果。因此,师资力量的不足,必然会引起学科与课程建设的落后,同时也降低了对学生的吸引力和影响力,为嵌入式系统专业教学工作带来了极大困难。
(3) 专业定位问题
国内高校对嵌入式人才培养主要分三个层次:研究生层次、本科生层次及高职层次。而近两年,一些高职院校也开始进行了嵌入式技术人才的培养。由于缺乏充分的市场调研和严格的科学论证,对高职院校的嵌入式系统应用
专业的定位还在摸索中。我们在借鉴其他高校的培养目标的基础上制定高职嵌入式系统专业的培养目标,充其只是高校的压缩版。
(4) 课程设置问题
嵌入式本身就是一门交叉型学科,其课程的设计、为培养目标服务的专业设置、课程开发、教材选用与编写等各个环节都会处于动态之中。所以,在4年的嵌入式系统专业建设中,我们不断修订教学计划,进行课程改革。确定了嵌入式Java、单片机原理与应用、嵌入式系统结构与应用基础、嵌入式系统结构与应用基础、嵌入式系统开发与应用、手持移动设备开发(Java)等课程为专业核心课,同时修订教学大纲。但是,我校的嵌入式系统人才培养方案有着明显的普通高等学校教学计划的印记,很难充分把握专业人才的培养规格,就业岗位的定位,以及课程内容的设计,对职业实践能力、职业素养等的培养重视不够,且没有适合高职院校嵌入式专业教学的相关教材。所以,这样的培养体系,无论是从质还是量上,都无法满足社会对于嵌入式人才的需求。
嵌入式专业的蓬勃发展验证了嵌入式人才不足的市场需求。而我校嵌入式专业学生的就业情况并不乐观,真正做到专业对口更是凤毛麟角。为此, 如何培养出与苏州、江苏、上海等长三角地区经济需求相适合的高技能嵌入式系统应用技术人才,探讨本地特色的计算机嵌入式系统专业建设显得尤为必要。
3高职嵌入式专业建设的对策
众所周知嵌入式专业课程的知识点多,涉及面广,课程新颖,难度大,而且面对教学对象是高职学生,如何将嵌入式专业建设好,我认为只有量体裁衣,因材施教。而高职嵌入式专业建设中,应本着“应用技能为主,理论知识够用”的专业建设思路,必须注意考核方法的科学性和易操作性。
3.1高职嵌入式专业的定位
高职总目标是:通过富有特色的课程,才能创造出生机和活力,做到理论以“够用”为度,重在应用性技术训练,达到复合型人才培养的目标。嵌入式开发分为两个方向,一是搞硬件设计,有时开发一些与硬件关系最密切的底层驱动程序(如BootLoader)、最初级的硬件驱动程序等。二是搞软件设计,从事嵌入式操作系统和软件的开发。因此,根据高职高专人才培养的目标,在专业对学生未来工作岗位进行调查的基础上,确定本专业的培养规格与标准,采用“宽基础、活模块”式,力求做到学用一致,强化教育实践环节,突出能力的培养,力求缩短学生就业后的磨合期,适应期,“零距离”上岗从而体现高职教育特色。打造适应本区域经济市场和企业需求的嵌入式系统应用技能型和应用型IT人才,成为苏州计算机嵌入式人才培养的重要基地。
3.2课程设置
通过对企业的岗位调研,结合我校“学分制”,按职业岗位流程构建模块化专业课程结构,全面进行以人为本、以标准为镜的课程体系的模块化建设。对该专业的19门专业课程进行技术基础知识、技术基础实践和综合应用能力等三个方面的系统分类,以理论知识够用,强化专业技能为原则,形成了适应嵌入式市场需要的嵌入式人才培养的“基于案例和项目的三维课程模式(3DCC)”。同时构建实验实训基地,强化实践教学,引入研究性学习、案例教学等教育教学模式。并注重教材建设,构建了“以学习者为中心”的嵌入式应用技术专业的开放式教学平台。通过这个平台调动学生学习的积极性,强化学生对网络知识的理解,培养学生主动学习的良好习惯,提高学生运用所学知识解决实际问题的能力。
3.3师资建设
要建设好嵌入式应用技术专业, 锻炼一支实践动手能力强、教学效果好的师资队伍是关键。为此,我们充分利用苏州市作为我国重要的信息技术产业基地及国家软件外包基地的优势,通过(1)积极引进高学历高职称教师;(2)聘请知名专家;(3)到企业调研交流及挂职锻炼、到国内高校进修考察;(4)鼓励主持或参与技术课题研究、承担专业建设与实验室建设任务等不断提高教师专业水平和综合素质。成立嵌入式硬件和嵌入式软件两个方向的教学与科研团队,整合和汇聚了教育资源强势。
3.4把好生源
建立稳定的、高质量的生源是嵌入式系统专业办学成功的先决条件。因此,通过学校的招生网和系部网站上加强本专业的宣传与咨询,尽量招收理科的学生。做好新生的入学教育,仔细介绍该专业的内涵,介绍良好的学习方法,积极引导学生做好自己的职业规划。同时,树立以学生为本的育人观,构建了良好的学习平台,开展物理等课程的选修,采取老带新的帮扶学习。通过多种方法增强学生的自信心和学习的主动性。
4总结
随着嵌入式系统应用迅猛发展,企业对嵌入式人才需求的缺口越来越大。而嵌入式专业的特点是涉及知识面广、综合性强、实践性强,并且学科发展快,学习难度大。因此,如何建设有特色的嵌入式应用技术专业?培养符合区域经济需求的高素质应用型技术人才?给我们的专业定位、师资、课程建设带来了很大的挑战。我们必须不断更新观念,进行课程体系和教学模式改革与创新,并加强教师队伍建设,才能培养出更多的适应社会需求的、受用人单位欢迎的。
参考文献:
[1] 张胜洪. 高职嵌入式专业建设的思考与探索[J]. 武汉船舶职业技术学院学报,2008,7(2).
[2] 宋学丽. 关于对锡林郭勒职业学院学科专业建设若干问题的探讨[J]. 锡林郭勒职业学院学报,2007(1).
论文关键词:嵌入式系统;教学改革;项目式教学
随着32位微处理器技术的发展,嵌入式系统成为当前信息技术发展的热门技术之一。智能手机、信息家电、工业控制等诸多领域都对其产生了巨大的需求,于此同时嵌入式系统软硬件工程师也成为了热门的就业方向。所谓嵌入式系统即:以应用为中心、以计算机技术为基础、软硬件可裁剪、面向具体功能的专用计算机系统。从电子信息类学科知识体系上来看,嵌入式系统课程涵盖了模拟电子技术、数字电子技术、C语言、微机原理和接口技术、操作系统等多门课程的基础内容。目前国内很多高校都在电子信息工程、通信工程、自动化、计算机、软件工程等诸多本科专业以及相应的研究生专业课程中开设了以32位微处理器为核心的“嵌入式系统”课程。由于“嵌入式系统”这门课程知识内容多、综合性强、对学生动手实践能力要求高等特点,它的教学也就带来了困难和挑战。
一、嵌入式系统的教学与实验内容
嵌入式系统的教学通常以32位微处理器为平台,32位的微处理器主要有ARM、MIPS、POWRPC等。目前国内的大多数高校都是以介绍ARM微处理器为主,教学的内容主要包括ARM微处理器内核的介绍、ARM的汇编指令和汇编程序设计、芯片的片内外设及接口技术、嵌入式系统的C语言设计和嵌入式操作系统等内容。
在试验内容的安排上,通常包括ARM汇编语言的程序设计、无操作系统的片内外设的C语言程序驱动设计、BootLoader的移植、嵌入式操作系统内核的移植、UCOS II、LINUX、WINCE等嵌入式操作系统下的C语言驱动程序设计和应用程序设计等。
以上的理论和试验教学内容根据不同的专业,课程的侧重点也不相同,课程的理论学时大约在30学时到60学时之间。另外,有的高校把嵌入式系统课程作为一个本科的一个专业方向,相应的学时内容就要更多。
二、嵌入式系统课程的特点
“嵌入式系统”作为电气信息类等本科学生的专业课程,具有知识内容综合、动手实践性强等特点。在前期的课程当中,学生已经学习过“C语言程序设计”、“微机原理”等课程。教学过程中,“嵌入式系统”这门课程最主要的教学目标就是让学生能够通过所学的知识以及所掌握的嵌入式系统开发的工具解决一个具体的实际问题。但是在教学的过程中笔者发现,仅靠课堂的理论与实践教学,达到这一目标还有一定距离。单纯的理论教学只能使学生被动地接受部分知识,达不到培养学生动手实践的能力。为了使学生能够学以致用,还要用实践来促进理论的学习。“嵌入式系统”课程最主要的学习手段就是多动手、多实践。
根据“嵌入式系统”课程的教学内容以及笔者的教学经历,发现该课程的教学过程中需要注意以下几个方面:第一,教学目标以应用为导向培养学生的工程实践意识。作为电类的工科学生,除了在课堂上学习知识,还要树立培养工程实践的精神。尤其是像“嵌入式系统”这样的综合性专业课程。第二,在教学内容上应以学科知识的综合作为基础,进而建立知识体系。“嵌入式系统”课程不单单是讲述一种微处理器或者是微控制器的架构,学生在这门课程中学到的更多的是一种借助于所掌握的嵌入式系统工具来解决问题的一种能力。这种能力在“嵌入式系统”课程中往往体现的是电子系统硬件设计和程序设计的能力。第三,在教学过程中以团队作为教学合作单位,培养学生的团队合作意识。“嵌入式系统”本身就涵盖了很多知识,它兼顾软、硬件两方面的内容,和很多的专业课程融合在一起,具有很强的学科综合性。每名学生都不可能把所有的内容都掌握,所以在学生的学习过程中,以小组团队为单位,共同去学习,更能激发学生的学习兴趣。
转贴于
三、嵌入式系统教学手段改革
1.教学过程中发现的问题
笔者刚开始讲述“嵌入式系统”课程时,由于并没有太多的经验,还是依照课堂理论、课下试验的传统教学方式。但是随着教学的深入,发现这种教学过程中存在很多问题。
(1)课程内容涉及面广,知识内容多。笔者课堂上讲解的是以三星公司的S3C2410这款ARM9微处理器芯片,既要介绍ARM9芯片内核上的东西,比如ARM处理器的工作模式、存储格式、异常、通用寄存器等,又要结合S3C2410讲解芯片的片上资源,如定时器、A/D等,同时还要介绍嵌入式系统的硬件设计、汇编程序设计、操作系统等等。在有限的课时内,很多内容只能浅显地介绍。一个学期下来,一部分学生看上去了解了嵌入式系统的许多内容,但是一到具体的应用实际就会发现还欠缺很多知识和技能。
(2)传统的以教师为核心的课堂上,在讲解这门综合性实践性很强的课程时,很多学生都是被动接受知识。学习一段时间后,由于学术缺乏学习的主动性,也就渐渐失去了兴趣。
(3)在相对较短的试验课程内,学生需要熟悉开发的软硬件环境,如开发工具、试验箱上的硬件原理图等,还要了解试验内容,看懂芯片手册,读懂试验例程代码,并能在已有代码的基础上进行相应地修改以及添加自己的代码。在这期间,学生自主的实践动手能力得不到充分地锻炼,某种程度上也就仅仅是熟练了一种开发工具而已。一学期下来,离教学目标还有很大距离。
2.基于项目应用的嵌入式系统教学改革
笔者在总结分析上述问题的基础之上,逐步对课堂教学进行改革。把项目应用的教学理念逐步引入到课堂当中。所谓的项目教学法是通过实施一个完整的项目而进行的教学活动,其目的是在课堂教学中把理论与实践教学有机地结合起来,培养学生利用所学知识解决实际问题的能力。由于“嵌入式系统”课程普遍开设在本科的大三和大四阶段或者是研究生阶段,学生已经掌握了多数的专业基础知识,所以可以在“嵌入式系统”的前期授课中布置课程作业论文,同时课程设计的内容可以让学生结合自己的兴趣爱好自行拟订,老师不再强制给出具体的题目,而是给出参考题目。学生在已有的专业知识基础上,选择一个自己感兴趣的题目作为本学期的课程论文来完成。这样学生会带着自己的问题在新学期开始就要深入了解课程的内容,同时课下查询相关的资料,这比课堂被动地接受知识更能培养学生的学习能力。比如,有的学生选择了利用ARM实现简易示波器的题目,这就需要他们课下学习有关数字示波器的知识,并且要设计围绕以ARM处理器为控制核心的电路、设计程序流程、调试等诸多知识。学生带着这样的问题去学习嵌入式系统课程,一是明确了嵌入式系统的以应用为核心的本质,二是可以对所学的知识进行综合应用。同时,课堂上老师的角色也从传统的讲授者转变成学生解决问题的合作者,虽然老师不能对学生所选择的每一个题目都很熟悉,但是却可以在与学生的讨论过程中帮助学生理清设计思路,完成设计目标。同时在对学生成绩考核时也不再只是看试卷的分数,而是由学生最终完成的论文以及演示的成品作为最终的成绩考核。
这种基于项目应用的教学方法强调以学生为学习认知的主体,目的就在于激发学生的学习积极性,促进学生在工程实践中培养提出问题、解决问题的能力。在“嵌入式系统”的教学过程中,师生共同讨论问题,教师的职责也悄然地发生了变化,教师成为帮助学生学习的管理者和指导者。学生在课程论文的实践中加深了对嵌入式系统概念的理解,掌握嵌入式系统的设计方法和开发过程,培养了利用嵌入式系统工具解决具体应用问题的能力。
四、教学效果
关键词:嵌入式系统;ARM;处理器;指令集
中图分类号:TP316;G642 文献标识码:A doi:10.3969/j.issn.1672-4305.2016.02.036
随着CPU及周边配套器件在功耗、计算能力和体积性能的不断提升,嵌入式系统的应用越来越广,可以说:嵌入式系统已经深入地嵌入到人们的生产、生活的各个方面,发挥着难以替代的作用。因此,各个行业都急需嵌入式产品的设计和开发人才。国内各高校面向弱电专业研究生都开设了“嵌入式系统”或“嵌入式系统设计”课程,期望能够培养出具有较强动手能力的嵌入式系统开发人才。但事实的效果是:(1)学生在学习之后,并不能对嵌入式系统有一个较为完整的认识。具体体现在:不能根据实际项目需求进行合理选型和自主设计,往往只能照搬照抄参考认识,创新能力不足。(2)学生对嵌入式系统类别认识不正确,对ARM处理器的指令系统的认识浮于表面。(3)不能达到软硬件兼通的水平,开发能力基本都停留在嵌入式软件开发层面,不能从软硬件协同的角度考虑问题的原因,在调试不顺利时,往往束手无策。找到出现这种问题的根源,并有针对性地对课程内容和授课方式方法进行修正,是目前“嵌入式系统设计”课程急需解决的问题。中国石油大学(北京)计算机科学与技术系对这个问题进行了初步的调查、研究和总结,并对课程内容和授课方式进行了较大幅度的调整。主要的措施是采取课程设计驱动式的教学方式。具体为:(1)虽然用ARM处理器做实验开发,但并不直接把ARM处理器作为主要内容进行灌输式授课,而是先让学生花费22个课时的时间在实验室设计一个8指令的32位简易型MIPS处理器。(2)在处理器设计结束后,通过梳理设计中存在的问题,让学生认识到ARM处理器存在的弊端和优势,以及可以改进和发挥的地方,启发学生客观看待ARM处理器。(3)再花4个课时迅速介绍一下ARM处理器指令系统的使用,通过两个小实验让学生尝试裸机编程调试过程,体验其不便性。(4)最后的4个课时介绍嵌入式系统的开发工具链,让学生体验嵌入式开发的便利。实际效果发现:(1)在课程授课期间,学生不仅对嵌入式系统的总体宏观结构和开发流程有了较为深入的认识,而且动手能力有了很大的提高。(2)在课程结束以后,学生对课程关联内容发生了浓厚的兴趣,对课程的延展内容进行自主学习。充分表明了课程改革的有效性。
1调研与思考
经过对国内主要高校的“嵌入式系统设计”课程内容开设情况进行调研后发现:课程授课普遍存在着广度不足和深度不足两方面的问题。广度不足的问题主要体现在课程授课内容方面,目前“嵌入式系统设计”课程都是ARM9系统开发,嵌入式操作系统基本上为ucos或Linux[1]。课程首先介绍ARM9处理器的指令系统,然后介绍嵌入式操作系统,以及在其上的基于C语言的系统开发。课程并没有对嵌入式系统的多种实现方式、实现途径进行介绍,这带来了一定的负面效应。首先,很多学生都误认为:嵌入式系统就是以ARM处理器芯片为核心的软硬件系统,离了ARM处理器就不能做嵌入式产品。深度不足的问题主要体现在授课方式上。由于采用灌输式教育,学生只能被动地接收对ARM处理器各种溢美之词的介绍,把ARM处理器奉为经典,不敢质疑,不能正确认识某些性能指标的真正含义与优缺点。这样限制了他们今后在实践过程中的创新能力。对这两个问题的深入思索后发现:首先,虽然ARM9处理器芯片堪称经典,但毕竟已经是几十年前的产品,开发工具链也很陈旧,开发调试周期偏长,已经不能反映嵌入式系统开发的最新进展,满足不了快速开发的需要。其次,“嵌入式系统”课程教学方法仍以“是什么”为主,即告诉学生ARM9处理器的指令是什么,怎么用,而对于“为什么”则基本没有涉及。在这样的教学内容和教学方式下,学生往往也只对某种CPU的使用有一些肤浅认识。对于本科生来说,这样的结果可以接受,但对于硕士生来说,这样的结果并不令人满意。第三,嵌入式系统教学普遍存在着“重软轻硬”的问题,这种现象尤其在使用实验箱进行课程实验时体现得更为明显[2]。课程实验中教师往往让学生去找软件中的错误,但对于硬件信号上的问题则基本不涉及,学生缺乏对系统的整体认识[3]。客观地说,尽管ARM芯片堪称经典,其内容是嵌入式系统课程教学的必要内容,但研究生“嵌入式系统设计”课程教学的目的不仅仅在于让学生掌握基于ARM9处理器的嵌入式产品设计技术和配套工具,而且让学生站到一个更为客观的角度认识到ARM9的性能指标的必然性和限制性。在今后一定的工作条件的激发下,可以从根本上进行创新。
2实施过程与效果
基于这样的认识,显然首先要让学生认识到ARM处理器的优缺点,打破学生对其认识上的神秘感。具体的思路是:首先快速设计一个类ARM9的处理器,这样让学生从根本上理解什么是指令系统,以及指令系统的重要性。再通过适度分析设计上的问题,介绍可以改进之处,启发学生对处理器主要指标进行深度理解。在其后,只需流水性地介绍一下ARM9的指令系统即可,因为通过CPU的设计,学生已经完全明白了指令系统的用途、分类、使用等一系列问题。最后适度介绍一下嵌入式操作系统与应用程序的开发流程,并布置两个开发实例辅助进行适度理解即可。在中国计算机学会和北京航空航天大学计算机学院的帮助下[4-5],课程引入了一个简易的支持9指令MIPS处理器的设计。这9条指令具体为:LD、SW、ADDU、SUBU、ORI、LUI、AND、JAL、BEQ,基本涵盖了MIPS的典型指令。其典型结构如图1所示。为将重点放在指令集的设计方面,同时也为了加快设计速度和降低设计复杂度,事先对主要的模块代码进行了实现,而把课程设计的任务集中在让学生实现上述9条指令上。为了突出嵌入式系统的低功耗的特点,也对代码做了一些粗糙的功耗控制,适度突出了其在低功耗控制方面的优化。由于实验对象是计算机专业的硕士生,他们对课程设计所使用的Verilog语言不甚了解,因此使用8个课时简要介绍了Verilog语言语法与系统实现方法,随后用6个课时介绍了简易型MIPS处理器的数据通路与控制通路的设计思想。明确了设计任务后,专门留出6个学时的时间,让大家在实验室里集中进行边设计边讨论。才开始的时候,绝大多数学生觉得任务很重,压力很大。在教师的要求和督促下,学生开始读实验代码。在一次集中实验以后,有一半的学生认为已经搞清楚了具体的设计任务,知道该怎么去实现。第二次集中实验的时候,一部分学生已经开始问一些非常具体的设计问题了,还有一部分学生主动要求老师再简要地把数据通路和控制通路的设计思路再说一遍,这说明他们已经在开始主动思考代码的结构了。这时,他们对数据通路和控制通路的理解已经远远超越授课时的水准。课程设计结束时,有70%的学生基本完成了设计任务,剩余的学生虽然没有完成,但自认为对处理器和指令集的认识是非常清楚的。紧随其后,课程的内容又回到了ARM指令集,这时只需花4个课时简要介绍一下ARM指令系统的分类和典型指令就可以了。由于前面的处理器设计过程的训练,学生很快掌握了这部分内容。接着,再加上4个课时在ARM9实验箱上的汇编语言和C语言实验,学生们基本掌握了裸机上的开发过程。最后,又介绍了基于Uboot和嵌入式Linux基础上的开发过程,让学生体验到在嵌入式操作系统的基础上做系统开发的便利性[6-7]。通过事后与学生的交流,大家普遍都认为处理器设计的课程设计非常重要,正是那一步使得学生不再对处理器感到神秘,对指令集有了更为客观的理解。对于后续的开发平台,虽然并没有细节的课堂讲述,但学生完全明白出现这种设计流程的必要性,普遍认为只要适当自学即可掌握。大家比较普遍地认同这种课程设计驱动式的教学方式[8-10]。
3结语
从本次教学改革的效果来看,相对于“灌输式”的教学方式,“启发式”的教学方式效果更好,但这需要学生的积极主动配合。对于研究生来说,虽然他们都具有一定的学习自觉性和主动性,但这种主动性也需要教师的严格监督才能发挥作用。研究生课程内容并不在于授课内容的多少,而主要在于如何引导他们积极主动思考。从深处入手,而不是直接从内容入手,虽然开始时会遇到较大的困难,但一旦这个困难解决,对教学内容的理解则会非常顺利,有点类似于“磨刀不误砍柴工”。对于教师来说,找到这把锋利的“刀”,并且督促学生去“磨”,是一件至关重要的事情。
参考文献(References):
[1]冀常鹏,马飞,徐维.项目驱动的嵌入式系统教学改革[J].电子电气教学学报,2011,33(6):26-27.
[2]李伟,门佳.嵌入式系统实验教学方法研究[J].青岛职业技术学院学报,2014,27(1):45-47.
[3]李社蕾,刘小飞,杨婷婷.嵌入式课程创新实验项目设计[J].实验室科学,2015,18(1):72-74.
[4]高小鹏.计算机专业系统能力培养的技术途径[J].中国大学教学,2014(8):53-58.
[5]牛建伟,张炯.北京航空航天大学嵌入式系统课程建设[J].计算机教育,2008(7):64-65.
[6]李文生,邓春健,吕燚.案例驱动的嵌入式系统教学改革探索[J]计算机教育,2011(2):22-25.
[7]吴建宁.面向实践教学的“嵌入式系统”课程体系构建与探索[J].实验室科学,2014,17(6):184-186.
[8]郭宏,胡威.计算机专业《嵌入式系统》课程体系建设的探索[J].现代计算机,2013(6):44-47.
[9]潘登,陈启军.面向卓越人才培养的嵌入式系统教学改革[J].计算机教育,2013(13):1-5.
关键词:嵌入式系统;计算机科学与技术专业;操作系统;教学
1背景
在《高等学校计算机科学与技术专业核心课程教学实施方案》里,操作系统的课程性质定义为:本课程是计算机科学与技术专业学生必须学习和掌握的一门理论性和实践性并重的核心主干课程和专业基础课程[1]273。
在嵌入式系统行业内有一个被普遍接受的定义:嵌入式系统是以应用为中心,以计算机技术为基础,并且软硬件可裁剪,适用于应用系统对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统[2]1。在经济发达国家,每个家庭平均拥有255个嵌入式系统,如每辆汽车平均装有35个嵌入式系统。嵌入式系统的应用广泛进入到工业、军事、宇宙、通信、运输、金融、医疗、气象、农业等众多领域[2]1。在上海双实科技公司及中国计算机学会微机专业委员会等单位联合举办的首届上海“实时实用嵌入式技术论坛”上,中国工程院院士许居衍表示,嵌入式技术是中国厂商从“中国制造”向“中国创造”转变的最佳契机。嵌入式系统的广泛应用,使得嵌入式人才十分匮乏。2009年,信息产业部国家信息技术紧缺人才培养工程(NITE)嵌入式方向培训认证项目在京全面启动。
嵌入式技术与应用领域关系密切,不能独立成为一个本科专业[3],从事嵌入式工程相关的人才必然有一大部分来自于计算机科学与技术专业;再者,嵌入
式系统与操作系统紧密联系,势必要求我们思考计算机科学与技术专业的操作系统课程教学方法,以便更好地培养适应社会需要的人才。
为了避免歧义,我们先作说明。这里分析嵌入式技术与操作系统课程的关系,不只是因为操作系统是嵌入式系统相关课程的先修课,更是因为嵌入式技术是正在兴起的产业;同时,与操作系统的其他后续课程(如数据库原理、计算机网络)相比,嵌入式系统最大的特殊性体现在它本身就是一个特殊的计算机系统,是学生用来理解通用计算机系统的一个视角。
2嵌入式技术带来的启示
嵌入式系统是一类特殊的计算机系统[2]1。计算机系统由硬件系统和软件系统组成,其中操作系统是最重要的软件。分析嵌入式系统和嵌入式开发过程的特点有助于我们更好地思考操作系统课程教学。
2.1嵌入式系统
嵌入式系统通常具有功耗低、体积小、集成度高等特点,对软件代码尤其要求高质量、高可靠性。嵌入式操作系统不仅具有普通操作系统的一般功能,同时,它还在系统实时性、硬件依赖性、软件固化性以及应用专用性等方面,具有更加鲜明的特点[2]2。
在计算机系统上配置操作系统的主要目标,与计算机系统的规模有关[4]。因此,在操作系统教学组织
上,针对大、中型计算机系统和微机系统分析操作系统的目标和作用时,也有必要针对嵌入式系统的特点分析操作系统的目标和作用。
2.2嵌入式系统的开发过程
由嵌入式系统本身的性质所影响,嵌入式系统开发过程与通用系统的开发有很大的区别。嵌入式系统的开发主要分为系统总体开发、嵌入式硬件开发和嵌入式软件开发3大部分。在系统总体开发中,开发环境的选择对于嵌入式系统的开发有很大的影响。这里的开发环境包括嵌入式操作系统的选择以及开发工具的选择等[5]13-14。
随着嵌入式相关概念为大家所接受,对嵌入式系统开发过程特点的分析,给了我们思考操作系统的新角度。比如,嵌入式工程师会根据开发成本或进度限制而选择不同的操作系统,也会因为开发工具方便使用而选择某个操作系统。因此,教学过程中,不同操作系统之间的对比多了一些评价标准。
2.3嵌入式系统相关课程的教学实践
我院目前开设了嵌入式Linux和嵌入式系统两门选修课,操作系统是它们的先修课之一。围绕操作系统关系密切的问题,接下来从教师的教学难点、学生的选课目的和学习难点3个方面对嵌入式Linux和嵌入式系统教学实践进行总结分析。
开发环境的搭建与Linux内核的移植是教学中的一个难点。原因是在这个过程中,操作系统既是完成项目的支持工具(在宿主机上的操作系统),也是项目的最终模块之一(在目标机上的操作系统)。
选修这些课程的学生具有浓厚的学习兴趣,因为他们意识到嵌入式人才紧缺,掌握嵌入式技术将为他们拓宽就业渠道。操作系统作为嵌入式课程的先修课,应该更多地从培养应用型人才的角度来组织教学。
嵌入式应用软件开发是学习的一个难点。难度主要来自于:操作系统的实践教学内容与嵌入式课程的实践教学内容跨度太大。
3操作系统课程教学探讨
操作系统课程具有理论与实践并重、系统与模块并重、设计与应用并重和内容广泛且知识更新快等特点[1]273。操作系统课程教学方法有多种。常见的有,研究型和启发式课堂教学,阅读与剖析源程序片段,开展课外研究与创新型实验等。教学实施方案和教学内容组织要根据人才培养目标而制定。计算机专业规范提出3种类型:科学型、工程型和应用型。在操作系统领域,对科学型、工程型和应用型3个认知层次有不同要求[1]273-277。当着眼于嵌入式发展时,对操作系统课程的教学目标、教学方法和教学内容有了新的思考。
3.1本文探讨的出发点
有两个原因,使我们觉得有必要进行操作系统课程教学反思。
首先,立足于嵌入式技术的特点,可以更好地理解操作系统课程的知识点。嵌入式系统种类繁多、形态各异,嵌入式产品随处可见。借助于嵌入式产品来讲解操作系统抽象的概念,可以更好地开展教学工作。
其次,嵌入式系统开发与通用计算机软件开发需要的知识结构不一样――这里主要针对操作系统课程里的知识点。一般来说,在计算机软件工程师眼里,操作系统是一个提供一系列系统调用(或API)的基础性软件;然而,在嵌入式工程师看来,操作系统不仅仅有这个特点,它更是一个需要根据具体硬件平台和应用需求来进行剪裁的软件。
3.2教学目标
操作系统课程是培养学生的计算思维能力、算法设计与分析能力、程序设计与实践能力,以及计算机软硬件系统的认知、分析、设计与应用能力的重要课程[1]274。不同的培养目标,对同一门课程的学习重点不一样。
表1是教育部高等学校计算机科学与技术教学指导委员会在操作系统领域,对科学型、工程型和应用型认知层次的不同要求[1]273。嵌入式技术的快速发展,使得应用型人才显得十分欠缺;这就要求在教学过程中,得更多地侧重应用型人才的培养,并根据这个目标进行教学实践。
3.3教学方法
随着计算机在众多领域得到广泛应用,操作系统也正在以惊人的速度发展。然而,操作系统的基本概念仍然是比较清晰的。这是本文讨论操作系统教学内容的基础。本文的探讨不是对操作系统教学内容进行大幅度的增加或减少,而是仍然围绕操作系统的基本概念,根据教学的需要,对教学内容的侧重稍作变化。
操作系统的基本知识块一般包括以下几点:操作系统运行环境、处理器管理、进程同步与死锁、存储器管理、设备管理、文件管理、安全与保护、实例研究。
教师在指导学生理清以上知识点,掌握知识点间的内在联系的同时,可侧重讲解以下内容,让学生明白:操作系统(比如说处理器管理) 中提到的方法,并不是一成不变的――它有应用前提、它的参数可变化(增加参数、或者改变对参数访问的权限等):
1) 嵌入式操作系统使用的是任务控制块(简称TCB),通用操作系统使用的是进程控制块(简称PCB),TCB对比PCB增加了时间控制参数。
2) 在进程调度上,嵌入式操作系统一般用的是静态调度表,它的优先级可以是固定的,也可以是动态的,而且原则上用户不能改变优先级。通用操作系统中基于优先级的调度,用户可以改变优先级;除此之外,还有先来先服务、时间片轮转等多种调度方式。
3) 嵌入式操作系统多数中断处理转化为周期性查询任务;执行次序由统一考虑的优先级决定。通用操作系统的中断处理优先于任务执行。
对操作系统 5 大功能模块的讲解,是操作系统课程的重要内容。在理清各功能模块的关系方面,需要把通用操作系统与嵌入式操作系统的区别讲解清楚:与通用操作系统对比,嵌入式操作系统中与硬件相关的驱动部分由用户开发;嵌入式操作系统的文件管理、电源管理、网络等是作为嵌入式操作系统的扩展组件,不是必须的;嵌入式操作系统强调的是内核。
由此可见,嵌入式操作系统从另一个视角来理解操作系统的作用和意义。
进一步地,在操作系统课程教学上,我们也在尝试作如下调整:
1) 突出“操作系统运行环境”内容,尤其是中断、时钟管理;
2) 不仅从“照顾短作业或长作业”、“提高系统吞吐率”和“合理的响应时间”角度来考察“进程调度算法”的优劣,也需要从“实时性”角度来考察;
3) 将“设备驱动程序编写”作为“设备管理”的课外作业;
4) “实例研究”适当介绍常见的嵌入式操作系统。
在教学上,我们更多地采用Linux作为实例(主要由于Linux是个开源软件、参考书也多,学生容易自学),偶尔也与Windows系列作对比。操作系统课程的实验平台是Linux(Redflag 6.0),各个知识点的授课中也适当提到Linux系统中各个功能的实现,鼓励学生自学相关内容。另外,我院的嵌入式实验室、基于嵌入式开发平台的大学生创新型项目也可以为学生的课外学习、实践提供一定的条件。
课堂布置的作业,有两种形式,一种是需要学生提交学习报告,另外一种是提交代码。在这里,以两个与嵌入式操作系统相关的作业为例,以便抛砖引玉。
了解“嵌入式操作系统定制”,并完成相应的学习报告;针对班级学生的总体情况,如果整体基础较好可以在授课初布置,否则可以在课程快结束时布置。
可移植嵌入式文件系统设计与实现,或者了解嵌入式文件系统的移植过程;针对班级学生能力水平而定,在文件系统这个章节授课结束后布置。
4结语
操作系统是计算机科学与技术专业核心课程,充分重视操作系统课程教学毋庸置疑,但我们也认识
到:操作系统的应用领域不断扩大,操作系统课程在不断发展;另外,社会在不断发展,人才需求情况也是不断变化,这对这门课程的教学也提出新的要求。因此,操作系统课程的教学改革需要不断进行。着眼嵌入式发展,是对操作系统教学方法进行探索的一个视角。教学是一个实践的过程,面对的情况,采取的方法也不完全一样。不妥之处,恳请指正。
参考文献:
[1] 教育部高等学校计算机科学与技术教学指导委员会. 高等学校计算机科学与技术专业核心课程教学实施方案[M]. 北京:高等教育出版社,2009.
[2] 赵苍明. 嵌入式Linux应用开发教程[M]. 北京:人民邮电出版社,2009.
[3] 蒋川群. 本科嵌入式方向应用型技术人才培养方案探讨[R]. 成都:2009计算机专业课程改革论坛,2009-10-25.
[4] 汤小丹,梁红兵,哲凤屏,等. 计算机操作系统[M]. 西安:西安电子科技大学出版社,2009:1.
[5] Peter Baer Galvin. 操作系统[M]. 郑扣根,译. 北京:高等教育出版社,2010:1-3.
New Revelations to the Course Arrangement of Operating System Brought by Embedded Technology
LIN Yao-hai, CHENG Li, SUN Qi-yan
(Department of Computer Science and Technology, Fujian Agriculture and Forest University, Fuzhou 350002,China)
关键词:嵌入式系统;嵌入式微控制器;理论教学;实践教学;教学模式
随着科技发展和社会需求的推动,信息技术进入到以嵌入式系统为代表的后PC时代,嵌入式技术已经成为21世纪最有生命力的高新技术之一,培养精通嵌入式技术的人才成为世界各国计算机教育工作的重点。
嵌入式微控制器是嵌入式系统的核心控制单元,开展嵌入式微控制器教学是嵌入式系统教育的关键组成部分。美国IEEE和ACM两大学术组织于2004年的计算机工程教学计划(Computer Engineering 2004,简称CE2004),明确规定了嵌入式系统课程中应包含的嵌入式微控制器的具体教学内容Ⅲ。事实上,从早期的单片机类课程,到如今基于32位ARM嵌入式处理器系统的相关课程,都是围绕嵌入式微控制器开展教学工作的,在世界各大高校都受到高度重视。
工程管理与信息技术学院是中科院研究生院的二级学院,主要培养软件工程、计算机技术、电子与通信工程、控制工程等领域的工程硕士研究生。学院从2003年开始开设嵌入式系统工程专业,经过几年的努力,逐步建立起系统的嵌入式方向课程体系。嵌入式微控制器原理与应用作为其中一门核心课程,在该课程体系中占有重要的地位。下面从教学目标、教学模式、教学内容、实践教学、考核方式等几方面对该课程进行详细阐述,并在最后讨论课程的实施效果和改进方向。
1 课程教学目标和教学模式
1.1教学目标的制订
嵌入式微控制器原理与应用课程主要教学对象是软件工程、计算机技术、电子与通信工程、控制工程等专业的工程硕士。与传统的工学硕士相比,工程硕士培养更加注重锻炼其工程实践和解决实际工程问题的能力,这要求教师既要讲解基础理论知识,又要将理论与实践结合,围绕具体工程问题开展教学内容。此外,中科院工程硕士的学生生源具有本科专业跨度大、工作经历和素质能力差异大等特点。为适应这一特点,我们在制订课程教学目标时要统筹兼顾,对于基础较差的同学和经验丰富的同学要差别对待,制订差异化的教学目标。
在充分考虑上述因素的基础上,嵌入式微控制器原理与应用课程的教学目标制订为:学生通过本课程的学习,掌握一种嵌入式处理器体系结构,精通1-2种基于该体系结构的嵌入式微控制器及其接口设计技术,深刻理解嵌入式软件开发流程,能够熟练地选择、使用嵌入式软件和工具完成嵌入式硬件系统的驱动和应用软件设计。
教师在实施上述教学目标时,对于基础较差的学生要求精通一种嵌入式微控制器即可;对经验丰富的学生则要求在课程学习的基础上,用对比学习的方法自主学习另外一种嵌入式微控制器。该教学目标体现了对学生的区别对待,能满足不同层次学生的需求。教学目标没有对硬件电路设计作太多要求,符合中科院嵌入式系统方向工程硕士研究生的生源特点和实际需求。教学目标中“能够熟练选择、使用嵌入式软件和工具完成嵌入式硬件系统的驱动和应用软件设计”是一种能力要求,体现了对工程设计能力的重视,符合工程硕士培养目标。
1.2教学模式的设计
国内各大高校在嵌入式系统相关课程的教学工作上已经进行了大量有益的探索和实践,在教学模式上也已经基本达成共识,即嵌入式系统教学应该采取理论教学和实践教学相结合的教学模式。
我们在开展嵌入式微控制器原理与应用课程的教学工作时,采取了“课堂理论讲解、课堂实验练习、综合实验设计、工程项目设计和多层次考核”的教学模式。与大多数高校课堂实验采取观察性和验证性实验不同,本课程课堂实验则采取设计性实验,每一个实验都是一个小型的开发项目,需要学生灵活运用从课堂上学到的理论知识分析实验要求,编程完成实验项目。综合实验设计要求学生在完成所有基础课堂实验后,按照需求分析、软件设计、实现和测试等软件开发流程,在开发板上完成一个小型嵌入式软件的开发。工程项目设计则是让学生选择一种微控制器,完成一个实际工业嵌入式产品的分析和设计报告。这3种层次的实践环节相互结合,充分锻炼和提高了学生的实践能力。
2 基础理论教学
CE2004首次将嵌入式系统作为一个知识领域纳入到计算机工程知识体系中,并详细规定嵌入式系统包含的10个知识单元以及每个知识单元包含的知识点。参考CE2004的规定,并结合本课程制定的教学目标,嵌入式微控制器原理和应用课程的理论教学内容共包括5个知识单元。
知识单元1是嵌入式系统历史和概述。知识点包括嵌入式系统历史、定义、组成、开发特点、设计过程、应用领域和发展趋势等。知识单元1主要目的是使学生建立对于嵌入式系统的全方位认识,了解嵌入式系统的过去、现在和未来。
知识单元2是嵌入式处理器。知识点包括嵌入式处理器的组成、嵌入式处理器的类型(从集成程度、处理器位数、体系结构和生产公司等4个不同分类标准分别讲解)、ARM处理器的发展(历史、分类和应用)。知识单元2主要目的是使学生掌握嵌入式处理器的组成原理,充分认识嵌入式系统领域中应用处理器的多样性,避免“只见树木、不见森林”。
知识单元3是典型的嵌入式处理器体系结构,我们选择ARM体系结构进行讲解。主要知识点包括ARM处理器寄存器模型、ARM处理器编程模型、ARM处理器异常中断处理、ARM处理器存储模型、ARM处理器指令编码和指令系统、ARM汇编语言编程、ARM汇编与C混合编程、ARM开发工具(汇编器、编译器、连接器和调试器)。知识单元3囊括了CC2004里嵌入式微控制器、嵌入式编程和嵌入式工具等3个知识单元的多个知识点。
知识单元4是嵌入式微控制器组成及接口,我们以三星S3C2440微控制器为例进行讲解。知识点包括微控制器结构、内存控制器、中断控制器、时钟体系、电源管理、DMA控制器以及各种外设控制器。在这些知识点中,内存控制器、中断控制器、时钟体系、电源管理、DMA控制器是重点讲解内容,对于其他各种外设控制器主要讲解基本原理和应用思路,而具体使用细节则要求学生课下通过学习芯片手册掌握。熟练阅读芯片手册是掌握嵌入式系统开发特别是底层编程的基础,因此这个学习单元的教材就是芯片手册。对于学有余力的同学,我们要求其在学习S3C2440微控制器的同时,在课下自行学习ATMEL AT91SAM9G45微控制器,并比较其与$3C2440的异同之处。这样做的目的是满足不同层次学生需求,实现差异化教学。
知识单元5是嵌入式应用编程,知识点包括嵌入式软件体系结构、应用程序映像文件组成、系统启动加载代码等。通过这个知识单元的学习,学生能够了解嵌入应用程序的汇编、编译、连接过程,理解应用程序映像的具体组成以及加载启动的方式,培养为一个裸硬件系统开发完整嵌入式应用软件的能力。
3 实践教学设计
3.1实验平台介绍
目前嵌入式系统的教学实验平台主要有3种类型:基于ARM微控制器的教学平台、基于DSP处理芯片的教学平台和基于FPGA的教学平台。鉴于基于ARM的微控制器在32位嵌入式系统处理器市场中的占有率极高,以ARM微控制器为例讲解嵌入式微控制器的基础理论和应用技术,更能满足市场对于嵌入式工程技术人才的需求,我们选择基于三星$3C2440微控制器(采用ARM920T内核)的嵌入式教学平台。该平台的系统组成结构如图1所示。
在此教学平台结构图中,S3C2440是一款基于ARM920T处理器的嵌入式微控制芯片,内部集成了AHB和APB两条总线,以及连接在总线上的内存控制器、中断控制器、时钟电源管理单元、USB主从控制器、看门狗、定时器、PWM控制器、GPIO控制器、SD/MMC控制器等多种外设控制器。存储器包括64M SDRAM、4M NOR FLASH和64M NAND FLASH;人机接口设备包括640×480像素6寸TFT液晶显示模块、触摸屏、4×5小键盘模块和4个GPIO连接LED显示灯;通信接口及设备包括串口、USB主接口、USB从接口、两个以太网接口、音频输入输出接口和Camera接口等。该实验设备支持多种层次的实验,嵌入式微控制器原理与应用课程的所有实验均在该实验平台上完成。
3.2课堂实验设计
实验在计算机类学科中的作用十分重要,是教学活动的重要环节。根据实验性质区分,我们可以把课堂实验划分为观察性实验、验证性实验和设计性实验等类型。设计性实验要求学生根据实验要求自行设计实验过程,相对于前2种实验更能锻炼学生的设计能力和独立工作能力,因此我们的课堂实验均采用设计性实验类型。
根据理论教学内容,我们共设计了16个课堂实验,这些课堂实验与知识点的对应关系如表1所示。
表1中的16个实验除实验1外,均为设计I生实验。其中,实验4和实验5分别用汇编和c语言驱动GPIO管脚连接的LED灯,学生通过对比掌握汇编和C语言访问外设寄存器的异同;实验6使用查询方式实现定时功能,实验8采用中断方式实现同样功能,学生通过对比掌握IO两种访问方式的异同;实验9主要练习32位微控制器各个模块所需不同时钟频率的产生,以及处理器时钟频率的编程调节,使学生熟练掌握微控制器的时钟体系;实验10~实验16则练习微控制器的主要外设I/O控制器的接口编程技术。
限于课程的课时长度,课堂实验无法包含所有外设控制器,但通过这些典型外设控制器的学习,学生很容易就能触类旁通地掌握其他模块使用方法。
3.3综合实验设计
综合实验要求学生分组合作,综合运用所学知识,利用课下时间设计一个小规模的嵌入式应用软件并在实验平台上完成调试运行。为了吸引学生兴趣,综合实验均采用游戏项目的形式。我们设计了几个游戏项目供学生选择,分别是世界时钟、五子棋、电子菜单、科学计算器、汉诺塔、交通信号控制器、俄罗斯方块等。教师也鼓励学生选择一些常见的其他娱乐游戏作为综合实验设计项目。
学生在完成综合实验项目时,要按照实验项目说明书的要求完成实验设计,撰写的项目文档至少要包含需求分析、软件设计、软件测试、使用说明、运行结果、项目分工、总结讨论等几个方面的内容。通过综合性实验,学生既锻炼了综合设计能力和动手能力,又提高了沟通能力和团队合作能力。
3.4工程项目设计
课堂实验和综合实验相结合的实验方式,很好地锻炼了学生对于特定嵌入式微控制器的实践动手能力。但若要灵活运用所学嵌入式微控制器设计工程项目,学生还需通过具体工程设计实践进行锻炼。嵌入式微控制器原理与应用课程和工程管理与信息技术学院课程体系中的另外一门课程“嵌入式系统分析与设计”相配合(同一学期开设),教师在2门课程结束后布置一个共同的工程项目设计作业,要求学生围绕一个典型的嵌入式系统产品,在尽量采用嵌入式微控制器课程所学微控制器的前提下,给出该产品的详细设计方案。我们在每一学年都给出不同的设计项目,例如近几年的题目分别是IC卡公民身份证系统、税控收款机系统、数字水印技术的应用系统等。
需要指出的是,工程项目设计仅供学有余力、希望在工程项目设计能力上有所提高的学生完成。根据近几年的实际情况来看,约有1/2的学生提交了项目设计说明书,平均长度达到30多页。其中一些非常新颖和有价值的设计方案,可以直接用于工业生产实践。
4 考核方式
为了使考核方式既起到检验学生的知识掌握程度,又能在平时督促学生认真学习的效果,我们采取分段考核和最终考核相结合的方式。具体来说,嵌入式微控制器原理与应用课程一共有4次课堂实验,包含15项设计性实验,每个实验分值在0~2分之间。每次课堂实验结束时,教师检查学生的实验完成情况并打分,这种方式起到了有效督促学生平时认真学习的效果。课程结束后有一次综合理论考试,总分是40分,该考试用于检查学生对嵌入式微控制器基本原理的掌握程度。综合实验要求学生自由组合,在课程理论考试完成后的一个月时间内完成。综合实验提交内容由项目文档和项目程序组成,其中项目文档占15分,项目程序完成情况占15分。学生完成综合实验后与教师约定时间,由教师进行现场检查并打分。工程项目设计作为附加要求,并不统计到最后成绩中,只供有兴趣的同学选择完成,在学生设计过程中,教师给予一定指导。
上述考核方式中,课堂实验、理论考试、综合实验在总成绩中分别占30%、40%、30%。课堂实验和理论考试对每一个学生的考核比较客观直接;综合实验由学生合作完成,打分时教师先给出每一组的分数,组内每个学生的分数根据其具体负责内容和完成情况在组分数基础上微调得到,尽量使分数反映出学生的实际水平。
5 课程评估与分析
中科院研究生院建立了课程网站评估系统,鼓励学生在课程结束后从网上对课程进行评估。评估内容涵盖教学态度、教学内容、教学方式和教学效果等方面,共包含4项7条,每一条评估分值为1~5分。
根据近3年的统计结果来看,每年约有90%的同学参与网上评估,课程评估结果均为优秀(平均分均超过4.6分)。评估结果显示,学生认为课程内容符合嵌入式方向工程硕士培养目标(4.8分);课程对他们的工作具有较大帮助(4.7分);课程理论与实践相结合的教学方式得当(4.6分);课程的考核方式灵活,能从理论和实践2个角度恰当地考核学生对于课程的掌握程度(4.4分)。部分学生认为实验课时较短,应该从16课时提高到20课时;还有一部分学生认为嵌入式微控制器原理与应用课程的课时数偏少,建议从40课时提高到60课时;学生对于实验课内容的安排比较满意(4.6分)。
从学生的评估结果来看,学生对于课程的教学内容选择、教学方式、考核方式等非常满意,课程达到了教学目标的要求。