论文部分内容阅读
【摘 要】本文分析了嵌入式系统的特点,对嵌入式系统相关基础课程进行了合理的分类和梳理,并结合各自专业的特点和应用领域对嵌入式系统的教学内容进行了探讨,以适应不同专业对嵌入式系统人才的需求。
【关键词】嵌入式系统 分类教育 人才
【中图分类号】G642 【文献标识码】A 【文章编号】1006-9682(2011)09-0057-02
【Abstract】The characteristics of embedded system are analyzed in the paper. Foundation courses related to the embedded system are reasonably classified. Based on specialized features and applications of their respective professional, the instruction content of embedded system is explored to meet the demand for talents in embedded system.
【Key words】Embedded system Category education Talents
一、引 言
嵌入式是当前应用最广、最有发展前景的IT应用领域之一,它融合了电子、计算机、微电子等多种学科和技术,被广泛应用于航天、航空、工业控制、智能手机、消费类电子、信息家电、安防监控、医疗仪器、汽车电子等领域。[1]目前,嵌入式系统产品正不断渗透各个行业,并以其应用领域广、人才需求大等优势,获得更大的关注,特别是将来3G和物联网的普及与推广,应用前景非常好。
二、嵌入式系统的特点
嵌入式系统是在单片机上发展起来的,其定义是以应用为中心、以计算机技术为基础,软硬件可裁剪,适用于系统,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它涉及硬件设计和软件开发,具有系统性、综合性、实践性等特点。
1.涉及学科多、面向不同的工程师
嵌入式系统知识涉及领域广,主要与三大学科相关:微电子学科、电子技术学科、计算机学科,是多学科的融合。微电子学科涉及微控制单元MCU(Micro Controller Unit)、外围芯片等集成电路IC平台,即芯片级设计,主要培养的是微电子工程师;电子技术学科主要涉及硬件电路的设计、介于操作系统和硬件之间的BSP(板级支持包)和硬件驱动的开发,主要培养的是电子工程师;计算机学科主要承担嵌入式系统应用平台的构建任务,包括嵌入式操作系统、嵌入式系统的集成开发环境、程序设计语言等内容,培养的是嵌入式软件工程师。[2]
2.涉及基础课程多、综合性高
嵌入式系统要求知识面广,涉及基础课程多,与电子类专业相关的基础课程有C语言程序设计、数字电子技术、电子设计自动化(EDA)、单片机原理、可编程逻辑器件、DSP原理及应用等,与计算机类专业相关的课程有C语言程序设计、数字电子技术、计算机组成原理与结构、微机原理、数据结构、操作系统等,如果要进行嵌入式应用软件开发的还应掌握计算机网络、网络编程、数据库原理及软件工程等课程。
3.技术更新快,实践性强。
目前嵌入式系统还是属于比较新的领域,现在很多高校各专业都新开设这方面的课程。但嵌入式系统的技术发展和更新很快,从ARM处理器到嵌入式操作系统、多媒体通信、无线通信等,特别是物联网技术的发展、以IPV6为基础的下一代网络NGN(Next Generation Network)等,都给嵌入式系统的发展带来了很多机遇。同时也使得嵌入式系统与实际产品开发联系越来越紧密,必须通过大量的实验、实践环节和学生科研项目来提高学生的理论基础和实际动手能力,从而提高学生实际项目的开发能力,与市场技术接轨。
三、嵌入式系统人才分类教育探索
1.嵌入式系统的教学存在的问题
嵌入式系统的诸多特点也给嵌入式系统的教学带来了一定的难度和挑战性,首先,它不像其他课程,教学内容和知识点基本固定,课程体系已经经过十几年甚至几十年的研究和探讨,已变得非常完整,拥有非常经典的教材;其次,不同学校不同专业开设课程的内容也不一致:仅处理器的选择就有非ARM系列和ARM系列,ARM系列有Cortex-M3、ARM7、ARM9……,操作系统的选择有uC/OS-II、Linux、Win CE等,从硬件接口到操作系统,再到软件开发,涉及知识内容难于统一。有些学校偏向于理论教学;有些以嵌入式处理器为主,介绍其接口技术;有些则以嵌入式操作系统为主;[3]另外要求授课教师知识要全面,软硬兼顾,并具备一定的项目开发经验。
图1 嵌入式系统相关课程
图1所示是信息类专业嵌入式系统相关课程示意图,虚方框里分别对应的是电子类和计算机类专业在开设嵌入式系统课程之前相关的先修课程。与硬件直接相关的电子类专业主要有单片机原理、可编程逻辑器件、DSP等课程,计算机类专业主要有操作系统、计算机组成原理、微机原理与汇编语言等课程,有了这些课程的基础,才能学习嵌入式系统课程。
2.嵌入式系统的教学内容和主要知识点
从技术的角度来讲,嵌入式系统是将应用程序、操作系统和计算机硬件集成在一起的系统,见图2。硬件层以微处理器为核心,外围配以存储器、I/O接口、串口、网口、总线,以及LCD、触摸屏或键盘等人机接口。驱动层提供硬件抽象层和板级支持包,包括BootLoader程序和硬件驱动程序,如以太网驱动、串口驱动等。操作系统层主要有uC/OS-II、Linux、uCLinux、Vxworks、Win CE等嵌入式操作系统,包括嵌入式内核、嵌入式文件系统、嵌入式TCP/IP协议、嵌入式GUI等。最上面的应用层是针对具体项目的应用软件开发程序。
应用层 应用程序
操作系统层 嵌入式文件系统 嵌入式GUI 嵌入式内核 嵌入式TCP/IP协议
驱动层 板级初始化 LCD驱动 串口
驱动 以太网
驱动 键盘驱动 其它
驱动
硬件层 存储器 嵌入式处理器 通用接口 人机接口 I/O口
图2 典型的嵌入式系统的框架
嵌入式系统教学涉及的教学内容和主要知识点见图1右侧所示,具体如下:[4]
(1)嵌入式系统基础知识。主要介绍嵌入式系统的基本概念、特点、应用领域和发展趋势;简单介绍嵌入式系统的基本结构使学生对嵌入式系统及嵌入式软件开发有一个基本和总体上的认识。
(2)嵌入式处理器。主要以ARM处理器为例介绍嵌入式体系结构、ARM指令集和汇编程序设计;外围设备介绍,包括I/O口、JTAG接口、串行总线、并行总线、人机接口、有线网络和无线网络接口、硬件驱动程序开发等相关知识。
(3)嵌入式操作系统。嵌入式操作系统必须要有操作系统课程的基础,分析多任务实时的基本概念、竞争与调度算法、任务间同步与通信、存储管理、文件系统等。
(4)嵌入式应用软件开发。嵌入式应用软件开发可以从教学的角度,以一个实际案例或项目为主线,介绍一个实际项目完成所需要掌握的知识、开发方法和开发过程,从嵌入式开发平台的选择,到嵌入式操作系统的选择和移植、嵌入式图形用户界面的开发和具体应用软件的编程实现等,使得嵌入式系统课程群最终能够形成一个完备的嵌入式系统课程体系。
3.不同专业嵌入式系统课程教学内容探索
不同的专业可以结合专业自身的特点,针对不同的应用领域,以先修课程为前提,开设不同的嵌入式系统课程的内容。
(1)电子类专业。电子类专业基本上都开设单片机原理课程,以8位机为主,有较好的硬件基础,因此,在课程教学过程中应处理好单片机原理课程和嵌入式系统课程的衔接问题,并引入操作系统的知识。因电子类专业主要针对小型控制系统,基本上以嵌入式硬件产品设计和实现控制功能为主,因此在嵌入式系统的教学中应有别于计算机类专业的学生,在对嵌入式操作系统知识的讲解中只需要学生了解操作系统的工作原理,学会操作系统的具体应用开发。由于uC/OS对处理器的移植来说相对容易,因此电子类专业可尽量利用uC/OS小巧、占用空间少、实时性强的优点,以处理器为核心,讲授ARM7处理器(或Cortex-M3)+uC/OS-II操作系统为主,学会操作系统在处理器上的移植,实现最基本的底层嵌入式系统的控制功能。具体实验项目可包含以下几部分的内容:软件开发基础实验、基本I/O接口实验、人机接口实验、设备驱动实验、嵌入式操作系统实验、综合应用实验。学生在实验中应能自己动手移植嵌入式操作系统,使学生产生一种成就感,加强他们学习嵌入式系统的兴趣。
(2)计算机类专业。计算机专业基本上都开设有程序设计基础、计算机组成原理、操作系统、微机原理或汇编语言等课程。程序设计基础为嵌入式系统课程提供了良好的嵌入式C编程基础;计算机组成原理、微机原理或汇编语言等课程为了解ARM处理器及ARM汇编指令系统的相关知识打下基础;另外可以在操作系统的实验课程里开设Linux操作系统方面的实验,加快嵌入式操作系统的理解。一般来说,从事嵌入式开发的人员应该至少熟悉一种嵌入式操作系统,考虑到计算机专业的学生以软件为主,嵌入式系统课程的学习可以开设ARM9+Linux操作系统的内容;另外由于Win CE开发基于VC++环境,而大部分计算机专业学生有开设VC++程序设计这门课程,也熟悉Windows操作系统,学生可能上手比较快,因此也可以开设ARM9+Windows CE操作系统的内容。
对于软件专业的学生来说,相对可以开设课程多些,如嵌入式系统原理与接口技术、嵌入式操作系统、嵌入式应用软件开发(如嵌入式Linux应用开发、Windows CE应用开发、3G手机软件开发等)课程,以嵌入式软件应用开发为主。
四、结束语
嵌入式系统体现了各类不同学科的交叉融合,其课程教学需要一定的知识积累、项目积累、丰富的教学经验和创新思想。从以上分析可以看出,不同专业只有结合各自专业的特点和应用领域,合理安排课程的教学内容,才能体现出自己的专业特色,并通过相应的实验、实践和实际项目去完善整个课程体系,以培养出更多的符合社会需求的高素质嵌入式系统应用型人才。
参考文献
1 徐 慧、金 敏.“三点一线”教学方法在“嵌入式系统”课程中的应用[J].计算机教育,2009(10):39~41
2 何立民.嵌入式系统支柱学科的交叉与融合[J].单片机与嵌入式系统,2008(5):5~8
3 梁宜勇、王晓萍、赵文义等.“嵌入式系统”课程教学与实践探讨[J].中国大学教学,2009(5):36~37
4 陈天洲.“嵌入式系统概论”课程设计[J].计算机教育,2006(3):4~6
【关键词】嵌入式系统 分类教育 人才
【中图分类号】G642 【文献标识码】A 【文章编号】1006-9682(2011)09-0057-02
【Abstract】The characteristics of embedded system are analyzed in the paper. Foundation courses related to the embedded system are reasonably classified. Based on specialized features and applications of their respective professional, the instruction content of embedded system is explored to meet the demand for talents in embedded system.
【Key words】Embedded system Category education Talents
一、引 言
嵌入式是当前应用最广、最有发展前景的IT应用领域之一,它融合了电子、计算机、微电子等多种学科和技术,被广泛应用于航天、航空、工业控制、智能手机、消费类电子、信息家电、安防监控、医疗仪器、汽车电子等领域。[1]目前,嵌入式系统产品正不断渗透各个行业,并以其应用领域广、人才需求大等优势,获得更大的关注,特别是将来3G和物联网的普及与推广,应用前景非常好。
二、嵌入式系统的特点
嵌入式系统是在单片机上发展起来的,其定义是以应用为中心、以计算机技术为基础,软硬件可裁剪,适用于系统,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。它涉及硬件设计和软件开发,具有系统性、综合性、实践性等特点。
1.涉及学科多、面向不同的工程师
嵌入式系统知识涉及领域广,主要与三大学科相关:微电子学科、电子技术学科、计算机学科,是多学科的融合。微电子学科涉及微控制单元MCU(Micro Controller Unit)、外围芯片等集成电路IC平台,即芯片级设计,主要培养的是微电子工程师;电子技术学科主要涉及硬件电路的设计、介于操作系统和硬件之间的BSP(板级支持包)和硬件驱动的开发,主要培养的是电子工程师;计算机学科主要承担嵌入式系统应用平台的构建任务,包括嵌入式操作系统、嵌入式系统的集成开发环境、程序设计语言等内容,培养的是嵌入式软件工程师。[2]
2.涉及基础课程多、综合性高
嵌入式系统要求知识面广,涉及基础课程多,与电子类专业相关的基础课程有C语言程序设计、数字电子技术、电子设计自动化(EDA)、单片机原理、可编程逻辑器件、DSP原理及应用等,与计算机类专业相关的课程有C语言程序设计、数字电子技术、计算机组成原理与结构、微机原理、数据结构、操作系统等,如果要进行嵌入式应用软件开发的还应掌握计算机网络、网络编程、数据库原理及软件工程等课程。
3.技术更新快,实践性强。
目前嵌入式系统还是属于比较新的领域,现在很多高校各专业都新开设这方面的课程。但嵌入式系统的技术发展和更新很快,从ARM处理器到嵌入式操作系统、多媒体通信、无线通信等,特别是物联网技术的发展、以IPV6为基础的下一代网络NGN(Next Generation Network)等,都给嵌入式系统的发展带来了很多机遇。同时也使得嵌入式系统与实际产品开发联系越来越紧密,必须通过大量的实验、实践环节和学生科研项目来提高学生的理论基础和实际动手能力,从而提高学生实际项目的开发能力,与市场技术接轨。
三、嵌入式系统人才分类教育探索
1.嵌入式系统的教学存在的问题
嵌入式系统的诸多特点也给嵌入式系统的教学带来了一定的难度和挑战性,首先,它不像其他课程,教学内容和知识点基本固定,课程体系已经经过十几年甚至几十年的研究和探讨,已变得非常完整,拥有非常经典的教材;其次,不同学校不同专业开设课程的内容也不一致:仅处理器的选择就有非ARM系列和ARM系列,ARM系列有Cortex-M3、ARM7、ARM9……,操作系统的选择有uC/OS-II、Linux、Win CE等,从硬件接口到操作系统,再到软件开发,涉及知识内容难于统一。有些学校偏向于理论教学;有些以嵌入式处理器为主,介绍其接口技术;有些则以嵌入式操作系统为主;[3]另外要求授课教师知识要全面,软硬兼顾,并具备一定的项目开发经验。
图1 嵌入式系统相关课程
图1所示是信息类专业嵌入式系统相关课程示意图,虚方框里分别对应的是电子类和计算机类专业在开设嵌入式系统课程之前相关的先修课程。与硬件直接相关的电子类专业主要有单片机原理、可编程逻辑器件、DSP等课程,计算机类专业主要有操作系统、计算机组成原理、微机原理与汇编语言等课程,有了这些课程的基础,才能学习嵌入式系统课程。
2.嵌入式系统的教学内容和主要知识点
从技术的角度来讲,嵌入式系统是将应用程序、操作系统和计算机硬件集成在一起的系统,见图2。硬件层以微处理器为核心,外围配以存储器、I/O接口、串口、网口、总线,以及LCD、触摸屏或键盘等人机接口。驱动层提供硬件抽象层和板级支持包,包括BootLoader程序和硬件驱动程序,如以太网驱动、串口驱动等。操作系统层主要有uC/OS-II、Linux、uCLinux、Vxworks、Win CE等嵌入式操作系统,包括嵌入式内核、嵌入式文件系统、嵌入式TCP/IP协议、嵌入式GUI等。最上面的应用层是针对具体项目的应用软件开发程序。
应用层 应用程序
操作系统层 嵌入式文件系统 嵌入式GUI 嵌入式内核 嵌入式TCP/IP协议
驱动层 板级初始化 LCD驱动 串口
驱动 以太网
驱动 键盘驱动 其它
驱动
硬件层 存储器 嵌入式处理器 通用接口 人机接口 I/O口
图2 典型的嵌入式系统的框架
嵌入式系统教学涉及的教学内容和主要知识点见图1右侧所示,具体如下:[4]
(1)嵌入式系统基础知识。主要介绍嵌入式系统的基本概念、特点、应用领域和发展趋势;简单介绍嵌入式系统的基本结构使学生对嵌入式系统及嵌入式软件开发有一个基本和总体上的认识。
(2)嵌入式处理器。主要以ARM处理器为例介绍嵌入式体系结构、ARM指令集和汇编程序设计;外围设备介绍,包括I/O口、JTAG接口、串行总线、并行总线、人机接口、有线网络和无线网络接口、硬件驱动程序开发等相关知识。
(3)嵌入式操作系统。嵌入式操作系统必须要有操作系统课程的基础,分析多任务实时的基本概念、竞争与调度算法、任务间同步与通信、存储管理、文件系统等。
(4)嵌入式应用软件开发。嵌入式应用软件开发可以从教学的角度,以一个实际案例或项目为主线,介绍一个实际项目完成所需要掌握的知识、开发方法和开发过程,从嵌入式开发平台的选择,到嵌入式操作系统的选择和移植、嵌入式图形用户界面的开发和具体应用软件的编程实现等,使得嵌入式系统课程群最终能够形成一个完备的嵌入式系统课程体系。
3.不同专业嵌入式系统课程教学内容探索
不同的专业可以结合专业自身的特点,针对不同的应用领域,以先修课程为前提,开设不同的嵌入式系统课程的内容。
(1)电子类专业。电子类专业基本上都开设单片机原理课程,以8位机为主,有较好的硬件基础,因此,在课程教学过程中应处理好单片机原理课程和嵌入式系统课程的衔接问题,并引入操作系统的知识。因电子类专业主要针对小型控制系统,基本上以嵌入式硬件产品设计和实现控制功能为主,因此在嵌入式系统的教学中应有别于计算机类专业的学生,在对嵌入式操作系统知识的讲解中只需要学生了解操作系统的工作原理,学会操作系统的具体应用开发。由于uC/OS对处理器的移植来说相对容易,因此电子类专业可尽量利用uC/OS小巧、占用空间少、实时性强的优点,以处理器为核心,讲授ARM7处理器(或Cortex-M3)+uC/OS-II操作系统为主,学会操作系统在处理器上的移植,实现最基本的底层嵌入式系统的控制功能。具体实验项目可包含以下几部分的内容:软件开发基础实验、基本I/O接口实验、人机接口实验、设备驱动实验、嵌入式操作系统实验、综合应用实验。学生在实验中应能自己动手移植嵌入式操作系统,使学生产生一种成就感,加强他们学习嵌入式系统的兴趣。
(2)计算机类专业。计算机专业基本上都开设有程序设计基础、计算机组成原理、操作系统、微机原理或汇编语言等课程。程序设计基础为嵌入式系统课程提供了良好的嵌入式C编程基础;计算机组成原理、微机原理或汇编语言等课程为了解ARM处理器及ARM汇编指令系统的相关知识打下基础;另外可以在操作系统的实验课程里开设Linux操作系统方面的实验,加快嵌入式操作系统的理解。一般来说,从事嵌入式开发的人员应该至少熟悉一种嵌入式操作系统,考虑到计算机专业的学生以软件为主,嵌入式系统课程的学习可以开设ARM9+Linux操作系统的内容;另外由于Win CE开发基于VC++环境,而大部分计算机专业学生有开设VC++程序设计这门课程,也熟悉Windows操作系统,学生可能上手比较快,因此也可以开设ARM9+Windows CE操作系统的内容。
对于软件专业的学生来说,相对可以开设课程多些,如嵌入式系统原理与接口技术、嵌入式操作系统、嵌入式应用软件开发(如嵌入式Linux应用开发、Windows CE应用开发、3G手机软件开发等)课程,以嵌入式软件应用开发为主。
四、结束语
嵌入式系统体现了各类不同学科的交叉融合,其课程教学需要一定的知识积累、项目积累、丰富的教学经验和创新思想。从以上分析可以看出,不同专业只有结合各自专业的特点和应用领域,合理安排课程的教学内容,才能体现出自己的专业特色,并通过相应的实验、实践和实际项目去完善整个课程体系,以培养出更多的符合社会需求的高素质嵌入式系统应用型人才。
参考文献
1 徐 慧、金 敏.“三点一线”教学方法在“嵌入式系统”课程中的应用[J].计算机教育,2009(10):39~41
2 何立民.嵌入式系统支柱学科的交叉与融合[J].单片机与嵌入式系统,2008(5):5~8
3 梁宜勇、王晓萍、赵文义等.“嵌入式系统”课程教学与实践探讨[J].中国大学教学,2009(5):36~37
4 陈天洲.“嵌入式系统概论”课程设计[J].计算机教育,2006(3):4~6