导言
从1985年头触摸单片机到现在已有20余年,亲历我国嵌入式体系的展开,也从事着嵌入式体系教育的探究。在社会上开端单片机培训7年后高校才大规划开设单片机课程,而嵌入式体系课程仅仅全面铺开,并没有构成由运用推进的嵌入式体系教育体系,这值得讨论和反思。
由8/16位单片机到选用32位嵌入式处理器的嵌入式体系,一方面是互联网的遍及和高端运用的需求,另一方面是8位单片机对半导体公司来说赢利空间现已很小。由全国大学生电子规划比赛组委会主办、Intel公司协办的“全国大学生电子规划比赛——嵌入式体系专题比赛”进一步丰厚了全国大学生电子规划比赛的方式和内容,推进了高校信息电子类专业教育改革、课程体系及试验室建造,各高校纷繁开设嵌入式体系课程。2002年举行的首届嵌入式体系专题比赛选用Intel公司供给的根据StrongARM和Windows CE的开发板。只需北京大学参赛队选用了Linux操作体系,并终究获得了Intel杯。嵌入式体系不只仅ARM和Linux的组合,可用于嵌入式运用的微处理器和嵌入式操作体系种类繁复。下面评介盛行的、适宜嵌入式体系教育的微处理器和嵌入式操作体系,讨论嵌入式体系教育方式和经历。
1 嵌入式处理器
用于嵌入式运用的处理器可分为4类:微控制器(即俗称单片机,Microcontroller Unit,MCU)、嵌入式微处理器(Embedded Microprocessor Unit,EMPU)、信号处理范畴的DSP处理器(Digital Signal Processor,DSP)和高度集成的片上体系(System on Chip,SoC)。现在用于教育的嵌入式处理器大致构成了以8位、16位和32位差异的局势。
单片机教育最盛行的是8051系列。8051是Intel公司1980年规划的8位MCU。20世纪80年代中期,Intel公司将8051单片机内核运用权以专利交换或出售方式转让给国际许多闻名的IC制造厂商,如Philips、Atme1、Dallas、Infineon、ADI、Winbond和Silicon Labs公司等,这样8051就变成有许多制造厂商支撑的、展开出上百个种类的我们族。到现在为止,其他任何一个单片机系列均未展开到如此的规划,近30年一直是遍及盛行的产品,如此具有生命力。8051是单片机教育的首选机型,已成为单片机范畴的实践规范。现在C8051F系列和STC89系列便是8051生命力的最好表现,前一种是SoC型单片机,功用更强,后一种价格适当廉价。Oregano System公司的Core8051 IP和Synopsys公司的DW8051_core是与8051指令兼容的8位单片机IP核。根据IP核和FPGA的SoC规划办法具有极大的灵活性,能够大大缩短项意图开发周期。
Microchip公司的PIC系列依靠大学计划,使得在单片机教育中选用PIC系列单片机的高校不少。值得赏识的是这个公司十分专心,它把8位PIC单片机做到了60亿颗。现在他们才用MIPS核推出32位微控制器。MIPS是美国计算机体系结构课教育机型,国产的龙芯CPU便是MIPS兼容的。Atmel公司的AVR系列同PIC系列相同也是RISC结构的单片机,得益于启东人生长起来的双龙公司署理该系列产品。AVR系列单片机也在教育中选用,乃至推行到了中学课外科技活动中。这些从国内出书的单片机教材中可见一斑。
在DSP芯片教育中,TI公司做得最好,TMS320C54x系列靠大学计划得到遍及。该公司后续推行的TMS320C240系列和MSP430系列单片机也得益于大学计划。ADI公司也运用大学计划推行DSP芯片。Freescale公司(原Motorola公司半导体部)大学计划推行DSP芯片、通讯誉PowerPC芯片和单片机。
ARM公司是一家不出产芯片,只供给IP授权的公司,它的产品现已成为32位嵌入式体系的事实规范。ARM嵌入式处理器以它共同的IP授权方式得到了许多半导体厂家的喜爱。DSP出产厂家购买它的RISC核做双核芯片,PLD出产厂商购买其IP核支撑SoC规划,大多数半导体厂商规划MPU或MCU。NXP公司(原Philips公司半导体部)靠广州周建功公司的推行,其LPC系列ARM7核微控制器在教育中得到选用。选用ARM公司最新Cortex核的意法半导体公司的STM32系列和Luminary公司的群星系列微控制器正在推行过程中。ARM9核芯片方面,因NXP公司和Atmel公司的芯片都不带LCD控制器,做试验箱遍及都选用了三星公司的S3C2410芯片。但三星公司对散客没有支撑,优势仅仅价格廉价。Intel公司出售了ARM核的XScale,主推自己的EIA架构,对高端嵌入式体系教育有必定的影响。
SoC片上体系更是嵌入式体系的终极目标。大学计划做得最好的是Altera公司,它推出了Nios软核的SOPC解决计划,并举行立异比赛。Xilinx公司也有大学计划,推行Microblaze软核FPGA。现在还有Actel公司,在推行带ARM CortexM硬核和8051软核的FPGA芯片。
总归,嵌入式体系教育用处理器应选用干流芯片,或有厂家大学计划支撑的芯片。若教育偏重硬件规划,要教会学生制板、做硬件运用体系,最好挑选8/16位芯片、ARM7或CortexM芯片。200MHz以上的ARM9芯片对布线的要求高,并且外表贴装引脚较多的芯片也需求专门的焊接设备。
2 嵌入式操作体系
Linux从1991年面世到现在,短短十几年时刻现已展开成为功用强大、规划完善的操作体系之一,不只能够与各种传统的商业操作体系反抗,在新式的嵌入式体系范畴内也获得了飞速展开。嵌入式Linux以其可运用于多种硬件渠道、内核高效安稳、开放源码、软件丰厚、完善的网络通讯和文件管理机制等优秀特性,成为嵌入式体系范畴中的一个研讨热门。Linux开放源码及内核可削减十分适用于嵌入式体系教育。要注意,没有MMU的微控制器只能运用μClinux,要运用盛行的图形用户界面GUI需求ARM9以上的微处理器和一般Linux操作体系。
Windows CE是微软公司从全体上为有限资源的渠道规划的多线程、完好优先权、多使命的操作体系。它的模块化规划答应对从掌上电脑到专用工业控制器的用户电子设备进行定制。微软公司的大学计划支撑高校的嵌入式体系教育,供给有时刻约束的装置软件光盘和完好的教育课件。会微机编程的人能够很简单上手Windows CE编程,软件学院教育选用它很适宜。更重要的是微软供给完好的解决计划,学生能够专心于运用的开发。
VxWorks操作体系是美国WindRiver公司于1983年规划开发的一种实时操作体系。VxWorks具有杰出的持续展开才干、高性能的内核以及友爱的用户开发环境,在实时操作体系范畴占有一席之地。它以其杰出的可靠性和杰出的实时性被广泛地运用在通讯、军事、航空、航天等高精尖技能及实时性要求极高的范畴中。VxWorks是商业化强实时操作体系,价格较高。风河公司有大学计划支撑嵌入式体系教育。现在它从FSMlabs购买了RTLinux,对实时Linux开发规划供给专业的开发渠道。
μC/OS是由美国人Jean J.Labrosse开发的实时嵌入式操作体系内核。这个内核的发生和Linux有点类似:
由于从事嵌入式产品的相关开发和Labrosse自己的爱好,他花了一年时刻开发了这个开始名为μC/OS的实时操作体系。值得注意的是μC/OS仅仅一个操作体系内核,没有文件体系、网络协议和图形用户界面。μC/OS是开源的,但不免费。针对教育和非商业运用只需买Labrosse的书即可得到光盘上的源码,但用其开发产品是要付费的。周建功公司购买了μC/OS授权,自己规划了文件体系ZLG/FS、网络协议ZLG/IP和图形用户界面ZLG/GUI,供给了开发渠道。Labrosse的Micrium公司经过北京麦克泰软件公司署理其产品。该软件代码很规范,没有运用操作体系课程中很专业的进程和线程的概念,只运用了使命,适宜没有学过操作体系课程的开发人员学习。
总归,嵌入式体系教育用嵌入式操作体系也要稳重挑选,能选用干流或有厂家大学计划支撑的更好。一般只需挑选一种,从通晓一种到能开发项目。实践上一通百通,再学习其他的操作体系也不困难。
3 嵌入式体系教育探究
3.1 运用推进嵌入式教育
笔者1985年起给单片机培训班上课,其时的培训班学员来自研讨所、公司和高校。培训班的意图是出售和培训厂商的开发东西,不收取费用。许多学员都有项目需求,学会运用东西后直接参与项目。这种单片机推行培训展开7年后,国内高校才大规划开课。由于单片机运用现已全面铺开,高校培育的学生很简单找到作业。
现在的嵌入式体系教育很大程度上不是由运用来推进的,而是跟着试验箱厂家供给的内容来规划授课内容,包含接口技能、汇编编程、C言语编程、操作体系移植。乃至ARM加Linux好像便是嵌入式体系。存在的问题是,Linux开放源代码、免费但无人支撑,一旦碰到难点只能网上求救。许多小公司吃了苦头,再不敢用Linux做产品;有的转向Windows CE,由于无法掌握产品的开发周期,并且人员本钱较大。尽管Linux能够免费得到,可是其上盛行的图形用户界面GUI又是收费的,依照GPL协议还得揭露自己的源码。Linux的教育难度也很大,一般学过操作体系才好办。最早的嵌入式体系课将很大精力耗费在教育生怎样用Linux,直到计算机操作体系课加了Linux上机试验上手才比较顺利。从Intel公司大学计划送给高校教育用的PDA参阅规划——SitSang板子的培训教师看,硬件部分的培训教师是板子的规划者,是学电子技能的,首要讲硬件原理,软件仅仅用C言语编写测验程序来测验板子的各个部件是否作业正常;软件部分的培训教师是学计算机的,首要讲怎么移植Linux、规划驱动程序和运用程序。可见大公司软硬件人才分工很清晰。
实践上一个项意图软硬件开发人员份额能够到8∶2。也便是说若有10人,其间做硬件的只需2人,大部分人要开发软件。硬件有参阅规划原理图,做出来即可;而软件表现着构思,表现产品的附加值。软件很重要,拿VCD机和苹果公司的iPOD比较,国内VCD机只能卖到几百元,而苹果公司的iPOD要卖几千元。硬件本钱两者比较差不多,要害是软件。微软的移动和嵌入式研讨会令人感到震慑。微软赞助用Windows Mobile开发云南白药集团企业管理用手机和城管通手机:
企业出售人员用前者随时和企业联络,一次访问客户即可把订单做好;城管通手机使城管监督员可将地址地址的门牌标识和脏乱差的状况摄影,直接发送给城管部分。微软公司介入嵌入式范畴,供给的是完好的解决计划,用户很快就能开宣布产品。反观国内的嵌入式Linux,还陷在移植和底层接口模块的运用上。一般来讲这些适宜偏硬件的人员做,间隔做出产品还相去甚远。半导体厂商偏心Linux是由于它是免费的,只需移植到点评板上就能证明处理器是正常作业的。真实要能开宣布产品还得建立运用渠道。现在大的厂商都有手机渠道、PDA渠道或轿车电子渠道。软件类嵌入式体系教育应该与硬件类嵌入式体系教育有所不同,应偏重渠道建立、GUI运用的开发,让学生能把自己的构思完成出来。至于编程,应以C言语为主、汇编言语为辅,优化则选用模块化混合编程。嵌入式体系课的实践性十分强,要上成理论课就失去了它的含义。
3.2 嵌入式体系的专业化分工
嵌入式体系教育需求前期开设的根底课有:模仿电路和数字电路、微机原理或计算机组成原理、计算机接口技能、操作体系、C言语程序规划。嵌入式体系支柱学科有:微电子学科、计算机学科、电子技能学科及目标学科。微电子学科、计算机学科、电子技能学科为嵌入式运用构筑各种类型的运用渠道,不介入嵌入式体系的详细运用;目标学科必定要在嵌入式体系运用渠道的根底上,完成嵌入式体系在本学科范畴的产品化运用,不必介入嵌入式体系的渠道构建。操作体系的构建应该定位在计算机学科范畴。在目标范畴中,操作体系被视为东西,只需了解操作体系与运用界面。根据此,各个专业的嵌入式体系教育应有所偏重,不能千人一面;只需把国内的嵌入式运用推进起来,培育的学生才干好找作业。这样看来,本科教育中,电子技能专业应偏重讲接口技能和驱动程序规划,非电类的目标运用专业应偏重单片机接口和C言语编程技能,计算机专业应偏重GUI运用和驱动程序。至于操作体系移植,并非一般教育内容,应安排在本科毕业规划或研讨生阶段教育。实践教育能做到“师傅领进门,修行在个人”即可,首要是培育学生对嵌入式体系的爱好,而不能因涉及面太广、难度太大而把学生们吓跑。各高校嵌入式体系课多为选修课,学时有限,规划首要的教育内容和试验内容偏重点是教师的首要使命。
3.3 加强嵌入式体系的实践才干
笔者“嵌入式体系”选修课环绕ARM和Linux,依照验证性试验、综合性试验和立异性试验等3个层次逐步培育学生开发运用程序和驱动程序的才干。试验教育中心收买了多种试验箱。针对试验设备的多样性,选用驱动程序屏蔽的办法,给学生供给共同的运用程序编程接口,运用试验设备共性的部分开设根底的验证性试验。一起,针对各种外设开宣布各种试验样例程序,如液晶屏、触摸屏、小键盘和摄像头号,由学生自在组合成综合性试验。关于试验设备选配件以及未开发的部分,答应学生自主出题,请求器材进行立异性规划。这现已不是课内的内容,而是作为对嵌入式体系感爱好的学生的课外科技活动。根据GTK+图形库的开源LiPS手机渠道被移植到试验箱上。手机是未来的电脑,三大Linux手机规范联盟正推进着根据Linux的手机开发。鼓舞大三和大四学生选修嵌入式体系课,偏重图片显现、触摸屏和视频收集的内容,经过开源手机渠道等进步学生对硬件类课程的爱好。上课和开设试验更多是为了发现对嵌入式体系感爱好的学生,嵌入式体系课程不是遍及教育,而是精英教育。光学讲义,没有长时刻的着手实践,底子不可。回想触摸嵌入式Linux之初,买遍了市面上嵌入式Linux的书也没有找到一个模块化驱动程序的开发样例,最终不得不求助在Freescale公司作业的学生。从只会画单色圆的试验设备做起到堆集很多试验样例,深深感到只把Linux移植到详细的板子远远满意不了嵌入式Linux运用的要求,运用程序和驱动程序开发才是嵌入式体系开发的要害。只需把嵌入式Linux的运用推进起来,国内高端嵌入式运用才干健康展开。现在更短少嵌入式软件人才,期望培育学生对嵌入式体系的爱好,更多地偏重多媒体、人机交互和GUI的程序规划。
因试验箱厂商的支撑有限,建议建立嵌入式体系教育联盟,寻觅供给沟通的渠道。依照各个专业的特色规划试验样例,能有自己的OS和GUI。期望不久的将来在国内能看到很多根据Linux的产品,学生们也能更好找作业。
3.4 注重开发环境的教育
2008年5~7月,ARM公司举行“微控制器商场立异研讨会”。会议的主题内容是:ARM MCU商场和技能展开趋势、参半导体厂商根据ARM的MCU产品及技能计划和针对ARM MCU的开发东西解决计划。ARM公司合作伙伴Atmel、Luminary、NXP和ST公司及其署理商介绍自己的MCU并展现开发板。
ARM公司推出的CortexM核专门针对微控制器商场。ARM公司收买德国Keil公司并出资英蓓特公司,推出我国版的RealView MDK开发渠道。这样原用8051单片机的用户可运用了解的开发环境过渡到ARM MCU的运用。此次会议的新理念是,用ARM来共同四分五裂的微控制器商场开发环境,今后微控制器的选型不再以8位、16位和32位来差异,而是以高、中、等级低芯片来差异。由于这些微控制器都有共同的机“芯”,差异仅仅它们的外围部件不同和厂商的技能支撑不同。这样,东西和软件都能够重复运用,不必置办各种开发东西。在整个芯片本钱中CPU只占很少的部分,芯片的价格不是由CPU核来确认,再按位数来点评MCU没有含义,应按外围部件和Flash容量等来确认。Microchip公司用MIPS核推出了32位微控制器。这都显现出通用的内核、广泛的支撑、共同的开发环境是未来的展开趋势,也是嵌入式体系教育的新曙光。
结语
其实各高校也不必定筛选单片机教育而一味去讲带操作体系的嵌入式体系。当令更新一部分教育内容,跟上年代的展开即可。ARM现在也相同看中单片机的运用商场。只需我们记住教育是为了满意运用的需求,社会有什么需求,就朝什么方向尽力。嵌入式体系没有单一、通用的教育方式,正像嵌入式体系是面向目标范畴的专用计算机体系,只需杰出自己的专业特色才干更好地为社会服务。