首页 > 范文大全 > 正文

嵌入式方向课程设置与教学

开篇:润墨网以专业的文秘视角,为您筛选了一篇嵌入式方向课程设置与教学范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘 要:本文首先分析我国目前嵌入式专业教学的现状,并探讨了我国嵌入式教学存在的一些问题。接下来结合我国对嵌入式软件人才的培养要求,说明了工程型嵌入式软件人才应具有的知识与能力,并因此提出了基于ARM体系结构的嵌入式课程设置与教学方案,最后对该教学模式实施的效果进行了总结。

关键词:嵌入式;ARM;SOC;FPGA

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

文章编号:1672-5913(2007)17-0025-03

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,等,各个学校可以根据实际情况开设这些课程。集成开发工具主要有Tomado、Windows CE开发工具、ADS,等。下面结合笔者所在学校介绍其嵌入式方向的课程设置与教学情况。

计算机系嵌入式专业培养目标偏向嵌入式软件设计开发。其课程体系的设置应该体现“注重工程能力培养的嵌入式系统人才知识体系”。根据学生的接受能力,嵌入式知识的学习应体现层次性、由易到难的渐进性、注重实践性。其知识结构由基础知识、专业基础知识、专业知识这样一个层次结构组成。

基础课程阶段:主要学习理工科的一些基础课程,如高等数学,等,主要在大学一、二年级开设,这里不再赘述。

专业基础课和专业课开设方案如图2所示,图中列出其主要课程,该课程体系的目标是培养嵌入式系统软件设计师。

专业基础课阶段:如图2底部所示,主要包括模拟电子电路、数字电子电路、数据结构、C语言程序设计、Java语言程序设计、计算机组成原理、操作系统,等。主要放在大学二、三年级开设。

专业课阶段:如图2中部所示,专业课体现为三条线,主线是图中部虚线框中以ARM为架构的系列课程:第二条线属于硬件方面的选修课程,用于加强学生对嵌入式硬件方面的了解;第三条线属于软件方面的课程,用于加强学生软件方面的知识,后两条线的课程都为主线服务。下面详细介绍主线各门课程的主要知识点。

“汇编语言程序设计”课程是学习嵌入式技术的入门课程。主要介绍汇编语言程序设计的基础知识,ARM系列微处理器,基于ARM体系结构的指令系统以及汇编程序设计。本课程是学习嵌入式系统原理与接口技术、嵌入式系统设计与应用等知识的前导课程。

“嵌入式系统原理与接口”课程的教学内容应包含典型的嵌入式微处理器的工作原理、嵌入式系统的存储体系、GPIO、总线接口、网络接口,等。在嵌入式系统的教学中对特定的微处理器内部结构的知识要求淡化,对处理器接口知识的要求必须加强。该门课在教学过程中应注意“点面结合”,以某种平台为重点,兼顾其他系统的特征。

“嵌入式操作系统”课程主要介绍嵌入式系统基本知识,嵌入式系统的一个重要特征是系统存储资源有限和对实时性要求高,其用户界面与通用系统也很不一样,因此嵌入式操作系统与通用操作系统有较大的差别。在嵌入式操作系统课程中需要结合典型的嵌入式操作系统对操作系统的基本构成、工作机制、系统移植剪裁和实时任务调度等内容进行介绍。不同的学校可根据具体情况选择一到两门流行的嵌入式操作系统,如UCOSII、Linux、WinCE、Vxworks,等。

“嵌入式系统设计与应用”课程的教学内容应该包括嵌入式系统体系结构、嵌入式系统设计的基本方法、软件编程及设备接口和驱动,等。设置本课程的目的是让学生了解和掌握必要的嵌入式系统设计方法学的概念、方法和工具。

“嵌入式系统测试技术”嵌入式产品往往是软硬件结合的产物,其设计方法涉及软硬件协同设计、系统级设计、数字系统设计等多个层次。因而,嵌入式软件的测试不同于一般的软件测试,本课程的重点放在嵌入式软件测试,该课程包括了嵌入式软件测试的一般过程,内容包括结构化测试和嵌入式系统的原理、测试生命周期、重要的应用技术、基础设施、测试组织形式和测试原则。

3.2 课程教学

目前嵌入式教材存在的知识结构笼统、平台相关性问题及针对性不强等问题。我们逐步编写了嵌入式方向的系列教材,并且聘请企业的技术专家参与教材编写,让来自工作一线、拥有丰富工作经验的专家直接参与教材编写,大大增强了教材的实用价值。这些教材以ARM体系结构为主线,理论研究与实际开发紧密结合,面向应用。目前这些教材在实际教学中取得了良好的效果。

针对在校学生缺少行业背景知识这一缺点,我们在教学中大力开展了与企业的合作。首先我们研究企业需求、深入很多大中小型IT企业,作岗位调研,看看企业到底需要什么样的嵌入式人才,聘请企业专家参与课程设置与专业建设。同时,我们也研究嵌入式人才的就业问题,研究什么样的嵌入式人才好就业,在学生学习期间,直接把学生派到相关企业进行实习和毕业设计,使得培养的嵌入式人才能够适应企业的需要。

此外,注重嵌入式师资的培训,充分利用寒暑假将专业教师派到相关企业直接参与项目的开发。通过这种方式使得专业课教师能够紧跟时代的步伐,时刻引领新知识、新技术,避免了其知识的陈旧性。

4 结论

以上探讨了计算机系嵌入式方向的课程设置与教学问题。我们在深入研究已经成熟和正在发展的嵌入式系统设计方法、设计技术和设计工具的基础之上,制定出了我校计算机系嵌入式方向的课程体系和教学大纲,并通过教学实践对其进行进一步的完善。目前,我们学校在这一教学模式下实施的教学受到了学生的欢迎,学生对嵌入式方向产生了浓厚的兴趣和高度的热情。培养出的第一批学生即将毕业,大部分学生在实习期间就受到实习单位的认可并签订了就业协议。这也说明了我们在嵌入式课程设置的可行性与前瞻性。当然,我们国家嵌入式方向的教学还任重道远,恳切希望这方面的专家进一步探讨。

作者简介:文全刚(1971-),男,湖南人,国家认证高级程序员、系统分析师,高级工程师,副教授,研究方向:嵌入式、微电子、网络安全。