APP下载

嵌入式人才培养,难在哪里?

2015-03-25本刊编辑部

单片机与嵌入式系统应用 2015年7期
关键词:嵌入式系统

本刊编辑部

嵌入式人才培养,难在哪里?

本刊编辑部

引 言

早些年,高等院校确确实实培养了一大批嵌入式系统师资队伍,但其中不少教师长期脱离一线科研,而从事嵌入式科研工作的教师,常常忙于繁重的科研工作,难以深入到嵌入式系统基础课程的教学改革之中。由此造成的局面是:一方面,毕业生苦于找不到合适的工作;另一方面,企业抱怨找不到急需的嵌入式人才。

作为高校的有益补充,十多年前就涌现出不少专业的机构从事嵌入式培训,孜孜不倦地用心打造“精英人才”。这类培训针对性强,立竿见影,但嵌入式学习毕竟不是一蹴而就的,经过魔鬼训练速成的“人才”真的能够胜任实际的工作么?

企业究竟需要什么样的嵌入式人才,嵌入式人才培养存在哪些难点,有没有行之有效的方法来应对呢?

业界声音

嵌入式系统联谊会秘书长 何小庆

目前,嵌入式教学的难点是,以MCU和嵌入式处理器为代表的嵌入式技术发展很快,而教师、课件、实验环境很难同步跟进。随着物联网概念的进入,ZigBee、Wi-Fi和蓝牙等无线技术和MEMS传感器技术,这些原本自成一体的嵌入式系统变成了智能联网系统,因此传统的8051单片机教学和“ARM+Linux”的嵌入式教学亟需改革。同时,随着嵌入式教学内容的不断扩充,教学和实验课时也显得捉襟见肘。尽管口袋实验室可以帮助学生利用课余时间完成作业,各类嵌入式和物联网大赛能够提升部分学生的素质,但是如何提高一批学生的整体能力依然是个难题。

嵌入式教学和人才培养是应用性很强的工作,不仅仅是高校和培训机构所为,嵌入式和物联网企业、行业协会以及科技媒体应群策群力。嵌入式系统联谊会和中国软件行业协会嵌入式系统分会,自2000年以来举办过多次嵌入式和物联网教育的专题研讨会,组织高校教师面对面进行经验交流,一起梳理思路、寻找对策,对嵌入式教学改革起到了积极推动作用。

大唐电信集成电路创新中心 孙加兴博士

现在企业提到的嵌入式开发工作一般是指嵌入式软件编程,着重点在驱动和系统软件两个层面,以ARM处理器的嵌入式软件编程为主流。驱动层面需要与硬件电路进行交互,一般在厂商提供的外围接口资料基础上实现时序等功能;系统软件层面需要运行和移植嵌入式操作系统,特别是多任务调度系统的实现更加复杂。

目前,高校中电子信息类的专业都会接触到电路结构和C语言,覆盖了驱动层面的工作;计算机类的专业都会接触到系统架构的知识,覆盖了系统软件层面的工作。但是,这两类专业的应届毕业生在接触实际工作时并非游刃有余,主要原因在于学校的实验课程设置。其实,在实验过程中学生哪怕只是驱动了简单的A/D转换器或D/A转换器,都会对整个嵌入式开发工作形成方法学的概念,延展到多种应用领域后会很容易上手。但实际上,学校购买嵌入式开发板时厂商都会提供源代码,学生仅仅是在开发板上运行了一遍源码,而并没有深入到开发层面,故而导致完全没有方法学的概念。

电子信息领域的工程技术人员需要不断学习和更新知识,所以企业更看重的是工程师的学习能力。规模较大的企业,一般乐于接收学习能力强的应届毕业生,从而培养专业能力和团队情感;规模较小的企业,则更愿意付出较大代价来吸收经验丰富的工程师,以便快速推出产品。

在相对小众的领域(比如航空航天系统)中,往往需要高标准的实时操作系统,这类开发费用较高,因此高校和培训机构在实时操作系统领域的投入相对较少。

浙江大学计算机科学与技术学院副院长 陈文智教授

嵌入式系统具有与众不同的特点,它至少汇集了电气、电子、计算机、控制、机械、工业设计等多种学科技术,而且是与应用需求高度结合的。在嵌入式系统人才培养的重点内容选择、知识结构设计、教学或培训的方法方式、实践训练的配套等方面,教育界和业界普遍认同的原则是以实际应用需求为导向,结合本学科优势,利用师资在嵌入式领域的科研或产品研发方面的经验和基础,针对性地开展人才培养工作。

如果根据所依赖的实验平台来组织课程体系,嵌入式人才培养一般有两种思路:一是以某种现成开发板为基础,讲授嵌入式开发相关技术,比如选定以ARM、Intel、TI等提供的开发板为实验平台,重点讲授平台及处理器特征特点、扩展接口板开发技术、操作系统内核精简优化技术、其他系统软件开发优化技术,以及应用程序开发技术等;二是以SoC为指导思想,不基于现成的成熟平台,而是深入更底层的硬件设计与实现技术,再向上伸展到操作系统、系统软件、应用软件等。两种思路并无优劣之分,相对来讲,后者对教师的要求更高一些,学生也觉得难度更大一些。

如果根据教学方法来细分,那么嵌入式系统教学一般有两种方式:一是“Bottom-Up”(即从局部到全局的教学方法),先教学生一些基础的、共性的知识,然后一层层往上,教给学生嵌入式系统综合开发技术;二是“Top-Down”(即从全局到局部的教学方法),往往采用案例驱动的模式,先从全局需求出发,逐一展开各项技术的讲授。同样,两种方法也无优劣之分,可根据具体情况选用一种或两种结合。

虽然经过多年的实践,嵌入式系统人才培养已经积累了不少经验,渐入正轨。但是,随着各种软硬件技术和开发工具、教育教学手段不断提高,人才需求更为复合化、适用化,嵌入式系统人才培养又面临着新一轮的挑战。“物联网”的兴起,以及“工业4.0”、“互联网+”,亦或是“新硬件时代”、“创客”等新概念、新技术、新架构的不断涌现,无不使得嵌入式系统人才培养面临更多难点。

首先,嵌入式系统产品形态进一步演化,涉及的技术越来越复杂、交叉和深入,给嵌入式系统培养体系中知识结构的重组和更新带来新困难。因此,嵌入式系统人才培养要比以前更讲究学科交叉,要比以前更注重新技术的融合,以及软硬件知识的垂直整合。

其次,嵌入式系统在当今创业创新生态环境形成的过程中占据较高地位,给人才培养目标定位带来新困难。因此,嵌入式系统人才培养要比以前更注重创新应用开发,更注重挖掘学生创新思想,激发学生创新灵感。基于Arduino、Intel Edison或PCduino的创客空间值得重视。

再次,师资队伍学缘结构更新、师资个体综合能力提升,也面临新困难。在嵌入式系统技术日新月异的新常态下,以前身怀绝技的老师由于长期在教学一线,来不及紧跟业界动态,逐渐脱离新技术的发展。科研和教学互动的良性闭环尚未成熟,因此,嵌入式系统人才培养要比以前更注重与业界的结合,只有这样才能培养出符合业界需要的嵌入式人才。

最后,嵌入式系统的内涵和外延要重新定位。教育界和业界应共同深入探讨,如何更好地培养业界所需要的嵌入式系统人才。

华东师范大学软件学院嵌入式软件与系统系主任陈仪香教授

物联网,特别工业互联网的出现,需要大量熟悉嵌入式软件与系统开发的人才。目前,嵌入式软件与系统的人才培养依然分散在大学里的不同学科,通常嵌入式软件人才由计算机学科、软件工程学科培养,而嵌入式硬件人才由电子科学与技术学科、微电子学科培养。这种分离式培养模式使得人才很难具有综合性,自然也就很难适应物联网、工业互联网的综合性人才需求。因此,需要将嵌入式软件与硬件融合在一起,进行人才培养。

近十年的软件工程专科人才培养模式为嵌入式软件与系统的人才培养提供了合适的参考。嵌入式系统开发设计可以借鉴软件的模型驱动开发模式,硬件的实现可以借鉴基于语言的软件编程方法。譬如,硬件描述语言Verilog可以像写程序那样写硬件系统,方便地实现系统电路,使用工具可以轻松地嵌入到FPGA,同时还能实现LUT的优化。

嵌入式系统的设计应该从系统级开始。首先,对嵌入式系统以功能和性能为基础进行规范建模,通过软硬件划分原理、方法与技术对嵌入式系统软硬件合理进行划分,形成嵌入式系统的软件部分和硬件部分,在此基础上进行软件和硬件仿真,最后基于通用的嵌入式系统仿真平台进行软件和硬件的融合仿真,在仿真正确的基础上进行嵌入式系统实现。这种建模、设计、仿真、实现的开发方法是典型的软件开发模式,用在嵌入式系统开发上,不仅可以加快嵌入式系统的开发,而且能够提高开发成功率。

华清远见教育集团创始人季久峰

提到培训机构,很多人或多或少会有些偏见,今天借这个机会谈一谈十几年来身处培训行业的感受。

众所周知,培训机构,特别是我所从事的职业教育,相对于传统学历教育,其优势主要在于快速实用的课程体系研发,以及具备实战研发经验的专业师资。毋庸置疑,从最初高深莫测的专业嵌入式设备,到现在充满想象力、层出不求的智能硬件,嵌入式技术的发展早已超乎我们当年的想像。面对诸多挑战,只有掌握了最新、最实用的技术,才能从容地胜任嵌入式研发岗位。

华清远见教育集团一直与各大芯片厂商保持很好的合作关系,因此可以提前获得大量最新的技术资料。从几年前的一年一次大升级到现在一年两次大升级,课程升级已经成为例行的日常工作。研发中心几十人的团队,其主要工作就是跟踪最新技术热点,并快速体现在课程内容和实验平台中。

“兴趣学习”是我们课程设计的重要原则。嵌入式产品已经不是从前“冷冰冰”的专业设备,实战训练中充满活力的“酷炫”产品对我们的学员有足够的吸引力,例如学员可以自己动手做智能电视、平板电脑、智能手环、智能手表,甚至是四轴飞行器和智能小车,这些可以直接激发学员强大的学习兴趣和动力。

我们的师资来源主要是一线的资深研发工程师,经过系统的授课技能培训而成为专业讲师,他们有很好的一线研发经验,这对学员来说非常重要;同时,他们对公司用人需求也非常了解,知道如何把学员培养成为公司需要的技术人才。当然,我们对学员也是有一定要求的,报名前会进行严格的专业基础测试,只有通过了测试,才可以参加专业的课程学习。

资深技术人员何此昂

随着嵌入式半导体厂家的不断推广,ARM处理器越来越普及,对于嵌入式芯片的使用和开发也越来越容易。但目前存在的问题是,学生实战的机会比较少,参与的更多的是学校的演示和功能性的测试,不能称为真正的产品,而对于产品本身的设计选型、功能定义、需求定义、软硬件开发,以及功能样机测试、认证等缺乏足够的认识。因此,需要鼓励学生走出去,到公司进行实习;同时,希望更多的企业能够开发一些项目的窗口给毕业生实践。在大学期间,多从事一些项目开发工作,既利于毕业生找到更为理想的工作,又便于企业实际项目用人,有效地减少双方磨合的时间。

对于缺乏实际工作经验的大学生而言,哪些工作较为适合呢?比如功能需求分析、软硬件功能样机测试、文档整理等。刚开始如果能力不足,可以做一些基础性的测试工作(比如芯片的基本功能验证等),从熟悉数据手册、设计文档,测试半导体厂家官方开发板和用例程序开始,慢慢积累开发经验。

粉丝观点

陕西师范大学计算机科学学院研究生 赖新明

我是一名在读研究生,本科是通信工程专业,研究生的方向是嵌入式系统。一年的学习下来,发现嵌入式涵盖的内容实在太广泛了,包括硬件设计、用户软件,以及网络通信等等。一个人独立完成一个项目,难度很大。

首先,从学校的角度来看,学校能够提供的硬件设施毕竟十分有限,大多是有限几家厂商提供的开发板等。此外,课程设计通常较为传统,很难有条件自由发挥。比如说做一个无人机项目,最少也得花费上千,还不一定能出结果。

其次,从师资来讲,部分教师缺乏嵌入式工作的实战经验,并且缺少对整个嵌入式行业的把握,不能与时俱进。授课更多是以理论知识为主,如果没有进行更深入的学习,仅凭所接收到的知识去应对实际工作,其结果可想而知。

最后,从自身来看,我本科是学通信的,软件编程能力不是很强,这可能也是学电子的学生的通病。要想在嵌入式学习上取得理想的效果,势必要下一番功夫。但问题是,常常不知道从哪里学起……是从开发商提供的开发板及其资料学起,还是对照课上讲授的内容学起?两者之间似乎很难联系在一起进行。

福建农林大学机电院苏智高

全面的嵌入式人才,不仅要有一定的编程语言基础,而且还要具备电子学知识以及操作系统知识,涉及面广,难度较大。高校中,嵌入式学习的重视程度参差不齐,很多教师仍以讲授采用汇编语言的单片机为主,常常与工作中的实际需求脱节。这也导致很多公司不轻易招收缺乏工作经验的应届毕业生,从而使得部分嵌入式方向的毕业生,走向了单方面的C/C++语言、或Linux运维岗位,未能成为理想中的综合型的嵌入式人才。

编辑视角

无论时代如何变迁,嵌入式系统始终是不可或缺的基石,只是身处应用开发不同阶段的人往往无法深入了解。近几年,嵌入式尤为火热,各大半导体厂商纷纷强化了嵌入式的概念,推出各类嵌入式产品。嵌入式市场风光无限,自然也就引起了更多人的关注和兴趣。

嵌入式系统有无限大的领域,要求有多层次,全面的,初、中、高级人才培养体系。高职、高专、大专、高等工科院,应有不同的培养目标与课程体系。起初,嵌入式系统采用的是单一的单片机相关的培养机制。后来,计算机、微电子集成技术的介入,情况有了较大变化。在高等院校中设立了软件学院、物联网专业、嵌入式系统专业等人才培养机制,使嵌入式系统高端人才培养有了落脚之地。

早期单片机的迅速扩张,的确促使高校培养了一大批嵌入式系统师资队伍,但这些师资队伍中,不少教师长期脱离科研,课程更新的速度很难跟得上嵌入式系统发展的速度。而从事嵌入式系统科研工作的教师,由于繁重的科研工作与研究生的培养,难以介入到嵌入式系统基础课的教学改革之中。嵌入式系统基础教学改革本身就非一朝一夕之事,而科研与嵌入式系统基础教学改革的矛盾,无疑使这种局面更加难以改善。

嵌入式系统是IT产业中变化最迅速的前沿科技领域,嵌入式系统人才培养的难点正是,如何培养能迅速适应各种变化的嵌入式系统人才。事实上,将嵌入式系统课程分割成基础类(相对不变的基础知识)和应用类(跟踪前沿科技应用知识)两大部分,或许是解决问题的一种出路。高等院校以通用的基础理论学习为主,高职、高专两类课程兼顾,培训结构则着重应用类课程的培训。高等院校的职责应着重于培养有大局观、后劲儿十足的嵌入式人才,而非嵌入式工匠。为了长远的发展,企业也应尽可能地给毕业生一个较为充足的发展空间。

猜你喜欢

嵌入式系统
Smartflower POP 一体式光伏系统
WJ-700无人机系统
基于PowerPC+FPGA显示系统
基于UG的发射箱自动化虚拟装配系统开发
半沸制皂系统(下)
TS系列红外传感器在嵌入式控制系统中的应用
嵌入式系统通信技术的应用
搭建基于Qt的嵌入式开发平台
连通与提升系统的最后一块拼图 Audiolab 傲立 M-DAC mini
基于嵌入式系统Windows CE的应用程序开发