计算机专业本科嵌入式系统方向课程建设研究
2011-12-31蒋伟杰
计算机教育 2011年20期
摘要:随着计算机技术的发展,嵌入式系统得到越来越广泛的应用,CC2004已经把嵌入式系统作为计算机工程专业的核心课程。本文分析目前国内对嵌入式系统人才的需求和高校培养嵌入式系统人才的现状,针对计算机专业嵌入式系统方向的课程体系提出一套建设方案。
关键词:计算机专业;嵌入式系统;课程体系;
作者简介:蒋伟杰,男,讲师,研究方向为嵌入式系统。
1概述
1.1嵌入式系统定义及构成
我国对嵌入式系统的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,在实际应用中对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。它一般由嵌入式微处理器、外围硬件设备、嵌入式操作系统以及应用程序等四个部分组成,具有对其他设备进行监视、控制或管理等功能。
1.2嵌入式产业现状
嵌入式系统产品广泛应用于移动通讯、电子消费品、医疗设备、军工航太等领域。目前我国的手机、互联网、有线电视用户数量均居全球第一,我国的嵌入式系统产业在其市场的促进下突飞猛进。根据赛迪顾问的研究显示,2007年中国嵌入式系统产业规模达到2 218.1亿元,增长32.3%。2005年到2007年的复合增长率达到23.1%,增长速度持续高出同期全球嵌入式系统产业的平均增速。另外,据全球著名市场调查公司GFK预测,2009年全球消费电子产品市场销售额将达到6 822亿美元,其中中国的市场将占全球市场的14.5%[1]。IBM、Sybase、Oracle、Intel以及Microsoft等国际公司也纷纷在中国成立专门的嵌入式部门,进军中国的嵌入式市场。
1.3嵌入式人才需求
在嵌入式系统产业高速发展的刺激下,相关企业
对嵌入式系统人才的需求与日俱增。在我国较大的两家招聘网站“前程无忧”和“智联招聘”上对嵌入式系统人才的职位需求进行调查,2010年3月20日对嵌入式相关职位的需求分别是6 371个和5 083个[2],2011年1月2日的需求分别是9 760个和8 146个。不到10个月,其需求的增长分别达到53.2%和60.3%。
近几年,每年都有大量的人才进入嵌入式系统领域。嵌入式系统人才培训机构华清远见在《2009-2010年中国嵌入式开发从业人员调查报告》中指出从事嵌入式开发不到2年的工程师所占的比例是最大的,占总参与调研人数的60%。同时,该报告显示,在接受调查的嵌入式工程师中有80%认为自己公司目前都急缺嵌入式开发方面的人才。
1.4嵌入式高校教育现状
国内大部分高校计算机相关专业和电子通信相关专业只是将嵌入式系统的有关课程作为选修课来开设,并未作为一个专业方向来设置,嵌入式系统课程没有形成体系,因此在嵌入式系统人才的培养上还普遍存在着几个问题。
1.4.1嵌入式系统知识学科融合性强,不同专业的学生各有其局限性
嵌入式系统需要掌握模拟电路、数字电路、EDA设计、微机原理及接口、程序设计、操作系统、软件工程等综合知识。而各专业学生的学科知识参差不齐,自动化、测控和电子类的学生电子设计的基础较好,程序设计偏弱;而计算机类的学生程序设计基础好,电子设计能力偏弱[3]。
1.4.2嵌入式课程知识与实际需求脱节
嵌入式系统知识体系最主要的三大技术是计算机体系结构、计算机操作系统和计算机网络,国内高校这些课程的教学内容老化,不能跟上最新技术的发展[4]。像计算机体系结构的课程大多还停留在8位处理器的层次上,而目前在市场上占主导地位的是32位处理器,毕业生所学的知识与企业需求脱节,导致嵌入式系统人才的缺乏,也制约着高校嵌入式系统课程的发展。
1.4.3师资不足,实验设备匮乏
嵌入式系统课程的教学与传统的教学模式相比,更加注重学生的实际开发能力,在教学过程中一般要求以项目为导向、以开发平台为核心,这不仅要求教育模式和教育方法上的改革,还需要建设相应的实验平台。
一般院校在嵌入式系统方向的师资有限,特别是软硬件知识兼通的师资严重不足,熟悉应用程式开发和操作系统的教师对底层的处理器和驱动了解不够,而熟悉底层硬件的教师却对软件开发比较陌生[5]。另一方面,嵌入式开发需要很强的实践能力,授课的教师需要具有很深的专业背景和工程项目经验[6]才能引导学生进行自学,才能够给出多个项目,让项目贯穿整个教学过程,充分发挥学生的主体作用。
嵌入式系统的学习需要建立在大量的实践基础上,而嵌入式系统的开发板、仿真工具等实验设备价格较高,一般院校的实验设备数量有限,这也在相当程度上限制了学生的实践时间和空间[3]。
2嵌入式课程体系的建立
2.1嵌入式人才培养目标
嵌入式系统的应用可以分为三个层面[7],从低到高分别是SOC系统设计及开发,嵌入式操作系统的移植、裁剪、驱动开发和平台的设计,嵌入式的应用程序开发。
中国嵌入式系统产业联盟、中华嵌入式人才库在2008年发布的《首次嵌入式企业人才需求报告》中显示企业对应届毕业生的需求如图1、图2所示。
图1企业岗位需求
图2企业培训需求
图1代表着现在企业需求的现状。从图1数据可以看出,目前企业招收毕业生最多的岗位是与Linux相关的开发工程师以及软件测试师等,而其余的主要是ARM开发工程师与单片机开发工程师,这说明目前企业最需要的是嵌入式应用程序开发这一层面的人才。
图2代表着企业未来的人才需求方向。图2的数据表明企业最希望毕业生接受的培训是嵌入式培训,接下来是ARM、DSP等与嵌入式处理器的培训,其余的主要是FPGA及WindowCE的培训,这说明未来企业最希望接收的人才是具有嵌入式系统多个层面基础知识的通用人才,能够具有软硬件协同开发的能力。而企业对ARM和DSP嵌入式处理器人才及FPGA设计人才的期望则说明了两个可能性,其一是企业对人才的需求向嵌入式系统的底层技术偏移,其
二是企业希望将来的应用程序开发人员具有嵌入式系统硬件基础,了解嵌入式系统的硬件构成,更好为嵌入式软件开发服务。
因此,建立嵌入式课程体系的目标是培养具有嵌入式系统基础知识,即嵌入式应用开发、嵌入式操作系统开发、嵌入式SOC设计三个不同层面都有一定基础的人才,同时在这个基础之上重点培养嵌入式应用开发。
2.2嵌入式课程体系的建设
要达到培养嵌入式人才的目标,可以根据三个不同层面来分析其知识构成及其相关的课程,并根据目前的主流技术及其发展趋势,具体制定课程的主要内容。
从嵌入式SOC设计的层面来看,需要的课程有EDA设计、嵌入式处理器及其接口、SOC设计等。嵌入式的处理器体系可以选择目前应用最广泛的ARM体系结构和DSP处理器结构;嵌入式接口技术方面可以选择用户图形界面、无线通讯等接口模块;而SOC设计方面可以学习Altera公司的基于NiosII的SOPC设计。
从嵌入式的操作系统开发的层面来看,需要的课程有嵌入式操作系统以及嵌入式驱动程序开发等。嵌入式操作系统的学习以嵌入式Linux操作系统、WinCE操作系统、嵌入式Android操作系统等为主。
从嵌入式应用程序开发的层面来看,需要的课程有嵌入式网络技术、嵌入式数据库、嵌入式软件设计等。根据操作系统的教学情况,应着重培养在Linux、WinCE、Android等系统平台上进行嵌入式应用程序开发的能力。
根据目前一般院校的情况,新设置一个嵌入式专业来培养嵌入式人才,在短期内显得不切实际,因此最好的方式就是对原有的计算机相关专业进行改革,在原有的专业基础上增加嵌入式系统方向,具体的做法如下。
专业基础课的调整:在“组成原理”课程中增加ARM体系和DSP处理器的内容,压缩原有的X86架构的内容[7];在“微机原理和接口”课程中选择以ARM体系及其接口为主的课程内容[8]。调整后的课程如下:计算机导论、C程序设计、基础电路与电子学、离散数学、数字电路、算法与数据结构、组成原理、操作系统、计算机网络与通信、微机原理与接口、数据库、面向对象。嵌入式系统方向的专业课程设置如下:EDA设计技术、嵌入式系统SOPC设计、嵌入式Linux操作系统、嵌入式系统设计。专业选修课中增加两门课程:嵌入式网络技术、嵌入式数据库技术。
调整后前5个学期学习专业基础课,第6个学期开始分方向进行学习。前5个学期的专业课程安排如表1所示。
表1专业课程安排表
3建设嵌入式课程体系的实施
3.1师资培养
除了直接引进嵌入式系统的师资以外,还可以选择加强原有师资力量,培养原来与嵌入式系统相关方向课程的教师,特别是年轻的教师。培养的途径有:让教师参加嵌入式课程培训,了解嵌入式课程体系,掌握最新的嵌入式系统发展趋势,明确教师在嵌入式课程体系中担任的角色;计算机专业与电子专业的教师跨专业合作,利用自身的专业优势取长补短,共同进行嵌入式系统课题的研究;在有条件的情况下,可以参与或申报嵌入式相关的科研项目,以及与企业进行合作,开展类似项目,进一步将理论与实际需求相结合。
由于嵌入式系统的课程学习具有很强的实践性、且与现实生活中的技术发展结合紧密。因此在部分课程的教学过程中,可以考虑建立业师制度,即由企业的嵌入式开发工程师承担课程的部分授课任务。业师可参考三个来源:嵌入式人才较多、需求较大的企业;嵌入式开发板、嵌入式设备厂商;嵌入式系统的培训机构。
3.2实验平台建设
根据嵌入式系统课程的设置,需要的实验平台要有两种类型:一是CPLD/FPGA设计平台,与SOPC课程设计配套。二是基于ARM体系的实验平台,可以进行嵌入式操作系统和嵌入式应用开发的实际课程。
目前市场上相关的嵌入式实验平台有很多,根据制定的培养目标,选择实验平台时要满足以下要求:有足够的输入输出接口,以及多种常用的接口,能够完成大多数嵌入式系统基础知识的实验。如输入需要有指拨开关、按键开关、可调频率的脉冲输入、键盘输入等,另外根据需求可以选择有触摸屏的输入。输出的接口需要含有(双色)LED灯、七段代码显示器、点阵、液晶屏显示器等。其他通信的接口如USB串口、RS-232 串行口、以太网接口、WIFI无线接口、VGA接口等。另外,还要求该实验设备能够支持一定的设计开发,可以进行综合设计,创新课题或者是毕业设计的课题。
3.3教学模式改革
由于嵌入式系统的学习具有很强的实践性,在进行嵌入式课程的教学过程中结合传统的教学方式,主
要采用以项目为导向的教学方式。整个教学过程可以分成两条主线,第一条主线是理论基础及其实践基本技能训练,采用传统的教学方式;第二条主线以引导学生的积极性、开发学生的创新能力为主,在课程中给出多个项目,学生选择感兴趣的项目,在学习理论知识的同时自行分析、设计并完成。
4结语
嵌入式技术已成为当今后PC时代的主流应用,在中国嵌入式产业高速发展的情况下,如何在传统的计算机专业中注入嵌入式系统内涵,培养合格的、适应社会需求的嵌入式人才是现在高校计算机学科竞相研究的一个课题。我们正是针对嵌入式系统人才需求的实际情况,提出在培养嵌入式系统人才的过程中既要注重计算机学科的理论基础也要加强培养学生的实践能力。理论基础的知识要与时俱进,跟上科技发展的主流;实践课程的设置上要以具体的实验平台为依托,以企业的需求为目的,培养出来的嵌入式系统人才在社会上才能够占有一席之地。
参考文献:
[1] 许晔. 发展嵌入式系统是我国后PC时代的战略选择[J]. 中国科