HI,欢迎来到云研学术,期刊咨询:130-7314-7102  订阅咨询:130-7314-7102 
0
首页 精品范文 嵌入式课程设计总结

嵌入式课程设计总结

时间:2022-07-14 14:37:34

嵌入式课程设计总结

第1篇

    1.引言

    目前,国内开设有关嵌入式系统课程的独立学院极少,培养出的基于Linux平台上的嵌入式软件开发人员更是凤毛麟角。所以,注重应用能力培养的独立院校,特别是有计算机、电子技术等相关专业的工科独立院校,应该尽早引入嵌入式系统的教育,结合自己专业特点,大力开展嵌入式系统的教学工作。

    2.嵌入式系统简介

    嵌入式系统一般指非PC系统,而是指小型、专用的计算机系统。它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起,应用程序控制着系统的运作和行为;操作系统控制着应用程序编程与硬件的交互作用。

    3.国内嵌入式系统教学的现状

    国内教育界将嵌入式系统的教学大致分为三类:软件学院专业嵌入式教学;计算机专业嵌入式教学;电子、自动化等相关专业嵌入式教学,对于嵌入式系统的教学研讨从嵌入式课程体系的设置、嵌入式理论教学的开展、嵌入式实验教学的开展、嵌入式综合设计与学生工程实训等几方面展开。

    4.嵌入式系统教学模式的探讨

    综观国内外,长期以来都没有专门针对嵌入式系统专业的学科设置,从事该领域的研发人员都来自不同专业背景,例如自控、电子工程、通信工程、计算机应用等专业。由于知识结构不能完全满足嵌入式系统工程的要求,需要经过较长的再培训才能胜任嵌入式系统工程师的工作。嵌入式系统教育给传统计算机、电子信息工程教育带来了巨大的冲击和挑战,也带来了历史的发展机遇。嵌入式系统工程(ESE)是一个全新的专业,需要企业和社会的认知过程,课程体系需要经历设计、发展、完善的过程。

    通过与国内其他高校的专家的探讨与学习,结合西部高校普遍存在的资金非常缺乏,实验条件的局限,以及电子信息工程专业学生的特点,我们积累和总结出关于嵌入式系统教育教学模式的一些想法,列举如下:

第2篇

[关键词]嵌入式 教学改革 课程设置

[中图分类号]G434 [文献标识码]A

一、引言

在上个世纪七十年代前后,出现了嵌入式系统的概念,当时,还没有出现操作系统(OS),仅有监控系统及汇编语言,随着计算机技术的发展及应用需求,将OS引入了嵌入式系统,嵌入式的编程以C语言为主,并有了强大的嵌入式开发平台。我国嵌入式软件应用规模为世界第三,在中国软件前10家企业中,嵌入式软件产品生产企业占了6家。数字化、智能化、网络化的趋势将使传统设备逐渐转变为嵌入式设备,因此嵌入式软件对改造和提升传统产业有重大作用。 中国工程院院士倪光南强调,我国IT行业应大力发展嵌入式软件,提升我国IT产业的核心竞争力。

嵌入式系统是以应用为中心,以计算机技术为基础,其软硬件可配置,对功能、可靠性、成本、体积、功耗有严格约束的一种专用系统。所使用的计算机为嵌入式计算机。嵌入式系统一般可由嵌入式微处理器、硬件设备、嵌入式操作系统及应用程序四部分组成,嵌入式系统一般嵌入到应用系统中[1]。

广义而言,可将计算机技术作为一种技术,嵌入到应用系统中,计算机技术又经常是一种核心技术。对一般用户而言,嵌入式系统是透明的。

对于处于高速发展时期的嵌入式技术及物联网技术时代,嵌入式系列课程的教学也在各大院校中开展起来。要设置适应社会需求的嵌入式技术人才,在设置嵌入式系列课程时,需要解决以下问题:

1.课程体系设置

嵌入式课程目前开展最多的还是在研究生阶段,但随着嵌入式市场需求的增加,一些高校在本科阶段开始设置嵌入式方向体系课程。那么怎样设置适合本科在校生学习的课程是现在亟需解决的问题。

2.实验教学环节设置

嵌入式技术对学生动手能力要求很高,而且嵌入式系统是软硬件结合的产物,对学生能力要求很高,既要会硬件设计又要会软件设计。

二、嵌入式系统基本结构

1.嵌入式处理器

(1)嵌入式微处理器:对应通用计算机CPU。

(2)嵌入式微控制器:对应用单片计算机。

(3)嵌入式DSP:应用于数字信号处理,数字滤波,FFT谱分析,图象处理等领域。

2.微内核结构

微内核结构是指仅提供基本的功能,任务调度,通信及同步,内存管理,对外管理等。嵌入式系统一般配有操作系统。OS分为内核层与应用层两个层次。内核仅提供基本功能,建立及管理进程,I/O、文件系统由应用层完成。其它属于应用组件,如网络功能,文件系统,GUI等,工作在用户,系统可裁剪,即用户可选择需要的组件。

3.任务调度

在嵌入式系统中,任务即线程,大多数嵌入式OS支持多任务。

多任务运行是指靠CPU在多个任务之间切换、调度,每个任务有优先级。不同任务的优先级不同,调度方式可分为三种方式:

(1)不可抢占式调度:一旦某个任务获得CPU,就独占CPU,除非某种原因(任务完成、等待资源),它才放弃CPU。

(2)可抢占式调度:基于任务优先级,当前运行的任务,随时可让位于优先级更高的处于就绪态的任务。

(3)时间片轮转调度:当两个以上的任务,优先级相同,一个进程在用完自已的时间片,就将cpu让位于同优先级的另一个进程。

嵌入式系统大多数OS采用优先级不同时用抢占式和优先级相同时间片轮转调度法。

4.硬实时系统与软实时系统

一般嵌入式系统对时间要求较高,即要求在较短的时间内,对提交的任务作出响应,称之为实时系统(μS级)。

硬实时系统对响应时间有严格要求,软实时系统可在较宽时间范围内完成。

5.内存管理

用MMU,使用虚拟存储器概念,大多数嵌入式系统MMU,从而采用实地址管理模式,这样,存储保护技术也相应降低。然而,随着嵌入式技术的发展及需求的牵引,近来不少嵌入式系统中也在加强存储管理,引入虚拟存储器概念,引入MMU,同时也在加强存储保护。

6.内核加载方式

OS内核既可在FLASH中运行,也可在片内RAM中运行,一般而言,在片内RAM中运行,可获得更快的速度,但RAM是易失性的,故无论内核还是应用程序,都应放在FLASH中,以免挥发。故在实际加载时,就存在两种方式,一是在FLASH中直接运行;另一是运行在@FLASH中的加载程序,将内核装入片内RAM,然后再运行装入RAM的内核。

7.嵌入式系统开发的有关技术

嵌入式系统的开发技术,比一般在Windows下开发要复杂一些,它与硬件平台有关。

开发平台分为宿主机与目标机。

(1)宿主机(一般用通用PC机):主要功能是编译、链接、定址,还进行调试期间的运行控制。

目标机(硬件平台-目标板):运行嵌入式软件。

第一过程:用交叉编译器。所谓交叉,是在一个计算机平台,为另一个计算机平台产生代码的编译器。

第二过程:链接,将所有目标程序链接为一个目标文件。

第三过程:定址,将目标文件分配到物理存储器的相应地址。

这一过程与目标机硬件结构有关,即与各存储器的起始地址有关。

(2)宿主机的调试功能

宿主机的第二个功能为支持调试目标机上的应用程序。应用交叉调试器,采用宿主机与目标机联合调试。首先下载,将宿主机中的内核及应用程序下载至目标板;然后,分别对目标板源码级、汇编级进行调试。

目标监控器是对目标机上的应用程序进行控制的,它事先被固化在FLASH中,宿主机与目标监控器相联接,完成调试控制过程,其步骤为:下载程序至目标板,控制其运行,并随时检测返回状态[2]。

三、嵌入式系统课程设计

嵌入式技术在中国的发展已经有十几年的历史,根据嵌入式系统基本结构,其涵盖的课程非常广泛,有《嵌入式操作系统》、《嵌入式系统及其应用》、《嵌入式组件设计》,《嵌入式Linux设计》等,目前这些课程基本是各大院校电子类相关专业的必修或选修课程。通过这些课程的学习,使学生能够独立完成嵌入式系统的硬件系统设计和软件设计。

《嵌入式操作系统》主要介绍实时内核原理、多个常用OS(UCOS、UCLinux、WIN CE、VXWorks、Nucleus)的比较、实时时效的分析与提高、实时OS的设计方案。

《嵌入式软件设计》主要结合汇编、C(C++)、JAVA等语言的嵌入式实现精华,体现实时OS的移植,低、高级语言的集成应用。

《嵌入式系统及其应用》讲解嵌入式系统的定义、发展、分类、组成、特点、开发调试方法、嵌入式处理器等概念性的介绍,帮助建立系统的概念和特征,完成应用层编程。

《嵌入式Linux设计》涉及嵌入式Linux驱动程序的设计,包括I/O口、CAN总线、触摸屏、IIC、PS/2、异步串口、音频、显示、USB、以太网及Flash的使用及驱动程序的编写。在ARM Linux的中断处理、BootLoader和内核上电启动过程。

为了更好的体现嵌入式门课的实用性,在课程之后配有一个为期两周的课程设计《嵌入式系统及应用课程设计》。在前面实践能力基础上,面向某一领域的应用,以嵌入式系统基础设计实现相应功能系统。提高了学生的实际动手能力与综合能力。学生要将嵌入式操作系统移植到智能手机中,并在此基础上进行二次开发,完善智能手机的功能。包括电话簿、记事本、日程、计算器、日历和时间显示、游戏软件(包括俄罗斯方块、五子棋、拼图、高尔夫球、沙壶球等)、音频功能(包括播放MP3等歌曲)、手机摄像头以及手机通讯功能(包括GPS通讯、GPRS通讯、红外通讯、蓝牙无线通讯等)。我校电子信息科学与技术专业嵌入式方向自2002年创建至今,已有六届毕业生。由于创建之初嵌入式还是个新兴的技术,所以无论从课程内容设置、教学顺序设置以及教学环节的配合都很不成熟,师资和实验设备严重短缺。但在不断探索和调整中我们总结出一套嵌入式课程体系建设的方案,科学合理设置教学内容、从实际出发调整教学顺序、各教学环节相互配合。

由于嵌入式相关课程涉及的范围甚广,尤其随着现在物联网及许多新技术的兴起,针对嵌入式课程体系的建设,包括教学内容的体系化建设和教学环节的体系化建设,是教学过程中需要解决的问题,需要提出相应的解决方案[3]。

由于嵌入式系统面向应用的主要特点,在课程设置别强调培养学生动手实践的能力。以教师科研环境和专业实验室为基地,开展课外学习方式培养学生的综合实践能力;知识讲解与主流嵌入式系统实例结合,搞好课程教材体系的配套建设;配有课程设计,加强学时在工程设计方面的能力;多位教师授课,充分发挥每位教师优势,使新技术能贯穿在教学中;与学生实际相结合,对学生毕业找工作和再学习有很大帮助;设计了多种等级实验,学生通过循序渐进设计能提高综合设计实验能力。

基于嵌入式系列课程的教学改革与探索能解决好课程间的联系、衔接问题。从理论教学、实验教学到课程设计、毕业设计统筹安排,形成一个整体,使学生的学习层次化、阶梯化。建立嵌入式实验平台,提高学生参加相关竞赛的积极性,培养学生对嵌入式相关课程的学习兴趣,促进学生自学能力和解决问题能力的提高,突出学生的能力建设、知识探究和人格养成。

四、嵌入式系统研究方向

嵌入式系统有着广泛的市场前景。市场需求方面:中国具有世界最大嵌入式技术市场。手持仪器设备、信息家电、城市建设、工业控制、军事应用等,嵌入式技术无处不在。企业人才需求方面:软硬件设计人才,应用开发人才,综合性人才,培训增加,工资待遇逐渐上升。技术发展趋势要求方面:8位单片机到16位单片机主要用于不需要操作系统的只需要处理简单任务的控制系统,但现在的手机、智能家居等系统已经不能满足于简单的控制了,多个任务并发出现时,需要具有实时操作系统的32位嵌入式微控制器的解决。图1概况了现在嵌入式系统的主要研究方向。

图1 嵌入式系统研究方向

五、总结

未来几年,市场对嵌入式人才尤其是嵌入式Linux人才的需求旺盛。而目前熟练的嵌入式Linux应用人才只有几千名。这意味着各大跨国公司及国内消费类电子巨头企业都面临着人才严重短缺的挑战。所以设置好嵌入式系列课程,培养出优秀的具有嵌入式技术人才是迫在眉睫的事情,希望我们的努力能对我国嵌入式市场带来新的生机与活力。

基金项目:本文系“北京市教委科技发展计划面上项目”(项目编号:KM201110772018)的研究成果。

[参考文献]

[1]李金芳.嵌入式教学的案例分析与分享[C].图书馆联盟建设与发展,2012-10-01

[2]梁志远,邹晓敏,劳有兰.面向嵌入式课程群建设的《微机原理》课程教学探讨[J].高教论坛,2008年04期

第3篇

近年来,我国嵌入式系统产品发展十分迅猛,中国嵌入式系统市场估计每年将直接创造千亿元的效益,所带动的相关工业产值超过万亿元,成为中国信息产业新的市场增长点。与巨大的市场潜力和产业需求相比,我国嵌入式系统工程人才培养相对落后,并进而影响到了该产业的快速发展。我院是计算机学院,但是为顺应时代要求,特开设了《嵌入式软件开发》课程作为专业限选课程,此课程的设置主要目的是通过这门课程让学生了解一些硬件方面的知识,熟悉嵌入式软件开发的流程,为以后的就业多一些选择,通过这门课程让学生全面了解计算机行业硬件和软件内容,增加学生知识的广度和深度,从而提高学生的综合素质,提升学生在市场的竞争力。

1 专业建设

目前,嵌入式技术是当前社会较为流行和热门的技术之一,硬件的发展已经到了一个程度,现在嵌入式产品的含金量主要取决于嵌入式软件的研发,所以嵌入式方向的人才需求又主要体现在对嵌入式软件开发人员的需求。职业院校能否在这个竞争激烈的社会中有立足之地,就必须有紧迫感和危机意识,抓住机遇进行专业建设和课程改革,提升办学能力,使职业院校在高等院校中也能独树一帜。

课程建设既要注重知识体系的完整性、前沿性和发展趋势,更要注意学校内部不同学科之间在内容和方法上的相互支撑与渗透,形成学校内部整体课程建设的优势,发挥学科群的系统功能[1]。所以在软件学院开设嵌入式软件开发课程是非常必要的,而嵌入式软件开发课程又与单片机课程不同,单片机课程主要注重介绍硬件原理的理解、硬件平台的搭建、底层硬件驱动程序的编写、硬件的测试等方面的内容,而对上层程序的编写、底层于上层程序之间的驱动接口的编写介绍都比较少。wWW.133229.cOM这门课在介绍硬件知识的基础上,再结合上层软件编程知识,培养学生对嵌入式系统软件开发能力,学完课程之后,学生能够理解嵌入式硬件方面的概念,熟悉嵌入式软件开发流程,能够在硬件平台上进行小型软件开发项目。

2 课程建设

“嵌入式系统”是近几年新兴的一门课程,国内外高校在嵌入式方面的教学已经全面展开,但处于起步和探索阶段,没有完备成熟的培养机制。我院是软件学院,而且以前没有开设过嵌入式系统开发课程,在这方面也没有太多的经验,所以我们参考了几大院校的教学经验,同时,又根据我院实验环境和学生情况,在进行课程建设方面进行有益的探索。

该课程的教学目标是使学生能够掌握嵌入式系统设计过程中的基本概念和原理,建立软硬结合的思路,使学生能够掌握和使用最新的嵌入式系统设计方法和典型开发工具。在教学形式上,采用项目演示的方法,增加学生对抽象事物的理解,更加直观的进行学习,另外通过实验环节和课程设计方式,使学生能够熟悉一种典型的微处理器体系结构,掌握一套主流的开发工具和一种嵌入式操作系统,熟练使用一门开发语言,使学生具备嵌入式系统软、硬件开发设计的基本能力。

2.1 课程内容的选取

嵌入式系统融合了计算机软、硬件技术、通讯技术和半导体微电子技术,面比较广,作为专业限选课,我们抓住要点,根据教学目标要求,再结合我院学生特点,我们选择两部分内容:一个就是单片机;同时要给学生提出基本要求和提高要求,使得学生在完成基本功能的同时拥有自主学习、自主创新的空间,方便学有余力的学生进一步提高自己。这个整个项目涵盖单片机和arm的基本理论体系,它通过实际例子让学生感受嵌入式系统的魅力,从而激发学生的兴趣和学习热情,通过内容的讲解,学生可以了解嵌入式软件开发的流程,掌握嵌入式软件开发工具,能够在硬件平台上进行小型项目的开发工作。

2.2 教学方法的改革

为了吸引学生的注意力,培养学生学习兴趣,在上课的内容和形式上,我们以项目演示的方法采用教学做一体化进行教学,先显示项目功能,然后讲解项目涉及的知识点,然后一步一步的教学生去做。整个教学采用总分总的方式,首先给学生演示一个项目,然后介绍一下这个项目的功能和要求,接下来的课堂中采用任务驱动的方式,由浅入难分别讲解项目中的任务,待整个项目中的内容讲解完毕后,再讲解一下把整个项目搭建起来的方法,把课程开始演示的项目搭建起来,在完成基本的教学任务的同时要求进行扩展和提高,使得学生拥有自主学习、自主创新的空间。

2.3 实践教学环节改革

实践教学环节也是课程建设的重要一环,它在提高课程质量方面有着很重要的作用。制定切实可行的开放管理办法,加速实验室开放的步伐,另外还为实验室专门配备一个经验丰富的指导老师,遇到问题,可以直接问老师,这样有了更多的时间和老师交流。

2.4 加强网络平台建设

本课程除重视课堂教学外,要加强网络平台建设,以增强课程教学的先进性、挑战性和趣味性。本课程已经在我院申请建设了精品课程网站,已经对外开放。本课程充分利用网络提升课程教学的电子化、网络化、远程化以及互动化水平,来实现现代化教学。

3 考核方式的改革

在嵌入式软件开发选修课程中主要采用多元化的考核方式,其中实训项目作为课程考核的重点,我们将课程设计的选题分为固定选题和自拟选题。针对这个课程设计,我们专门制作了一个课程设计说明书,说明说里包括设计需求,功能说明、总体设计、详细设计、硬件测试、软件测试和用户使用手册等。学生要根据课程设计说明书的步骤和要求完成项目,通过实际操作能力的培养和书写文档能力的培养,能够让学生从多方面了解从事嵌入式行业。

为了公平公正地评价学生完成课程设计的质量,我们课组成员对各个环节全面考核,根据学生的项目制作情况和课程设计说明书的书写情况打分。期末综合成绩评定标准,课程设计说明书书写情况40分,作品演示40分,口头表达20分。

4 结语

第4篇

1.引言

目前,国内开设有关嵌入式系统课程的独立学院极少,培养出的基于Linux平台上的嵌入式软件开发人员更是凤毛麟角。所以,注重应用能力培养的独立院校,特别是有计算机、电子技术等相关专业的工科独立院校,应该尽早引入嵌入式系统的教育,结合自己专业特点,大力开展嵌入式系统的教学工作。

2.嵌入式系统简介

嵌入式系统一般指非PC系统,而是指小型、专用的计算机系统。它包括硬件和软件两部分。硬件包括处理器/微处理器、存储器及外设器件和I/O端口、图形控制器等。软件部分包括操作系统软件(要求实时和多任务操作)和应用程序编程。有时设计人员把这两种软件组合在一起,应用程序控制着系统的运作和行为;操作系统控制着应用程序编程与硬件的交互作用。

3.国内嵌入式系统教学的现状

国内教育界将嵌入式系统的教学大致分为三类:软件学院专业嵌入式教学;计算机专业嵌入式教学;电子、自动化等相关专业嵌入式教学,对于嵌入式系统的教学研讨从嵌入式课程体系的设置、嵌入式理论教学的开展、嵌入式实验教学的开展、嵌入式综合设计与学生工程实训等几方面展开。

4.嵌入式系统教学模式的探讨

综观国内外,长期以来都没有专门针对嵌入式系统专业的学科设置,从事该领域的研发人员都来自不同专业背景,例如自控、电子工程、通信工程、计算机应用等专业。由于知识结构不能完全满足嵌入式系统工程的要求,需要经过较长的再培训才能胜任嵌入式系统工程师的工作。嵌入式系统教育给传统计算机、电子信息工程教育带来了巨大的冲击和挑战,也带来了历史的发展机遇。嵌入式系统工程(ESE)是一个全新的专业,需要企业和社会的认知过程,课程体系需要经历设计、发展、完善的过程。

通过与国内其他高校的专家的探讨与学习,结合西部高校普遍存在的资金非常缺乏,实验条件的局限,以及电子信息工程专业学生的特点,我们积累和总结出关于嵌入式系统教育教学模式的一些想法,列举如下:

4.1 建立一套适合学校特点的课程体系

嵌入式课程是近几年来建立的一门新课程,有它自身的特点、规律。嵌入式的课牵扯面很广,包括研究生的课程、本科生的课程、技能课程的培训等。由于该课程与实际结合得非常紧密,容易教成短期培训,而作为一门课程要有自己的规律,不要把这个课程做成嵌入式系统教学的技能培训,要结合独立学院的自身培养目标特点制定出相应的教学计划以及实施方案。例如在我校,针对电子信息工程专业,目前师资力量等都不能满足直接建立一个嵌入式系统的专业,设想把嵌入式系统设定为电子信息工程专业本科主修方向,在低年级时开设相关的专业选修课,让有意于此方向的学生打好基础,在本科高年级进一步学习。作为电子信息工程专业,在教学中一定不能光注重应用,也要将清楚计算机本身的规律在什么地方,为什么发展嵌入式,有什么原理进行探讨,从而建立一套适合我们特点的课程体系。

4.2 课程应该分层次

嵌入式系统教学的层面应不同,有研究生、本科生高年级、重点大学、普通大学、独立学院等的分别,在授课时有所区别。在本学院推行这门课,考虑到针对的是电子信息工程专业,和其他学院的侧重点是不同的,但作为电子信息专业中的一个主修方向,在教学中应该突出原理与应用的紧密结合且能体现出理论和实践并重的特点,在教材的选定上应该包括有关嵌入式处理器、操作系统(linux或ubantu)、开发平台和应用,重点学习原理及相关应用。

4.3 主动去获得更多的支持

由于学校在技术、经验、资金等方面有很多的困难,所以应该主动寻求以获得更多的帮助,例如主动跟国内外相关公司索取资料、设备,要求一些技术支持等,积极组织教师参加全国范围的各种嵌入式系统教学研讨会、及到各知名企业进修,让教师深入了解技术发展。

4.4 可利用仿真软件、书籍内容辅助实验教学

如果让理论知识能让学生达到所见即所得是本课程教学的重点和难点,由于资金的缺乏,现成的实验板很昂贵,应采用仿真和实验相结合的方法,一部分学生在SkyEye、microwindows仿真环境下做实验,一部分学生在实验板上面做实验,在实验之后再一起互相讨论。

4.5 利用互联网进行教学交流

由于教师对嵌入式系统课程不熟悉,在教学中要自己一边学习一边讲课,应该充分利用极其丰富的网络资源,例如教学课件及背景资料都可以从网站上下载,教师和学生均可通过论坛交流。

4.6 全国高校大学生电子竞赛及行业相关竞赛

通过组织学生参加全国高校大学生电子竞赛来深入了解和学习嵌入式系统。虽现在的电子竞赛还没有直接用到嵌入式系统,但是我们必须现在开始在思想上有所改变,主要是使学生多搞创新想法,而不仅仅是产品创新。

5.结语

嵌入式系统工程是一个全新的专业,目前的关键是怎样与现有专业学科融合,以及怎样进行现有课程体系的改革和调整。我国在嵌入式系统教育方面起步较早的是北京大学软件与微电子学院的嵌入式系统系,他们已经形成了较为完善的课程体系、专业水平较高的师资队伍和与国际技术接轨的嵌入式系统工程实践环境,目前,嵌入式系统系在我院本科生达到480人。独立学院由于很多因素的制约在教育上也比较落后,但已经积极行动起来,投身到嵌入式系统教育中去,为我国嵌入式系统的发展输送更多的优秀人才。

参考文献

[1]马忠梅.嵌入式系统教学模式探讨[J].单片机与嵌入式系统应用,2008(11):5-37.

第5篇

关键词:嵌入式系统 独立院校 课程改革

一、引言

近几年来,嵌入式技术的应用推动了国防、军工、航天航空、移动通讯、机器人、工业控制、医疗仪器、汽车电子等领域的发展。社会对相关人才的需求量大,学生学习的积极性很高,因此嵌入式系统正逐渐成为高等院校必开的课程。嵌入式系统有两个显著的特点,一个是软硬件密切联系,一个是以应用为中心,独立院校作为一种新型的高等院校教育单位,作为对普通高校资源的补充,更偏向于实践应用[1],因此,如何开设嵌入式系统的相关理论与实践课程来培养应用型、创新性人才,是独立学院目前的重点探索之一。

二、嵌入式课程教学存在的问题

目前独立院校很多专业都开设了嵌入式系统课程和嵌入式专业方向,比如电子类、通信类、计算机类、自动化类专业都开设嵌入式系统的相关课程,结合企业对嵌入式人才的要求,存在着很多不足。

1.前期基础教学安排不合理

从理论教学来看,嵌入式技术是一门综合性很强的课程,涉及的知识体系有硬件、软件、网络等方面的知识,硬件方面要具备模电、数电、单片机等相关知识,在软件方面要具备计算机的基础理论知识如操作系统,程序设计语言基础,程序的设计思想和方法,在网络方面要具备网络语数据通信的理论知识体系。但是各专业的基础教学并没有完全开设相关方面的理论教学,如:计算机专业主要具备了软件方面的基础理论,自动化、电信等相关主页主要设置了硬件方面的知识体系,对软件方面的知识体系开设较少,主要就是C语言程序设计,而对操作系统,程序设计的思想和方法并没有开设相关理论课程。

2.缺少足够实践教学

从实践教学来看,很多实验基本上是验证性实验,大多数都只需要按照实验指导书上的内容就可以完成,课程设计与企业项目实际应用差距较大。众所周知,实践是嵌入式系统教学的重要环节。嵌入式系统内容涉及广泛,指令编程、驱动程序设计、内核的移植设计和应用程序编写等知识的学习,都需要学生通过大量的实践环节来加深理解[2]。学生在课程之余没有更多的实践机会,嵌入式课程学时完毕后,很多学生就没有办法进行后续的学习。另外,实验学时不够。开设的嵌入式系统课程一般为32~40学时,实验环节仅占6~8学时。有限的课内学时无法满足实践教学,尤其是综合性、设计性实践的需要。这使得缺乏足够实践动手环节训练的学生难以真正了解和熟悉嵌入式开发过程。

3.各专业教学内容比较单一

从课程体系上来看,大多数的课程总是偏向两个方向:方向一偏重硬件设计,例如与电子工程、通信工程、自动化相结合。这个方向培养出来的学生主要从事硬件设计工作,他们的优势是对硬件原理非常清楚,不足在于这类方向的人才更擅长定义各种硬件接口,但对复杂软件系统往往力不从心,例如嵌入式操作系统原理和复杂应用软件等。方向二偏重软件设计,例如和软件工程、计算机科学与技术结合,这个方向培养出来的学生主要从事嵌入式操作系统和应用软件的开发。他们对软件有较好的操纵能力,不足在于对硬件原理和接口没有较好的掌握,对于嵌入式系统其它的应用也没有一个全面的概念,如驱动程序等不太了解。大多数面向Linux操作系统的应用软件编程,与企业的需求来看,内容比较单一。

4.高校师资队伍实践经验欠缺

嵌入式系统的教学要求教师具有处理器、汇编语言、接口、操作系统、驱动程序开发、应用程序开发等各方面丰富的知识,并要有从事嵌入式项目开发的经验[3] ;但对于大多数开设嵌入式课程的独立院校而言,师资队伍很难跟上。从事嵌入式技术开发的技术人员,很少愿意到独立学院执教;在嵌入式师资方面,对于年轻的独立学院而言,承担嵌入式系统课程的多以青年教师为主,大部分教师并没有项目经验,有部分老师从单片机教学转型。高校组织的教师培训,都是提供实验设备的厂商对实验设备的培训,真正的嵌入式系统相关技术的系统培训缺少。所以,师资队伍的建设在短期内无法跟上嵌入式技术的教学需求。

三、嵌入式课程教学的改革

从理论指导课程体系方面来看,学生不仅要掌握经典的计算机基础理论知识如计算机组成原理、操作系统、汇编语言、C/C++语言、程序设计思想和方法,还要具备嵌入式系统领域特定的知识,包括嵌入式硬件基础、软件基础、操作系统、开发工具等,我院的很多专业都是在大二下才开始大量开设相关基础理论课程,而嵌入式技术这门课程基本上都是大三下学期开始学习,学生要在一年内学完这些理论,对学生而言,对知识的理解也是需要一定的时间,因此理论课程应在大一开始逐步开设,结合学生的学习程度合理安排相关理论课程的学习。

企业对嵌入式软件人才的需求有几个方向:嵌入式引导程序设计,嵌入式操作系统内核的设计,嵌入式操作系统的驱动程序的开发,嵌入式图形化用户界面的设计,嵌入式数据库的开发等,首先帮助学时确定自己从事的方向,并掌握嵌入式系统开发的整个流程及其相应的调试方法。在嵌入式的理论课程学习中应结合企业的需求以及基本知识面的结合;如软件方向理论教学基本的内容应围绕嵌入式基于Linux操作系统下的应用程序开发这些方向来确定要学习的课程体系,确定课程体系后可以根据企业的需要加入相关驱动开发等相关课程内容及比较流行的手机开发也可以纳入课程内容之一,理论教学的原则压缩基础理论课学时,突出实践性与应用,以达到“学习嵌入式,使用嵌入式”的教学目的和作用,建立起一种由浅入深、梯度型、层次化的教学模式。

从实践指导课程体系方面来看,应该采用多样化的课程实践教学手段,提高学生的动手实践能力。

1.在实验环节方面,应该大幅提高实验的课时,达到讲一课就能实践的目的。改革后我院开设嵌入式课程的实验学生16学时,包括硬件裸机程序编写6学时,嵌入式开发环境搭建与2学时,嵌入式软件下驱动程序编写4学时,嵌入式应用软件程序编写4学时,基本上一次理论课上完学生就可以在实验室进行实践。

2.通过对市场调研,了解企业需求,结合师资队伍中存在的教师的项目经验,开发实训和实习的项目,结合项目指导学生结合理论进行相关学习。这个在嵌入式课程学时结束后,用1个月左右的时间来指导学生组成项目组完成于企业结合比较紧密的项目开发。

3.举办嵌入式系统技术讲座:可以根据学生的需要,邀请来自公司企业的工程技术人员进行专题讲座,使学生能接触到最新的知识和实用技术,并了解社会对嵌入式系统人才的具体需求。

4.建立开放的实验室,对有兴趣的同学安排实训和实习课题: 实训课题实行“三级指导”(全指导,半指导,零指导),使教、学、练紧密结合。每个实训课题一般安排两个项目,第一个项目学生在老师的指导下,实行实训过程的全指导;第二个项目主要是结合教师在企业的项目基础(实习课题),从项目需求分析开始,先由学生来完成,老师再参与其中,从这个过程慢慢的从半指定到变为零指导,来锻炼学生进行项目实施的能力。

四、总结

从独立学院立足培养创新,应用型人才出发,独立学院嵌入式课程改革目前有了一定的成效,但是开设嵌入式教学还在起步阶段,存在着很多不足,这就要求教师紧跟嵌入式技术的发展,不断提高教学与教师的实践能力,努力完善嵌入式课程体系,争取能达到学生毕业后迅速从事嵌入式软件的开发及设计的目的。

参考文献

[1] 谢川.应用型本科嵌入式课程教学研究.重庆工商大学学报(自然科学版) , Journal of Chongqing Technology and Business University(Natural Science Edition), 2011年04期

第6篇

关键词:嵌入式系统;CDIO教育理念;做中学;工程师

中图分类号:G424 文献标识码:A 文章编号:1009-3044(2016)36-0153-02

嵌入式系统以应用为中心,计算机技术为基础,软、硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统,涵盖嵌入式硬件和软件两大部分。随着信息化,智能化,网络化的发展,嵌入式系统应用将获得广阔的发展空间,其应用领域包括:工业控制、交通管理、信息家电、家庭智能管理、POS网络、环境工程、国防与航天等。尤其是物联网时代的到来,更加推动嵌入式技术的发展和应用。

嵌入式行业的快速稳步发展,对嵌入式系统工程师的人数要求和能力要求不断提高。华清远见2013-2014年度的行业调查数据的结果显示,目前从事嵌入式开发“不到1年”和“1-2年”的工程师所占的比例依然是最大的,分别是38%和20%,占总参与调研人数的58%,对比去年增加了4个百分点,而具备相对丰富开发经验的嵌入式工程师(2年以上工作经验)则占总调研人数的42%[1]。分析得出,嵌入式企业的发展速度和专业人才的成长速度依然有一定的差距,行业内嵌入式工程师供不应求的状态扔将持续。

我国通常情况下是在工作中培养工程师,在校园里主要教授理论知识。而世界上好多大学,其中著名的麻省理工学院,瑞典皇家工学院等大学培养模式对工程师非常重视。我国经济的发展对工程师的需求越来越多,本文研究引入我国的CIDO工程教育理念,探索在校园里以CDIO工程教育模式对嵌入式系统原理和应用课程的改革和实践。

1 CDIO教育理念

CDIO是麻省理工学院等四所大学共同创立的工程教育改革模式,表示构思(Conceive)、设计(Design)、实现(Implement)、运行(Operate),包括三个核心文件:1个愿景、1个教学大纲、12条标准[3]。CDIO的愿景是为学生提供一种强调工程基础的、建立在真实世界的产品和系统的CDIO过程的背景环境基础上的工程教育。CDIO的教学大纲对学生提出了4个层面的能力要求:基础知识、个人能力、团队协作和工作系统能力。CDIO 理念不仅继承和发展了欧美20多年来工程教育改革的理念,更重要的是系统地提出了具有可操作性的能力培养、全面实施以及检验测评的12条标准。

我国的高等教育缺少培育高级工程师的理念和实践,CDIO理念对我国工程教育课程改革具有重要的借鉴意义。2005 年起,汕头大学执行校长顾佩华教授在汕头大学工学院引入CDIO理念,开始研讨并实施,提出了 EIP-CDIO 培养模式,即职业道德(Ethics)、诚信(Integrity)和职业素质(Professionalism)与CDIO 有机结合以培养高级工程专业人才为目标的高等工程教育新模式[2]。2008年4月,教育部高等教育司发文成立“CDIO工程教育模式研究与实践课题组”。2010年4月,全国共有39所高校开展CDIO试点工作,这种规模还在继续扩大[3]。

2 CDIO理念在嵌入式系统原理和应用课程教学中的应用

2.1 嵌入式系统原理及应用课程特点、教学现状、培养目标

我院的《嵌入式系统原理及应用》基于ARM处理器,嵌入式Linux操作系统的嵌入式开发平台。课程具有综合性强,实践性强等特点。理解并掌握嵌入式系统的开发需要具备的知识有:嵌入式C语言,嵌入式Linux操作系统,嵌入式Linux应用开发,ARM处理器平台及其接口硬件开发,嵌入式Linux下常用接口的驱动开发和应用程序开发。每项知识点的掌握都需要通过在开发平台上实践、理解、消化、吸收。

以往,由于教学大纲规定了理论课和实验课各自的学时数,排课时理论课安排在教室上课,实验课学时较少。教学目的是让学生掌握抽象的理论知识,培养目标是追求知识的面面俱到,在课堂上“满堂灌”地“传授知识”,考核以期末试卷的分数决定成绩的高低,造成了学生不理解理论知识的内涵,不会把理论知识应用在实践中,考试前死记硬背知识点。许多理论知识在结合实验平台的动手编程中可以轻松理解,有些通过查资料了解的知识点也要背诵,给学生增加了额外负担,降低了学生的学习兴趣。实验教学由于学时少,学生对实验环境的调试不熟练,对开发平台理解不够透彻,即使做了几个验证性实验,对嵌入式系统的原理和应用在认识上不清楚,会打击学生学习嵌入式系统的热情,造成对嵌入式技术开发的兴趣不浓,以至于毕业后有人拒绝做嵌入式系统的开发工作。

2.2 CDIO理念的嵌入式系统原理及应用教学改革与实践

2.2.1 教学理念的改革

当今社会处于知识大爆炸的时代,想通过一学期的嵌入式原理及应用一门课程把嵌入式系统的理论知识和技术应用熟练掌握难度比较大,为使学生在有限的教学时数内灵活掌握和运用嵌入式系统的知识和技术,毕业后成为合格的嵌入式系统开发或应用工程师,需要改变传统的以“教”为主的教学理念,现在以“用”来组织教学逐渐成为高校教学的共识,向实行工程教学方向的改革。国际工程教育改革的新成果:麻省理工学院等经过四年的探索研究,创立了 CDIO 工程教育理念,目前国内外很多高校实施CDIO教育模式,如美国的麻省理工学院、宾夕法尼亚州立大学,英国的利物浦大学,贝尔法斯特女王大学,澳大利亚的悉尼大学,昆士兰理工大学等;国内的汕头大学、北京石油化工学院、燕山大学、合肥工业大学、北京科技大学、长春工业大学、昆明理工大学等高校。

结合计算机科学与技术专业的专业特色,嵌入式系统原理及应用课程的特点,在这门课上实施CDIO工程教育理念。每年安排学生到公司实习,教师到公司了解学生的实习情况,定期和公司探讨技术的发展和需求,合理调整每一轮的教学。现在课程设置上重实验环节,教学场地设在实验室,实验结合理论,以动手为主,遵照标准6、7。

2.2.2 教W内容的设计

教学内容应紧密围绕教学大纲展开,CDIO强调教学大纲的设计与培养目标的确定应与产业对学生素质和能力的要求逐项挂钩。这就要求教学内容的设计和培养目标上要紧紧围绕CDIO大纲的四个层面开展:基础知识、个体素质、团队合作能力、工作系统能力。

1)以项目为导向的教学内容

按照CDIO的培养目标,把嵌入式系统及原理的教学内容进行调整,以项目为导向的培养模式进行教学。总结理论知识,实验平台的构成,学生的学习能力,把嵌入式系统及原理的教学分成若干个项目模块,每个模块提出明确的要求,需要达到的目标,如表2所示。

表2 以项目为导向的教学内容及培养目标

[标号 项目题目 培养目标 知识 个体素质 团队合作能力 工作系统能力 1 Linux驱动程序的编写 相关的数据结构,驱动程序编写过程,加载、卸载方法 组织知识,动手实现。 互相交流,取长补短。 Linux系统的驱动程序,Linux系统的驱动工作方式。综合运用系统知识能力。 2 基于Linux的跑马灯驱动程序、应用程序的编写 GPIO口的驱动方式。 组织驱动程序的数据结构,动手实现。 互相交流,取长补短。 Linux系统驱动程序、应用程序系统调试能力。综合运用系统知识能力。 3 基于Linux的键盘驱动程序、应用程序的编写 Hd7279,数码管,GPIO口等相关知识。 组织知识,实现键盘驱动和简单的应用程序。阅读文档的能力。 互相交流,取长补短。 中断服务程序运用,代码调试,操作演示。综合运用系统知识能力。 4 简易计算器的设计 Hd7279,数码管 阅读文档,实现计算器功能 互相交流,取长补短。 中断服务程序运用,代码调试,操作演示。综合运用系统知识能力。 5 基于Linux的LCD驱动程序、应用程序的编写 S3C410控制器,OMAP3530 MCU 组织知识,实现LCD驱动和简单的应用程序。阅读文档的能力。 互相交流,取长补短。 代码调试,操作演示。综合运用系统知识能力。 6 LCD应用程序设计 Lcd画线,画弧,画圆,汉字,图片,

研究算法,阅读文档 互相交流,取长补短。 LCD屏的系统应用设计、代码调试、操作演示。综合运用系统知识能力。 7 综合设计 贪吃蛇,飞机,太空大战,五子棋,俄罗斯方块等小游戏 研究算法,阅读文档,综合能力提高 互相交流,取长补短。 系统设计、代码调试、完善设计系统、操作演示。综合运用系统知识能力。 ]

2)鼓励学生自主创新、以赛促学

经过课堂上按照CDIO的培养目标执行,学生的动手能力明显提高。掌握了项目开发的基本思路,结合实际应用鼓励学生自主创新、以赛促学。嵌入式系统课程依托各类大学生科技创新竞赛活动,建立了内容丰富的开放式第二课堂,拓展和延伸了教学空间。如通过组织、培训学生参加大学生机器人大赛、物联网设计竞赛、电子设计竞赛、嵌入式设计竞赛等科技创新活动,培养学生分析问题、解决问题的能力,以及勤于动手、团队协作和勇于创新的精神。学校还邀请企业技术骨干作为指导专家,从工程的角度向学生传授企业开发习惯、项目分析管理经验、企业开发规范等知识,并定期组织学生参加生产实训,使学生在真实的工程情境中开展学习和实践,为他们将来从事嵌入式相关领域的工作打下坚实基础。

2.2.3 “做中学”的教学方法

“做中学”是约翰・杜威提出的学习方法,认为“做中学”也就是“从活动中学”、“从经验中学”,指出:“从做中学是比从听中学更好的学习方法。” 它把学校里知识的获得与生活过程中的活动联系起来,充分体现了学与做的结合,知与行的统一。[4,5]总理曾强调“在做中学才是真学,在做中教才是真教。”嵌入式系统原理与应用的教学,改变传统的以课堂教授为主,以考试成绩评定学生成绩的考核模式。提前告知学生预习每个模块涉及的基础知识,文献资料,技术资料文档,课上提示这些基础知识在模块上的应用方法,概要讲述文献资料阅读方法。学生思考、设计模块功能,调试代码,在硬件系统上观察结果。通过调试,遇到问题反过来继续研究基础知识,精读研发用到的技术资料。这样几个模块调试下来,学生的进步很大,内心成就感满满,对系统的调试技巧熟悉得很快,接下来的模块学习主动性提高,提出问题、分析问题、解决问题的能力明显提高。嵌入式系统应用是一门综合性很强的学科,经过“做中学”的培训,学生很容易把几门相关课程联系起来,主动查找资料、主动实践,享受学习带来的乐趣。

2.2.4 考核方法的改革

CDIO的评价方法重在能力培养。[6,7]嵌入式系统原理及应用基于CDIO教育理念教学后,在考核方式上做了重要调整。考核贯穿整个教学过程,每个模块的设计思路、代码编写、调试技巧、调试能力、操作演示、设计改进、阅读技术资料能力,结合学生的实际动手能力给出全方位的评价。

3 结论

基于CDIO理念的嵌入式系统原理及应用教学,实践下来发现学生的反馈效果较好,充分调动了学生的学习主动性,动手实践能力明显提高,加强了同学间的团结合作能力,体现了以学生为主体的教学理念。

参考文献:

[1] 2013-2014(第六届)中国嵌入式开发从业人员调查报告.

[2] 顾佩华,沈民奋,李升平,等.从CDIO到EIP-CDIO――汕头大学工程教育与人才培养模式探索[J]. 高等工程教育研究,2008(1).

[3] 顾佩华,包能胜,康全礼,等.CDIO在中国(上)[J].高等工程教育研究,2012(3).

[4] 查建中.论“做中学”战略下的CDIO模式[J].高等工程教育研究,2008(3) .

[5] 查建中.工程教育改革战略“CDIO''与产学合作和国际化[J].中国大学教学,2008(5).

第7篇

关键词:嵌入式系统;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.

第8篇

关键词:嵌入式系统;实践教学;ARMCortex―M3

中图分类号:TP368.1-4

嵌入式系统的最主要目的是满足生产过程中的部分特定用途。嵌入式系统的核心在于硬软件设计协同性的体现。因此,在有关“嵌入式系统”的教学过程当中,对学生所掌握的硬软件知识均有着严格的要求。本文在对目前我国电子信息工程专业的教学模式进行深入分析后,从“嵌入式系统”的内涵、需求与体系上着手,对电子信息工程“嵌入式系统”实践教学课程内容的相关信息进行进一步的整合,在ARMCortex―M3的基础下,全面探讨“嵌入式系统”实践教学体系的可行性。

1 “嵌入式系统"教学的相关理论

1.1 “嵌入式系统”教学的人才需求

就现阶段电子行业的发展状况看,嵌入式的硬件工程师、系统工程师与应用工程师三种工程师是电子市场所急需的。按照市场需求的相关因素来进一步分析表明:对嵌入式硬件工程师主要技能要求偏向于在电路、驱动程序和板级支持包;嵌入式应用工程师考核重点是在嵌入式系统下,能对平台软件进行可利用式的开发;而嵌入式系统工程师则要求工程师能在操作技能与移植技能上有所建树并完成硬件平台与软件程序的高效对接。就一般电子信息工程专业来说,学生对信号与电子设备的掌控程度、对整体知识的运用已属于最高的要求。就专业的特性因素来说,三种类型的工程师有内在相关度,都属于嵌入式人才需求类型的方向。经过对以往电力型人才的运用经验发现,在嵌入式中的硬件工程师与系统工程师更为契合,而嵌入式应用工程师则更偏向于计算机科学体系。

1.2 “嵌入式系统”教学改革的主要方向

首先,“嵌入式系统”教学改革需要兼顾理论,关注实践:“嵌入式系统”教学具有很强的实践性特征,为了能够针对不同的嵌入式应用,做出不同的变化与创新,就需要学生掌握坚实的理论基础。同时,“嵌入式系统”教学也需要以实践为重点,突出教学过程的实验性。特别是针对验证性的实验教学而言,实验的结果并不能作为评价学生的唯一标准,而需要对学生获取实验结果的过程加以突出的关注,使学生能够在反复进行程序调试的过程当中,对实验方法进行合理的改进与调整,逐步提高学生分析并解决问题的能力。

其次,“嵌入式系统”教学改革需要确保所选取实验项目的合理性。在“嵌入式系统”的教学过程当中,良好的实验项目要求体现其综合性、以及创新性特征,将学生既有的知识点充分调动起来,解决问题,将被动的应付学习状态改变成为主动思考,并积极应对的学习状态。同时,所选取的教学试验项目还应当具有一定的柔韧性,使学生能够具备弹性化的思维空间,将学生个性充分激发出来,以达到提高学生思维活跃度、以及创新能力的目的。

2 Cortex-M3 “嵌入式系统原理及应用"教学实践

2.1 通过对课程内容的整合并从信息工程的发展实际出发,电子信息工程专业在经过认真思考后选取了以Codex-M3为教学内容的内核、以STM32处理器为教学实验对象的教学体系。其主要的教学实践流程为:在学生充分了解cortex―M3的体系、掌握其结构的基础上,在最近研发的cortex-M3内核处理器STM32的有效引导下,对嵌入式操作系统的任务进行合理调度,在ARM公司“嵌入式系统”的有效经验下,完成51单片机的转化。此实验的体系有四个组成部分,即: ARM codex―M3体系,STM32系列处理器、内核处理器和嵌入式操作系统C/OS―lI。校方以精选的4本教材和特质的参考书作为学生学习的模本并全方位扩宽学生查阅资料的渠道。依据模块的选择教科书选用了以下知识模块:《嵌入式系统设计与实例开发――基于ARM微处理器与~C/OS―II实时操作系统》、《ARM Codex―M3权威指南》、《STM32系列ARM Coaex―M3微控制器原理与实践》与《嵌入式实时操作系统》

2.2 实验平台的选择

通过对实施嵌人式实验进行全面的规划,并对此硬件载体深入了解后表明,传统的实验箱模式中存在有限制性因素,STM32仿真学习套件STM3210B更符合试验的要求。该套件采用在核心与性能上都进行了优化并支持USB下载程序和供电,因此极具便捷性。另外,此平台将仿真器与目标有效结合而极具效益。

2.3 实践流程的设计

在对有效信息进行整合后发现,实践的环节分为三个部分即实验、课程设计和毕业设计。实验部分按课时计算有18个,课程设计按天数计算为两周。在试验中,要求学生学习要点中必须具备:计算机的组成、系统的结构、单片机原理的运用、微机原理与汇编语言程序,并将重点定为对指定ARM系统的编绘,克服嵌入式系统中的各种操作难点。在对老师选择上,采取试验课老师与教学课老师交替担任的模式,最大限度地实现教学与实践的同步性;在课程设计上,要求学生有效将理论应用于实际,在实验平台的要求下,促使具体任务的完成。通过对以往开发板例程中经验的整合,结合当今的开发环境,分6个部分进行实验。如下表(表1)所示:

通过实验发现,嵌入式系统的程序的庞大性,增加了学生在特定的课时内进行透彻掌握的难度。据此,在试验时,应对工程模板进行合理的调整,提醒学生修改编写关键代码并保持设置的合理性,有序进行试验并设计分值,根据实际情况对操作分进行定量选择。另外,增加学生对Source Insight和BeyondCompare两个程序的认识并能有效将其运用到文本与软件中,进一步促使编程效率的提高。整个试验由两个部分组成即实际操作、实验报告,其中,操作占60% ,报告占40%。具体的课程设计内容,要求学生在实验平台上完成操作系统的移植,有效管理多个系统任务并进行任务调用。“嵌入式系统”实践教学根据医生试验流程运行了两届,学生的接受程度有了明显的提高。但是由于其处于发展的初步阶段,在教学的实践与结构上仍需进行持续的改进。

3 总结

综上所述,通过对“嵌入式系统”教学进行相关的试验后表明,“嵌入式系统”课程是电子信息工程专业课程经过不断改革后的最具可行性的课程体系,其教学的需求适应时代的发展、知识的体系利于学生对专业知识的吸收、内容模板更具组合的高效性,因此,“嵌入式系统”教学在电子信息工程专业中有巨大的研究价值。另外,“嵌入式系统”教学在形成中所存在的弊端,有望于教育者在实践中进行不断总结与改进以促使其动态体系的形成,争取让电子信息工程专业的学生能用最快的方式、最好的方式去掌握最深层的、最全面的专业知识。

参考文献:

[1]施文娟.电子信息工程专业嵌入式系统教学改革的探索[J].林区教学,2011(06).

[2]王维博,王海滨,叶凯.电子信息工程专业嵌入式系统教学的改革探讨[J].中国电力教育:上,2010(04).

第9篇

关键词:嵌入式软件;体系结构;课程研究

作者简介:王小妮(1977-),女,山东威海人,北京信息科技大学理学院,讲师。(北京 100192)

基金项目:本文系北京信息科技大学“嵌入式系统及应用”课程建设项目的研究成果。

中图分类号:G642.3 文献标识码:A 文章编号:1007-0079(2014)08-0104-02

中国拥有世界最大的嵌入式技术市场,在手持仪器设备、信息家电、城市建设、工业控制、军事应用等领域,嵌入式技术无处不在。[1]数字化、智能化、网络化的趋势将使传统设备逐渐转变为嵌入式设备,因此嵌入式软件对改造和提升传统产业有重大作用。我国嵌入式软件应用规模为世界第三,在中国软件前10家企业中,嵌入式软件产品生产企业占了6家。企业对嵌入式人才需求,如软硬件设计人才、应用开发人才、综合性人才的需求也逐年增加,企业同时增加了大量嵌入式软件方面培训项目,员工工资待遇逐渐上升。华为、中兴的成功可以提供一种模式,就是发展嵌入式软件,将传统的纯硬件制造业提升为软硬件一体化的嵌入式设备制造业,这样就可以使IT制造业有较高的增加值,更强的竞争力。据有关数据表明,2006年与嵌入式软件对应的设备市场全球出货量达到14亿台,2009年达到22亿台。与之相对应的是,2006年中国嵌入式软件的市场价值是220亿元,到2010年达到550亿元。移动嵌入式产品将是未来消费电子类产品增长最快的领域之一。嵌入式技术发展趋势要求从8位单片机应用向16位、32位的嵌入式微处理器转变,并实时操作系统管理软硬件,而嵌入式操作系统则是驱动硬件系统的灵魂。因此,通过嵌入式软件增加产品的附加值无疑是最好的选择,嵌入式软件对改造和提升传统产业有着重大作用。中国工程院院士倪光南强调,我国IT行业应大力发展嵌入式软件,提升我国IT产业的核心竞争力。

对于处于高速发展时期的嵌入式技术及物联网技术时代,嵌入式软件方向课程的教学也在各大院校中开展起来。要培养适应社会需求的嵌入式技术人才,在设置嵌入式软件方向课程时,要结合市场需求,制订相应的嵌入式软件设计这门课程内容。

一、嵌入式软件概述

嵌入式软件实现嵌入式计算机系统功能的软件。嵌入式软件总体上可以划分为:嵌入式系统软件和嵌入式应用软件。嵌入式系统软件涉及操作系统的移植、裁减、驱动程序开发,和入式应用软件涉及视频图像、语音、网络等。从运行平台来分,嵌入式软件可以分为运行在开发平台上的软件和运行在嵌入式系统上的软件。运行在开发平台上的软件包括设计、开发、测试工具等。运行在嵌入式系统上的软件包括嵌入式操作系统、应用程序、驱动程序及部分开发工具。[2]从使用工具角度来分,嵌入式软件可以分为系统软件、支撑软件和应用软件,如图1所示。

其中:系统软件:控制、管理计算机系统的资源;支撑软件:辅助软件开发的工具;应用软件:面向应用领域。嵌入式软件系统的体系结构如图2所示:

驱动程序层:是直接与硬件打交道的一层,它对操作系统和应用提供所需的驱动支持。操作系统层:是提高计算机利用率的程序代码,能协调管理计算机软件和硬件资源。汇编语言层:操作系统引导程序对硬件设备进行访问的代码要用汇编语言完成。汇编语言可用于系统的低层软件、加密解密软件、分析和防治计算机病毒等。高级语言层:用C/C++或JAVA语言进行编程实现应用功能,也可以直接使用中间件软件程实现应用功能。应用层:由多个任务组成,每个应用任务完成特定的工作,如I/O任务、计算的任务、通信任务等,由操作系统调度各个任务的运行。[3]

二、嵌入式软件设计课程研究

嵌入式软件设计这门课程可以设计为80课时,其中20课时讲解嵌入式驱动程序设计,20课时讲解ARM体系结构与编程,40课时讲解嵌入式Linux设计。

1.嵌入式驱动程序设计

设备驱动程序是介于硬件和OS内核之间的软件接口,是一种低级的、专用于某一硬件的软件组件。

(1)串行口驱动设计:要熟悉串口通讯原理(包括设置字符的格式、波特率、校验位),查阅ARM串口寄存器文档(包括控制、状态和数据寄存器),查阅电平转换芯片资料(max3232),设计串口硬件电路图,完成串口驱动程序的设计(包括串口寄存器初始化,发送接收函数等)。

(2)键盘驱动设计:学习键盘驱动原理(确定是否有键按下;确定是哪一个键或哪几个键被按下;确定被按键的输入代码;消除按键抖动干扰等),掌握通过CPU的I/O扩展键盘的方法,设计键盘接口电路图,实现4×4的键盘,编程实现键盘的驱动。

(3)A/D接口驱动程序设计:学习ARM 本身自带的A/D 控制器及相应寄存器;掌握A/D转换的基本原理(包括采样、保持、量化和编码);熟悉A/D转换器的类型(包括逐位比较型、积分型、计数型、并行比较型、电压-频率型等类型);编程实现ARM 系统的A/D 功能。

第10篇

关键词:嵌入式;课程群;多应用领域;软件学院

中图分类号:G642 文献标识码:B

1引言

嵌入式系统可以被认为是一种专用的计算机系统,其专业基础知识主要涵盖目前较为成熟的半导体技术、电子工程及计算机技术等,是多种先进技术相互融合的产物。由于嵌入式知识涉及多领域,以至目前在此专业的课程设置上并没有一个明确的定位。计算机学院的嵌入式方向可能侧重应用软件的开发,电子及半导体学院可能更偏重硬件方面,而嵌入式专业开设的目的则是培养软、硬件相互结合的复合型人才。专业自身的特点使得建立一个符合人才市场需求,具有建设性的嵌入式专业课程体系成为必要解决的问题。

2国内外目前嵌入式人才培养及课程设置状况

目前国内有多所高校开设嵌入式系统相关课程,如北京大学、北京航空航天大学等,国外高校如耶鲁大学、剑桥大学等的嵌入式课程设置也有很高的借鉴价值。课程的开设几乎都是针对嵌入式的自身特点,从上层应用软件开发到底层硬件平台搭建被划分成一系列课程。硬件层次方向比较典型的课程有北京大学的“嵌入式微处理器设计”、北京航空航天大学的“可编程器件”及剑桥大学的“System on Chip Design and Modelling”等;而软件层次方向的课程如北京大学的“嵌入式软件设计与编程”、北京航空航天大学的“Windows CE与嵌入式软件开发”及剑桥大学的“Low Power Embedded Systems Programming”(低功耗嵌入式系统编程)等。从各高校的课程设置上也可以看出嵌入式技术为系统软件与硬件的结合。

3面向多应用领域的嵌入式系统课程体系建设

嵌入式系统是一个涉及多技术领域的知识范畴。基于嵌入式系统本身的特点,人才培养不但要掌握电子技术方面的基础知识,而且要对计算机体系结构有比较深入的理解,这就给人才的培养增加了难度。一方面,嵌入式系统的应用性强,技术发展迅速,而更多高校嵌入式专业课程的开设并没有形成系统、完善的课程体系,并没有从最本质的角度去建立嵌入式体系的课程群,仅仅是对一些主流的技术进行课程的设置,影响了教学的效果。另外一方面,嵌入式技术为软、硬件的结合,而某些高校仍然将传统的单片机甚至基本的嵌入式理论知识作为授课内容,在知识的更新上并没有符合实际的需求。因此,建立一个既符合嵌入式系统发展方向,又具有前瞻性的嵌入式系统课程群成为了必要。

本学院针对嵌入式系统本身具有的特点,以“宽基础,强技能”为原则,设置面向多应用领域的嵌入式系统课程群(如图1所示)。嵌入式系统本身的特点,使得本专业学生需要很宽泛的基础知识,如电子专业和计算机专业等的基础内容。因此学院招收的嵌入式方向硕士均为本科专业为电子、半导体及计算机相关学院就读的学生。而在嵌入式专业课程教学前,会对部分学生进行基础知识的加强,开设“C语言与数据结构”,“计算机网络”,“数据库及操作系统”等课程,使得学生在开始系统学习嵌入式知识以前,具备学习的基础。

3.1理论课程体系

嵌入式系统有知识面广、应用领域广等特点,因此多数计算机、电子及自动化专业的基础课程也应该作为先修基础课程,而本学院面向的学生为研究生层次,因此并没有在广义层面上涉及所需要的所有课程,而只是从狭义的范围进行针对性的设置。课程的开设从嵌入式底层硬件知

识到上层应用程序的开发都有一个较好的过渡。

在对于硬件平台方面,不但要掌握基本的、共性的硬件结构知识,还应该具备一些硬件设计的基本流程等,课程安排了如“SOC设计方法”、“EDA技术”等,在此设置上更多侧重对硬件平台的掌握,使得学生在具备基本的电子专业类知识的同时,可以对SOC、FPGA等技术有侧重地学习,以及对此类项目的开发有较深入的理解。

针对操作系统层面的课程开设,学院设置了“嵌入式操作系统”、“Windows CE软件设计”及“基于Symbian OS的手机开发与应用”。在此方面“嵌入式操作系统”应该系统介绍主流嵌入式操作系统,从主要数据结构的角度出发,分析源代码开放的操作系统Linux,辅以μC/OS Ⅱ、RTems等操作系统。课程将重点介绍进程调度、进程间通信、内存管理和I/O驱动机制等,使学生具备裁剪操作系统、移植内核的能力。而对于基于Windows CE及Symbian操作系统的开发,同时也应属于应用程序的层面。两个课程并不是分析两个操作系统,而是基于两个操作系统的上层软件设计。Windows CE及Symbian操作系统在手机开发上占据主导地位,使得开设此课程成为必要。

在上层应用程序方面,学院开设“基于VxWorks的嵌入式软件开发”等课程,并辅助开设部分嵌入式设计方法及工具的相关课程,如“虚拟仪器仪表”、“无线传感器网络”等。这些当前较为流行的设计方法与工具可以在某种程度上提高项目开发的效率。因此,该类课程的开设可以拓展学生的知识面,提高学生研发的进度。

3.2实践课程体系

嵌入式系统知识的实践性很强。学生在学习了理论知识以后,如何能够在实践中掌握并使用所学到的开发方法和技能,是一个值得关注的问题。为此,学院以培养符合社会需要的嵌入式系统方面的人才为目标,充分考虑嵌入式系统开发的关键环节、嵌入式软件开发的特殊性及社会对嵌入式人才知识体系需求的特点等,提出了以多种实践环节,多层次实验项目为主要内容的嵌入式实践课程体系。具体由专业课实验、课程项目、工程实践及毕业设计组成。

在专业课实验设置上,各专业课程设有相应实验内容,根据本专业实践性强的特点,学院规定实验课程学时为理论课程的1/2,以达到在实践中强化知识,锻炼综合能力与检验学习的效果。在实验内容设置上,均侧重理论联系实践的本质,如“嵌入式系统设计”的实验课程设置如表1所示。

学生需要在S3C2410平台上完成表1所列实验。通过实验的完成,学生能够对ARM开发板有了一定程度的了解,完成从理论到实践的转变。同时可以鼓励学生使用开发板进行简单的创新项目开发。

在课程项目开设上,针对某些课程的特点,对实验课程的安排除了基本的专业课程实验外,辅助安排课程项目,如“虚拟仪器仪表”课程,在学习掌握智能仪器仪表的各种技术和理论的同时,通过循序渐进的若干专业课程实验,最终实现对某电工或通讯等方面的大型项目的设计,使得学生对软件工具Labview平台有一定程度的掌握。

工程实践环节是实践课程的重要组成部分,学生需要利用5~6个月的时间完成某中型项目的从可行性分析到综合测试的所有软件规范的过程。其目的是使学生所学各科专业知识得到整合,并让学生熟悉软件工程过程与规范,提高编程能力。学生在完成工程实践后需要提交详细的设计说明书、模块源代码、测试报告等,教师须根据学生提交的文档及源代码进行考核。

3.3公共基础课

学院同时开设了相关的基础课程,如“管理心理学”、“知识产权基础”等。应该说基础课程的开设是与嵌入式行业、学生自身的发展密切相关的,如知识产权与计算机软件的关系,而学生长远的发展也需要管理者的相关知识。这使得此类课程成为了学生必要的知识储备。

4教师队伍建设

建立高水平的师资队伍是教学改革的又一个重要的任务,也是实现建设目标、提高教学质量的关键因素。学院通过引进和培养提高的方式增加了师资的数量,优化了师资结构,提高了教师素质,达到合理师生比。学院教师

中1/3为专职教师,1/3为学院聘请海内外著名企业和大学的专家、教授,1/3为其他兄弟院系的教授及优秀教师。良好的教师组成结构和不同的学术背景使教师能够互相交流,取长补短,融合学术思想和教学观念,对教学起到直接的推动作用。

5总结

嵌入式系统是近几年计算机专业迅速发展的一个方向,各高校也在越来越多地关注这个产业及相应的专业人才培养。建立相应的专业课程体系、实验体系以及教师体系成为当前的迫切需求。本文在对本院几年来嵌入式专业课程设置及社会对嵌入式人才需求进行分析的基础上,从社会的实际需求及人才发展的长远角度,对嵌入式的专业课程体系进行了重组,并对教学内容进行了改革和优化,强化了专业实验及工程实践环节,多方面地对嵌入式知识体系进行了整合。

参考文献:

[1] 魏巍,宋海玉,王玲芬. 嵌入式系统课群的教学实践[J]. 辽宁:大连民族学院学报,2009,11(3):282-285.

[2] 马小军,王育坚. 计算机应用型人才培养与课程建设浅析[J]. 计算机教育,2009(10):9-11.

[3] 凌明,王学香,钟锐. 电子类专业嵌入式系统课程体系建设探索[J]. 电气电子教学学报,2007,29(5):4-7.

第11篇

关键词:软件工程;嵌入式系统;自主学习

嵌入式系统指的是构成更大的系统或设备的专用计算机系统,广泛地应用于生产制造、国防、交通、通讯、消费和娱乐等领域。据统计,每年所制造的绝大部分微处理器(超过99%)被用于各种嵌入式应用中[1]。正是由于其重要性,嵌入式系统得到越来越多的关注,如在搜索引擎Google中以Embedded Systems作为关键字,可以找出超过一千六百万个的相关网页。值得一提的是,与其它软件开发相比,嵌入式系统的开发在需求、设计、测试、维护以至于商业模式上都具有鲜明的特点,对物理尺寸、产品成本、实时性、可靠性、开发周期等方面提出了更高的要求。正是由于这样一些特殊性,使嵌入式系统软件开发人才的培养不能简单地照搬一般的计算机应用人才的培养模式。

传统上,嵌入式系统开发人才主要来自过程控制和信号处理等几个嵌入式应用领域。这些专业开设有相应的基于单板机、单片机或信号处理芯片的嵌入式计算课程,但很多课程内容仅局限于对口的应用领域。在教学安排中,与嵌入式系统相关的内容大多分散在为数众多相关课程中。近年来,一些国内外高等院校开始着手将嵌入式系统作为一个统一的主题来设计课程体系。例如,卡内基梅隆大学的研究者分析了美国本科教育中嵌入式应用的课程,认为,对于嵌入式系统教学至关重要的是要包含相当比例的具有实际动手训练的内容,嵌入式系统的教育和技术、应用一样,应随时间而演变[2]。一些研究者认为当前学术界未能将IT行业中变化的需求有机地集成到嵌入式系统的教育之中,应当消除工业界对毕业生技能要求与大学课程安排中的差异[3]。在开设“嵌入式系统”课程时,通过实验及综合项目的设置为学生引入嵌入式系统设计时所需的软硬件知识[4-5]。

1997年,IEEE和ACM组成联合指导委员会,将软件工程推动为一个独立的职业,并为软件工程的教育提供指导[6]。在2004年形成的SEEK04文件中,就对嵌入式系统的教学做出了相应的指导。作为系统应用专业之一,嵌入式和实时系统包含了嵌入式系统硬件、开发语言和工具、时序问题和硬件验证等内容。其他相关知识还包括分散在航空与车辆专业、工业过程控制专业、小型及移动平台专业中的一些课程。但是,这一指导较为抽象,提供了不同环境和需求下的很多变化空间。为了迎接软件产业的快速发展,自2002年起,我国设立了一批国家级示范性软件学院,培养软件工程专业的本科生和工程硕士。其培养目标是国际型、工程型和应用型的软件行业领军人才。由于中国经济的蓬勃发展,对嵌入式系统人才的需求非常旺盛。探索在软件学院的教学中,开展有效的嵌入式系统内容课程设计,有着迫切性和重要意义。

1 “嵌入式系统”课程设计的挑战和制约

和其他高速发展的领域一样,软件工程教育中面临技术进步带来的持续的挑战,对于与实际应用关系更为密切的嵌入式系统教学而言尤为突出。首先,硬件的高速发展和进步使得嵌入式系统教学的内容和所需的实践平台只有不断变更才能追赶这种变化的步伐。如4位的微控制器仍在一些场合有效地工作,但多核处理器成本的下降正使其成为新的嵌入式平台。从工业现场总线到无线传感器网络,从专用的DSP到功能强大通用的PC,从少量的EPROM到带高速缓存的大量存储,每一种硬件平台在不同的应用中都发挥重要的作用。在以软件工程为背景的“嵌入式系统”教学中,必须根据市场定位制定独立的教学目标,从而安排合理的与硬件相关的教学内容。

其次,嵌入式计算应用的复杂程度在不断增加。早期的嵌入式应用只包含单一任务,控制流在应用程序和中断服务例程之间进行转换,物理信号和人机操作等数据传递也相对简单。但是,新的嵌入式应用往往需要多任务、与其它系统密切交互以及灵活的操作方式,让开发变得越来越复杂。应用的复杂程度增加也造成测试的规模和复杂度增加。因此,在教学中需要涉及的问题还应包括产品质量保证和开发过程的改进。

同时,团队式工作环境和沟通技能的培养也是嵌入式软件教学无法忽视的问题。现代软件开发已经从个体开发、手工作坊式开发过渡到了产业化开发,需要工程化的规范管理。任何软件产品都需要团队合作才能完成。无论团队规模大小,都需要与独立开发不同的软件文化。在以往的嵌入式教学中,重点在于培养学生独立的设计与实施技能,缺乏对在团队环境中有效地协同工作能力的培养。我们认为,嵌入式系统开发既需要个人独立完成特定任务的技能,也需要让个体融入团队来完成更复杂的协同开发。同时,由于嵌入式系统需要深入的应用领域知识并且常常要求开发者直接面对最终客户,沟通技能和展示技能也非常重要。

此外,开发工具和技术的发展也对嵌入式系统的教学提出了挑战。硬件制造商和软件开发商意识到嵌入式系统开发的重要性,新的硬件开发平台、测试工具、设计软件、调试软件、和其他支撑软件陆续地进入市场。这些工具和技术提升了嵌入式系统开发的效率和质量,也加大了掌握这些工具所需的成本。

除了上述来自不同方面的挑战之外,“嵌入式系统”教学需要考虑大学的教学环境带来的制约。首要的制约就是授课教师的背景和知识构成。很多大学教师虽然接受了完整的理论训练,具有相关专业博士学位,具有较好的学术研究背景,但缺乏具体的嵌入式系统开发经验。其次是课程总学时的制约。在四年的本科教学中,软件工程专业的学生通常要完成超过1800学时的课程,这些课时中可供“嵌入式系统”教学独立支配的时间非常有限,使得“嵌入式系统”教学内容必需做出取舍。另外,教学资源也造成了“嵌入式系统”教学限制。在教学中,有价值有意义的实验或项目需要一定的硬件平台才能完成,而这些实践环节必需达到一定的时间长度,具备和现实开发环境相似的复杂度才能让学生获得正确的认知。这就要求大学必须扩大投入以创造相应的教学环境。因此,在设计教学内容时,必须考虑这些挑战和约束。

2嵌入式软件人才培养需求

企业对毕业生的技能期望直接影响到课程体系的安排。事实上,在和等搜索引擎以及和等国内外求职与招聘网站中可以容易地找到大量的有关嵌入式系统工程师的工作信息。我们以Embedded Engineer和嵌入式系统工程师为关键字在上述网站中分别找到的相关结果中随机选取100个不重复的职位需求作为样本进行分析。这些职位所包含的应用领域很广,包括电信、设备制造、应用平台、汽车电子、医疗、航空航天、军工和工业控制等行业。其中,来自企业的职位需求呈现出明显的多元化。一般地,初级职位对于专业领域的经验没有要求或要求较低,但是随着职位级别的上升对于应用领域的知识要求逐渐增加。剔除掉对工作年限和具体专业领域知识的要求,我们按照对学历、专业、经验技术技能,及非技术技能,在所搜寻到的职位要求中找出对应的重复率超过50%的要求,如表1所示。除此之外,了解微处理器架构,熟悉一种以上的汇编语言,熟悉数字信号处理,掌握数字调试工具,了解严格的软件过程(如CMM或CMMI),具备快速学习以掌握新技术的能力也频繁出现。

可以看出,由于应用领域的广泛性,企业对于嵌入式系统开发人员的主要要求不在于对某些特定工具和技术的掌握,而更加看重整体的通用嵌入式系统开发技能和经验,这也从一个角度验证了在软件工程教育中把嵌入式系统作为一个统一主题安排教学的可行性。同时,也可以看出,良好的软技能对于嵌入式工程师而言,也是极具价值的。在我们的嵌入式系统教学设计中,来自企业的人才资质需求是一个重要的依据。

较低的劳动力成本、较高素质和供应充分的人才群体使近年来我国的软件外包领域一直保持着较高的增长速度,成为嵌入式系统人才需求的重要来源。目前我国软件外包集中在对日外包(据信息产业部2006年中国软件行业年报,其比例接近60%)。根据我们的调查,日方当前对外包人才的要求主要体现在非技术因素上(见表2,来源:日立系统软件株式会社),而这正是在传统的教学中有所缺失的内容。调查表明,目前国内所培养的软件人才存在很明显的弱项,如外语水平低、掌握新知识慢、工作计划性差、大生产和工程能力薄弱、创造性不足、交流沟通能力低下。这说明在传统的教学中软技能常常被忽略。

3 “嵌入式系统”课程设计

我们认为,在“嵌入式系统”教学中应该涵盖嵌入式系统开发所需的核心技术技能和关键软技能,并尽可能地为学生提供完整的、系统的动手实践环境。根据调查,在现有的本科阶段嵌入式软件教学中,学生缺乏获得下列认知的环境:软件是一种满足客户需求的产品;软件开发是一个需要管理的过程;学会学习难于学会使用一种工具。因此,在课程体系设计时,我们的指导原则是:强调培养学生自主学习能力,侧重基础概念和理论知识,偏向分析与设计能力,让学生在实践中获得知识和掌握工具,在硬技能的教学中提高软技能。其中,自主学习包括自主学习观和自主学习方法的培养[7]。为了保证自主学习的效果,教师需要积极引导,制定循序渐进的方案,提供学习所需环境和资源,并给予及时的帮助和指导。为此,我们在课程中创建团队学习的机制,保持同伴间的压力[8]。

在“嵌入式系统”课程体系中,按照嵌入式系统相关的三个生命周期,即嵌入式系统软件开发生命周期、项目管理生命周期、和软件执行生命周期来组织教学内容。在课程体系中,作为软件工程基础的共性课程,如编程语言、计算机组成原理、软件体系结构、面向对象分析与设计、用户界面设计、操作系统和计算机网络等课程构成了嵌入式系统教学的先修课程。而信号与系统、电子学、计算机控制、电路原理、信息安全、移动计算等课程组成领域知识基础,为学生深入应用领域奠定基础。连接软件工程基础与应用领域基础的是由两阶段课程构成的嵌入式系统核心课程:“嵌入式系统分析与设计”和“嵌入式系统综合开发项目”两门课程。

第一阶段课程“嵌入式系统分析与设计”中讲授抽象的建模、分析、设计、验证的概念和原理,通过小规模的演示和实验导入嵌入式系统开发的基础,并让学生接触嵌入式开发的软硬件环境。在嵌入式系统分析与设计课中,授课内容包括嵌入式系统的软硬件基础、实时操作系统、嵌入式系统的开发平台和开发过程。课程讲授的核心是分析的方法和依据、评价和选择的推理过程、验证方法和测试原理等模型化、形式化和抽象化的内容。虽然和软件工程先修课程有一定重叠,但是强调解决嵌入式系统问题的具体背景和特殊性。至于实现和测试等具体的技术细节,在讲授时只做有限的介绍,而通过实验和项目让学生动手去了解一个实时操作系统、硬件开发平台和调试工具。为了激发学生学习的兴趣,所有的动手实验一定要产生可以演示的成果。在这一课程中,教师应当鼓励学生从抽象化和形式化两个方面更深入地认识嵌入式系统,并且联系工程中共性的活动如规划、度量、测试、和合理假设。具体地说,嵌入式系统与外界的接口是嵌入式系统创新的重要来源,因此,接口原理和设计、评价方法是教学中的重要组成内容。举例来说,在很多教材中,嵌入式系统与开发者的接口常被忽略,但是,从开发企业的角度出发,涉及系统诊断、测试、维护、升级等任务的开发接口,应该在大学中就被学生了解,让学生能从产品的视角看待嵌入式软件,而不仅仅是老师布置的作业。

在第二阶段课程“嵌入式系统综合开发项目”中(大学四年级学习),要求学生同时完成项目管理和软件开发两个生命周期。由学生分组模拟嵌入式软件开发团队,在团队中每个成员分配不同的职责并至少轮换一次角色:由一名学生担任团队精力领导,另一人担任现场客户的角色。教师并不给出具体的任务和步骤,而只是制定开放式的项目目标,并提供基本的实验室资源和项目环境,由学生完成开发的全过程。在这门课中,我们建议教师承担类似导游的角色,组织学生、制定纪律、安排路线、将学生带入不同的场景,但是欣赏与探索的工作应由学生来主动完成。作为监督者和评价者,在小组开发方向出现重大偏差时教师应及时指出问题并提出建议。在总结和推广阶段,教师负责总结学生的观察并联系到相关的理论上。这一阶段的课程,教师的主要任务是营造接近真实嵌入式系统开发的背景,让学生全面系统地把握作为过程的嵌入式系统开法和作为产品的嵌入式软件,并且要求学生以主动学习为主,掌握方法、平台和工具的实际使用细节,并且得到改进各项软技能的机会。以一个工业控制项目为例,在实验室里配备PC机和输入输出板卡,教师提供C语言编程规范、各种文档的模板、Linux、GTK、Comedi和RTAI的有关网站等材料。学生要进行资料搜集和分析、制定项目规划、完成软件架构设计、完成人机界面的设计、编码、调试和测试,最终提交过程文档并展示和推销产品。这样,在第二阶段不仅是简单的再现第一阶段所引入的知识,学生通过动手获得技能,加深了对同一主题的认识。第二阶段中开放的项目环境可以留下更多更灵活的空间让学生发挥创造力。在规定时间内让学生完成从需求采集到验证与测试所有的软件开发阶段,通过团队形式的开发,学生可以了解到在团队工作的意义。

4总结与评价

在华中科技大学软件学院,与工业界的合作对开设的“嵌入式系统”课程中起到了积极的作用。例如, Intel公司捐赠部分Xscale和多核开发平台,提供了相应的开发工具和案例。Sun和Symbian等公司为教师提供免费培训,也拉近学术界与工业界的距离,让教师接触到工业界最新技术和成果的机会。值得一提的是,教师与企业合作开发的项目构成了嵌入式系统综合设计课程中的项目背景的重要来源。在本文中,我们分析了嵌入式系统发展的趋势和对软件工程教学提出的挑战,根据大学教学中的时间和资源制约,设计了由软件工程基础课程、嵌入式系统核心课程和应用领域基础课程构成的课程体系。在课程设计中,我们的目标是培养学生解决问题的各种抽象和动手能力。根据企业对嵌入式系统人才资质的要求,我们安排了嵌入式系统课程的教学内容。我们在华中科技大学开设的嵌入式系统综合设计课程为学生获得动手经验提供了自主学习的环境,得到学生的认可。与工业界的合作可以弥补大学教学资源上的不足。在所发现的问题中,主要是团队成员对项目的参与度并不一致,个体贡献大小可能非常悬殊。即使安排了角色轮换,但在时间压力下,部分团队成员自愿承担大量关键的工作,导致学生的收获有所差异。其次,在综合设计课程中,由于不存在真实的用户,很多学生仍然习惯把教师当作用户,当教师不能提供所需的信息,如需求和评价时,学生可能会放松对质量的要求。这些问题对于课程的改进具有积极的价值。

参考文献:

[1] J.Turley. Embedded Processors by the Numbers[J]. Embedded Systems Programming, 1999,12(5):13-18.

[2] P. Koopman, H. Choset, R. Gandhi, et al. Undergraduate Embedded System Education at Carnegie Mellon[J]. ACM Transactions on Embedded Computing Systems, 2005,4(3):500-528.

[3] S. Pak, E. Rho, J. Chang, et al. Demand-driven Curriculum for Embedded System Software in Korea[J]. ACM SIGBED Review, 2005,2(4):15-19.

[4] H. Wang, T. Wang. Curriculum of Embedded System for Software Colleges: Proceedings of the 2nd IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications, Beijing, August 13-16, 2006[C]. Beijing:CMES,2006:1-5.

[5] H. Gross, A. Van Gemund. The Delft MS Curriculum on Embedded Systems[J]. ACM SIGBED Review,2007,4(1):1-10.

[6] IEEE Computer Society/ACM Joint Task Force. Software Engineering 2004 - Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering[EB/OL].[2004-8-25]. /ccse 2004.

[7] 林毓 . 学生自主学习与相关教学思想[J]. 高等教育研究, 2006(12):16-18.

[8] S.R. Hall, I. Waitz, D. Brodeur ,et al. Adoption of Active Learning in a Lecture-based Engineering Class[J]. Frontiers in Education, 2002,1(12):71-75.

Study on Teaching of Embedded System in Software Engineering Major

SHEN Gang,HU Wen-qiang

(School of Software Engineering, Huazhong University of Science and Technology, Wuhan 430074, China)

第12篇

【关键词】 团队学习;课题开发;嵌入式教学

【中图分类号】G420 【文献标识码】B【论文编号】1009―8097(2009)06―0136―03

引言

嵌入式系统是当前发展最快、应用最广、最有发展前景的信息技术主要应用领域之一,嵌入式系统知识体系向上

承接电子、电路、计算机软件、微机原理等多项基础知识领域,广泛涉及到信息科学的软硬件各方面,向下发展至 渗透到社会生活各个领域的令人眼花缭乱的应用 。近年来各高校普遍增加开设 嵌入式方面的课程,甚至有的学校直接开始以嵌入式系统为专业培养学生。与此同时,有关嵌入式教学的研讨和探索随着课程的开展一直在进行。

早期的嵌入式系统教学往往停留在以讲概念和讲原理为主的水平上,导致学生学完后“会背书,不会做” ,严重影响教学质量。针对这一现象,许多高校相关领域的教师也做了不少实践探索和尝试。以同济大学为代表的高校在嵌入式课程中率先引入由卡内基梅隆大学(CMU)提出的“Learning by doing”这一适用于工程教学的行之有效的先进教学理念,对嵌入式教学进行了部分改革。许多高校也将课程进行了强化实际动手能力和实践能力的改

进,教学效果取得了一定程度的提高。

一 存在的问题和现状

目前国内现有的嵌入式系统教学仍然存在不少问题。

第一,尽管从原有的单纯的课堂讲解理论知识到现阶段理论课与实验课并重,嵌入式系统教学中的学生动手实践问题已经得到了很大的改善,但是因为现有的多数嵌入式系统教学课程只能脱胎于原有的计算机课程体系,沿袭了传统教学中重课堂教学、轻操作实践, 重原理、轻应用的课程安排习惯。多数学校的课程为建议改为 :以理论课为主,配套一定课时的实验课,但是一般理论课时与实验课时的比例为2:1,甚至为3:1,罕有达到1:1或以上的。而作为辅助的实验课程的设定,主要是配备计算机以及由专门厂商生产的嵌入式系统实验箱,具体实验课程多数为嵌入式系统实验箱配套的实验,一般包含基础实验、基本接口实验、人机接口实验、通信与音频接口实验、嵌入式Linux和WinCE基础实验。实际实验课程以选用基础实验部分为多,选用复杂和高级的实验较少。实验内容则多为依照实验参考书的要求重复实现,少见具有创新性的内容和多样化的要求。课程考试或考察也以理论考试为主,实验课表现为辅。这在一定程度上造成了教师和学生双方面的对实践技能的弱化和忽视。

第二,也有部分院校已经能够以嵌入式系统实验单独设课,则在此课程体系内实验课时比例较大,理论课时减少。在更加强化实践能力的课程体系中,在此基础上开设了时间为1――3周的课程设计,一般包含若干个基础实验内容的综合性设计,这一课程安排已经强调了实践能力和动手能力的培养和锻炼,淡化了纯理论教学。但是在实践中,学生层次的参差不齐、教师精力和水平的限制、课题来源的狭隘性、学生单人实践的有限性这些问题都在很大程度上制约着学生实践创新的效果,往往没有最大程度上体现出嵌入式学习和课程设计的优势,普遍存在着课设 课题固定,缺乏团队合作、缺乏创新等现象。

二 嵌入式系统及其教学的特点

分析嵌入式系统课程的内容和应用背景,不难发现嵌入式系统具有不同于其他课程的特点,使得这门课应该是最具有实践性、创新性、应用性的课程,应该是对学生综合能力进行锻炼和培养的绝佳载体。

嵌入式系统课程体系包含以下几个特点:

1.课程综合性强,既有大量的理论知识,实践中又极度强调应用性;

2.知识涉及面广、 内容庞杂,无论理论和实践都覆盖了软硬件多项领域;

3.课程难易程度和教学重点有多种选择,可作为重点内容讲解的包含实际开发、系统理论、体系结构、软件编程等多个方面;

4.新兴领域多,内容较前沿,嵌入式系统的原理虽然今年没有根本的改变,但是研究和应用往往牵涉到社会生活的新兴领域和科技研究的最新成果。

基于嵌入式系统自身的特点,我们认为嵌入式系统课程一般作为本科生的深入课程,而不应纳入基础课体系。虽然嵌入式系统开发的一个特点就是上手并不复杂,不需要太多的知识储备即可开始简单开发。但是深入了解嵌入式系统以后,会发现其对计算机各领域基础知识的综合应用显得尤为突出,表现为基础知识和能力扎实的学生会在嵌入式系统的学习和开发中取得越来越大的“加速度” 。为了培养出区别于速成嵌入式开发人员的较高层次的

嵌入式工程师,将嵌入式课程作为专业深入类的课程尤为重要。

三 我中心的实践改革

我中心经过几年的探索和改革,已将该课程打造为具有一定工程性质的创新性课程,虽然课程性质仍然为选修,但是已经发展为一个能够培养学生团队合作、创新科研并实实在在有作品、出人才的高端课程。在我们的实践中,许多做法改变了传统课程体系的惯例,但是 也发挥了不错的教育效果,为高等院校教育改革提供了独特的思路。

1 建立课程和学生的前期联系

国内各高校基本已经实现学分制,必修、选修双线修学分的思路是基本一致的。但是选修课,尤其是专业选修课的通病是学生选前不了解课程情况、选后又缺乏有效的调换机制。这 直接造成在本该是学生根据兴趣自由选择的更具有创造性的选修课程中 ,学生的失望多、兴趣低、重视程度低。嵌入式系统课程作为一种一定要依靠学生主动学习的课程,学生是否有热情是最核心的问题,我们虽然不能从学校教务层面解决这一问题,但是我们通过学生社团、学生兴趣小组等学生组织在 有兴趣的学生和本课程之间建立了 良好的联系。课程教师在这些组织中间长期担任指导教师等任务,通过讲座、研讨、指导等活动向学生介绍本课程,同时本课程的选修也接受各学生组织在学生自愿的前提下推荐报名。这样保证了选修该课程的学生对课程有了解、有准备,对工程实践真正有兴趣,有激情,解决了最核心的学生学习热情的问题。

2 采取以学生为主的教育方式

嵌入式系统这一领域具有其自身的特点,其核心内容覆盖了计算机专业的若干基础领域,也包含专门的独有知识,要融会贯通需具备一定的专业水平,但同时它又是一门应用性很强的课程,在环境搭建完成的情况下,上手并不复杂,具备基本的计算机知识就可以简单应用。这就决定了这门课程学生上手易、深入难的现状,往往造成学生浅尝则止,流于表面。

我们必须承认学生的精力也是有限的,将所有的东西全部塞给学生是不现实的,也是不符合工程实践教育的思路的。所以,我们选择了一种团队化、合作化、自主化的教育模式。其核心内容就是将学生组织起来,以团队的形式共同学习,在掌握了基础知识的前提下共同开发,在开发过程中深入学习,教师在这一过程中更多的起到指导、帮助的作用。

本课程的初始,即根据学生熟悉程度、学习基础、个人兴趣和能力将学生分为若干团队,课程全程 学生实验、开发等都以团队整体进行,团队根据每个人的特点自设总负责、子项目负责,完成人员配备和进度安排等工作。教师对嵌入式系统整体概念和开发流程的剖析和讲解必须到位、准确,力求给全体学生建立完整的嵌入式系统体系框架和开发思路。随后教师将协助各团队分析自身情况,建立初期学习思路。在基础学习中,采取实验操作引导原理体会的方式,引导学生先上机、后翻书,边上机、边翻书,在实践中学习。具体实验内容采取小组成员分工实践、定时总结汇报、提问互动交流的模式,使得全体学生对每方面的实验都有所了解,同时每个人又有自己较熟悉的领域,汇报过程中还锻炼了学生总结、表达、分析问题、讨论问题的能力。

在掌握了基本操作能力之后,教师指导学生团队开展基于嵌入式系统的创新活动,为了改变教师教、学生学、简单重复实验的缺陷,本课程采取了自主选题、学生科研开发的模式,教师全程指导、辅助,促使学生在研发中主动地学习和解决实际问题。选题包含教师科研课题、学生自选课题、企业课题等等,一般为具有一定实际应用背景的项目课题,由教师指导学生团队分析课题难度、成员分工、进度安排等,超出团队能力范围的项目可分解为合适的子模块来完成。

在这种课题开发式的教学模式中,教师主要起到一个指导参考的作用,包含:前期帮助整个团队对自选课题进行详细分析、功能拆解、成员任务分配、开发规范性讲解;中期组织全体团队和各个团队内部的定期汇报讨论、具有课题针对性的课程知识专门授课、 后期 课题成果的个人总结和团队总结以及相互之间的交流。教师的核心作用是帮助学生团队在实际项目中学会如何进行一个真正的嵌入式项目的开发,以及在一个团队中如何与其他人合作交流这一很难在课堂讲解中解决的问题。

这种方式的优点主要有两个:一是充分发挥学生的学习积极性和相互教育的作用,使得一个团队内的学生每个人可以在自己感兴趣和负责的领域内比较深入的学习和研究,同时通过相互交流和探讨使每个人都能较全面的了解嵌入式系统内其他领域的概念和重点,建立完整的嵌入式系统开发概念;二是真正做到了工程化教学,以实际工程化项目为学习载体,学生全程进行至少一次较大的项目开发,完全掌握嵌入式系统开发能力。

四 课程实施的效果

自该方式试行以来,教学效果非常明显,学生成果突出。

其一,学生团队互助成长作用明显。学生团队中的领导人成长很快,往往能由一个编程能力较强或基础知识扎实的学生“高手” 迅速成长为一个团队的负责人,学会从整体把握项目,全面考虑软件、硬件、开发规范、功能等全面内容。而团队中成员学生积极性极高,进步很大,完全摆脱了应付考试的学习方式,实践动手能力也得到较大的提高。

其二,课题丰富多样,学生课题来源的自由决定了课题的多样性和灵活性,使得课题更能激发学生兴趣、更加富有实际色彩。有的团队自己联系其他教师以教师的项目 为课题;有的团队以省、全国乃至国际性的竞赛选题为课题,在完成课程的基础上参加竞赛;有的团队以服务日常生活为目标,开发出多种多样的自由课题。各类课题开发源代码和资料的汇总整理,更 形成了一个丰富的开放型学习资料库。而这一学习资料库对学生在学习方面的帮助和启发,是任何课堂和教室的教学都无法取代的。

其三,学生能力和学习成果得到极大的提高。学生获得了创新的空间之后,爆发出极大的创造性。团队共同学习和开发的模式本身就已经决定了课题的规模和复杂程度都已经大大超越了单人实验和单人完成的课程设计。而一个优秀的团队能完成的作品更是超出教师甚至学生自己的想象。几年间,参与本课程的本科生的优秀课题成果包含:1)十余项横向课题,总经费达到十余万;2)微软“imagine cup 2007” 全球学生创新大赛中国区第五名;3)“英特尔杯” 全国大学生电子设计竞赛嵌入式系统邀请赛全国三等奖四项;4)校“学生创新课题” 立项资助若干项,校各类竞赛获奖若干项。

五 结束语

嵌入式系统本身内容及应用领域极其丰富,而对应的教学思路和方法多种多样,不同的教学目标选择的重点不尽相同。我们选择了强调激发学生自主性和积极性的思路,在教学实践上采取了比较特殊的方法,着力培养学生团队学习、自主学习、互助学习、创新开发、课题实践的能力。这种开发模式极大的激发了学生的兴趣和创造力,取得了相当好的成果。

但是在实践中,我们也发现这一方法对教师和学生两者的要求都比较高,作为教师需要对学生完全不同的各方面的问题作出解答或相应的作出学习引导,课程前后花费的时间精力也远大于课程改革前。作为学生,虽然学生自身的条件和兴趣千差万别,但是经过前期的了解和推荐程序,后期的团队氛围培养,整体上学生都体现出较高的积极性和创造力。

参考文献

[1] 俞建新.略论嵌入式系统的实验教学[J].实验室研究与探索,2006,(07):55-56.

[2] 毛范海,朱林剑,孙守林等.改革实验教学内容和教学方式,培养学生创新能力.实验技术与管理[J],2005,22(4):88-90.

[3] 赖晓晨,刘文杰.高校嵌入式实验室建设探索[J].实验室研究与探索,2006,(02):27-29.

[4] 严岱年.现代工业训练的楷模[M].南京:东南大学出版社,1997.

[5] 李雯.探索高校教学与科研互动的途径[J].理工高教研究,2004,(3):84-85.

[6] 张富洪.学生团队精神的培养[J].四川教育学院学报,2004,20(12):21-23.

[7] 魏斌,汪应洛.知识创新团队激励机制设计研究[J].管理工程学报,2002,16(3):113-115.

Reform Embedded Course by Students Team study and Project Development Model

ZHAO Guo-an1YU Bin2

(Center of Electrotechnics and Electronics Experiment Teaching,Nanjing Uuniversity of Aeronautics and Astronautics,Nanjing, Jiangsu,210016,China)