内容发布更新时间 : 2024/12/27 9:38:14星期一 下面是文章的全部内容请认真阅读。
嵌入式方向课程设置与教学
摘 要:本文首先分析我国目前嵌入式专业教学的现状,并探讨了我国嵌入式教学存在的一些问题。接下来结合我国对嵌入式软件人才的培养要求,说明了工程型嵌入式软件人才应具有的知识与能力,并因此提出了基于ARM体系结构的嵌入式课程设置与教学方案,最后对该教学模式实施的效果进行了总结。
关键词:嵌入式;ARM;SOC;FPGA 1 引言
随着手机、PDA、高清电视(HDTV)、机顶盒、智能家电、汽车电子、路由器、医疗仪器、航天航空设备等嵌入式系统的广泛应用,中国嵌入式系统市场预计每年将直接创造亿元的效益,因此嵌入式将成为电子信息产业新的经济增长点,嵌入式系统无疑是当前最热门最有发展前途的应用领域之一。与巨大的市场潜力和产业需求相比,我国国民教育体系下嵌入式系统的教学知识较为陈旧,缺乏实践锻炼,无法适应企业的实际需要,嵌入式人才的缺乏是阻碍我国嵌入式系统发展的首要因素。本文首先分析我国目前嵌入式专业教学的现状,阐述了嵌入式课程体系的知识结构,接下来针对应用型本科院校计算机类嵌入式方向的课程设置与教学进行了探讨,最后对该教学模式实施的实际效果进行了总结。
2 嵌入式课程设置现状分析
2.1 现状及问题
目前,我国大部分高校的嵌入式系统教学仍然停留在20世纪80年代初发展起来的以8位51单片机为核心的教学水平上。教学内容、教学方法、教学手段、教材体系不能适应嵌入式技术发展的需要。学生学完这门课程后满足不了社会对嵌入式人才的需求。究其原因,一方面是因为从事该领域的研发人员常常需要不同专业背景,例如计算机、电子、通信、自动化与控制,等。另一方面更重要的原因是我国的嵌入式教学没有跟上嵌入式技术的发展,笔者认为我国嵌入式教学存在如下问题:
(1)定位不明确,课程体系设置不合理:一个嵌入式系统不但包括硬件部分还包括软件部分。电子类、通信类、计算机类专业都可以开设嵌入式方向,但培养目标是不相同的、课程设置和侧重点也不相同,而目前有些高校只是根据技术潮流笼统地开设一门课程,远远达不到系统地学习嵌入式技术的需要。因此,高校开设置嵌入式专业时必须找准定位,结合自身的特点和优势开设课程。
(2)缺少系列教材:嵌入式技术往往和行业背景结合紧密,由于新技术日新月异,很难找到一套普遍适用的系列教材。这也给嵌入式教学带来影响。
(3)课程教学内容陈旧:嵌入式课程是一门很新的技术,目前有些高校虽然
开设了这方面的课程,但是师资往往没有同步跟上,很多都是从相关专业转型而来,在短期内无法跟上新技术变革,因此出现教学内容陈旧,而且广度有限,深度不够的现象。
(4)缺少实践锻炼:嵌入式是一门实践性很强的技术。目前有些高校缺少实验设备,没有与实际工程应用密切结合的课程设计,使得高校培养的人才创新意识薄弱,实践能力不强,与实际工程应用需求严重脱节,学生发展后劲不足。
要解决以上问题,必须对嵌入式专业所需要知识结构有所了解。
2.2 嵌入式专业的知识结构
从广义上说,以单片机,FPGA/CPLD,DSP,ARM等实现的产品都可以称之为嵌入式产品,基于FPGA的SOC、SOPC、ASIC设计都和嵌入式系统密切相关,如图1所示。
嵌入式工程人员应该具备什么样的知识结构呢?嵌入式工程人员既可从事嵌入式硬件设计,也可从事嵌入式软件设计,下面结合我国对嵌入式软件人才的培养要求,我们认为工程型嵌入式软件人才应具有如下的知识与能力:
(1)硬件知识
嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。因此,对于从事嵌入式软件开发的工程人员,必须清晰地掌握相关的硬件基础知识,如嵌入式微处理器、接口技术、软硬件一体化的开发工具,等。
(2)软件工程知识
嵌入式软件工程与通用软件工程具有共同之处,但又有很大的差异。因此,嵌入式软件工程人才必须首先具有软件工程技术的基本知识和工程技能,例如软件工程管理、软件质量、软件工程过程,等。同时,一个好的嵌入式开发工程师必须掌握一门开发语言、精通一种主流微处理器系统、掌握一套开发工具和一种嵌入式操作系统。
(3)行业领域知识
嵌入式系统是与特定行业应用密不可分的,嵌入式软件在移动设备、数字家电、汽车电子、数控机床、医疗电子、航天航空、工控等领域得到广泛应用。所以,嵌入式软件工程人才必须具有一定的行业领域知识,才能胜任工作。
(4)系统工程能力
由于嵌入式系统是面向某种特殊应用,所采用的硬件平台、开发工具和应用环境都有所不同,再加上市场对大多数产品要求开发周期短和成本低,我们无法为了某一种产品而从头开发。因此,如何选择合适的软硬件平台以高效地开发产品,如何有效管理开发团队中的各类人员,如应用专家、硬件工程师、软件工程师和其他相关工程人员,成为嵌入式系统产品开发的重点。这就需要嵌入式软件工程人才应具备解决工程问题的能力,自我知识学习与更新能力和良好的交流与组织协调能力。
对于嵌入式专业的教学,不可能把图1中罗列的所有技术全部学习一遍,这样做也得不偿失。一个比较好的方法是根据各个学校的特点实施嵌入式课程教学,电子类、通信类、计算机类专业都可以开设嵌入式方向,但是其侧重点和培养目标是不相同的。下面主要结合计算机类专业的嵌入式方向阐述其课程设置与教学。
3 基于ARM架构的嵌入式课程设置与教学
3.1 课程体系
嵌入式专业的特点是涉及知识面广、综合性强、实践性强,并且学科发展快,因而学习难度大。同时,它要求教师不仅具备一般的计算机系统的软硬件知识,如计算机系统结构、操作系统、计算机网络、编译原理、数字电路,等,而且需要真正从事过嵌入式系统的开发实践,才能对嵌入式系统中的实时性等抽象概念和系统调试过程有感性认识。
对于计算机应用类的学生而言,学习嵌入式系统设计重点应该放在嵌入式软件设计这一部分。如果学生掌握了一种主流嵌入式微处理器、掌握了一门开发语言、一种嵌入式操作系统、一套开发工具,就达到了系统地学习嵌入式技术的要求。
目前,在嵌入式领域中广泛应用的是ARM(Advanced RISC Machines)系列微处理器。作为世界第一大IP知识产权厂商,ARM公司本身不直接从事芯片生产,而是靠转让设计许可,由合作公司生产各具特色的芯片。可以说,ARM公司引发了嵌入式领域的一场革命,在低功耗、低成本的嵌入式应用领域确立了市场领导地位,是目前32位市场中使用最广泛的微处理器。ARM从1991年大批量推出商业RISC内核到现在为止,已授权交付了超过20亿个ARM内核的处理器核。在全球已有将近200多个半导体公司购买了ARM核,生产自己的处理器。目前,80%以上的GSM手机、99%的CDMA手机以及将来的WCDMA、TD-SCDMA手机都采用的是基于ARM核心的处理器。ARM进入中国2年以来,已经与中兴、华虹、东南大学、上海集成电路设计中心及中芯国际签定了芯片核心技术授权协议。因此,学习以ARM为架构的嵌入式技术具有非常广阔的前景。
对于嵌入式开发语言目前主要有汇编语言、C和C++语言、Java语言,等。对于嵌入式操作系统目前主要有VxWorks、Windows CE、Linux和μC/OS-II,等,