论文部分内容阅读
摘要:实践教学是嵌入式系统教学的关键环节,本文对嵌入式系统实践教学的内容、挑战与对策进行了探讨,提出实践教学内容上涵盖ARM体系结构、嵌入式操作系统移植和应用编程,方法上选取关键项目开展实验及学生参与搭建开发环境,并给出了嵌入式操作系统实验教学实例。
关键词:嵌入式系统;实践教学;开发环境
作者简介:曾炼成(1974-),男,湖南隆回人,湖南农业大学信息科学技术学院,讲师,工学硕士,主要研究方向:嵌入式系统;沈岳(1965-),男,湖南长沙人,湖南农业大学信息科学技术学院,教授,主要研究方向:微型计算机原理与系统。(湖南 长沙 410128)
基金项目:本文系湖南省教学改革研究项目(项目编号:6003010241)的研究成果。
在当代数字信息技术和网络技术高速发展的“后PC”时代,嵌入式技术已经成为这个时代最热门的技术之一。嵌入式系统融合了电子、计算机和通信等多种技术,广泛应用于工业控制系统、信息家电、通信设备、仪器仪表、军事技术以及人们日常生活的各个领域中。社会对掌握嵌入式技术人才存在大量需求,嵌入式软硬件工程师成为未来几年最为热门的职业之一。
嵌入式系统的实践性、应用性极强,开发过程中的硬件和软件紧密结合,嵌入式系统的学习困难多、教学难度大。当前许多高校开设了嵌入式系统课程,但相当多的嵌入式系统课程教学仍然延续着重理论轻实践的传统,培养的嵌入式系统相关人才难以满足社会需求,突出体现在嵌入式系统开发所要求的实践动手能力难以达到要求,这种情况促成了当前嵌入式系统相关的社会培训机构层出不穷。因此,嵌入式系统实践教学的进一步加强成为嵌入式系统教学中亟待解决的关键问题。
一、嵌入式系统及其教学的特点
1.嵌入式系统
嵌入式系统通常定义为一种以应用为中心,以计算机为基础,软硬件可以剪裁,适用于系统,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。[1]嵌入式系统通常按嵌入式处理器分类:以8位单片机为代表的微控制器、DSP处理器、ARM为代表的32位嵌入式微处理器和FPGA为代表的片上系统(SOC)。现在一般情况下,嵌入式系统单指以32位嵌入式微处理器为核心的系统。由于ARM在32位嵌入式微处理器系统取得了巨大成功,ARM技术成为嵌入式系统中的主流技术,当前嵌入式系统教学通常是以ARM嵌入式微处理器为核心构建的嵌入式系统平台。
2.嵌入式系统教学特点
嵌入式系统教学的特点之一是综合性强。嵌入式系统融合了电子、计算机、通信等相关技术,涉及到很多专业知识。如图1所示为嵌入式系统的系统框架,它包括硬件层、中间层、软件层和功能层四层。[2]由于嵌入式系统的综合性较强,嵌入式系统教学要求有较多的先导课程,包括了电路分析、模拟电路、数字电路、微机原理与接口技术、C程序设计、操作系统原理等课程。[3]作为许多专业知识的综合,嵌入式系统理论课教学的重点在于各类知识的有机串联,并将之融合于嵌入式系统这个以应用为中心的特定的计算机系统中。嵌入式系统的实践课程涵盖了ARM体系结构、嵌入式操作系统移植和应用编程,从硬件到软件的广泛领域,同样也体现了其综合性。
嵌入式系统教学的特点之二是实践性强。嵌入式系统开发是在实践的过程中不断总结和创新。嵌入式系统教学的目的是培养嵌入式系统开发人才,无论是嵌入式系统硬件设计还是嵌入式系统软件编程,都离不开实践过程,只讲授概念而不充分开展实验是无法具备嵌入式系统开发能力的。
二、嵌入式系统实践教学内容、挑战与对策
1.嵌入式系统实践教学内容
与嵌入式系统内容体系一样,嵌入式系统实践教学同样有着完整的系统。图2所示为以ARM9 S3C2410为例的嵌入式系统实践教学内容。嵌入式系统实践教学包含ARM体系结构与编程、Bootloader与操作系统移植、嵌入式操作系统应用编程。ARM体系结构与编程是实现无操作系统(裸机系统)编程的基础,[4]Bootloader与操作系统移植和嵌入式系统应用编程是基于嵌入式操作系统编程的基础,ARM体系结构与编程同时也是后两者的基础。另外,系统中内部各个环节也有着内在的逻辑联系和相互渗透。所以,虽然时下基于嵌入式操作系统编程更受欢迎,教学上依然需要涉及整个实验系统。
2.嵌入式系统实践教学的挑战与对策
嵌入式系统实验教学的挑战之一是实验教学内容的选取。嵌入式系统实验在内容上的广泛性,实验课时的有限性,使得如何合理安排适当的实验内容对于嵌入式系统实践教学显得尤为重要。很多高校通常依据开设课程所具有的专业特色在嵌入式硬件和软件之间做出取舍,嵌入式系统开发实际是借助开发环境结合嵌入式系统硬件特性进行设计和编程,嵌入式系统中的系统软件和硬件是紧密结合的,过分侧重某一方面都会影响学生对嵌入式系统的理解,会使学生感到迷茫以致教学效果不佳。
在有限课时情况下,比较合适的做法是在嵌入式系统实践教学内容关键环节选取部分有代表性的实验项目,如表1所示以ARM9 S3C2410开发平台为目标进行嵌入式系统实践教学的关键项目。
嵌入式系统实验教学的另一个挑战则来自于系统实验平台的多样性和开发由于环境的复杂性。一方面,嵌入式系统需要具体的系统实验平台,而嵌入式系统实验平台非常多,系统实验平台对于实践教学非常重要,所以需要慎重选择实验开发平台。当前嵌入式系统教学通常是选择主流的ARM嵌入式系统,国内高校嵌入式系统教学多数使用三星的S3C2410 ARM9搭建实验平台,其支持Windows CE和Linux嵌入式系统,能满足实践教学的需要,本文中的实验教学实例就是在该类实验平台进行的。
另一方面,嵌入式系统实践教学中,嵌入式系统的交叉编译工具复杂与调试方法多样。[4]如ARM体系结构编程和Bootloader引导需要ADS1.2开发环境中的CodeWarrior for ARM Developer Suite和AXD Debugger,需要仿真器(如Multi-ICE);在嵌入式系统操作系统(windows CE)定制与移植中需要WinCE Builder Platform系统构建平台和BSP板级支持包;在嵌入式系统操作系统应用编程中需要构建Embedded Visual C++开发环境。在传统实验教学过程中,为了让学生专注于实验内容,实验指导教师通常在实验前预先搭建好了开发环境。在嵌入式系统开发中,由于嵌入式系统的开发环境相对比较复杂,开发环境的搭建成为嵌入式系统开发的组成部分之一。在嵌入式系统实验教学中,开发环境的搭建也应该成为实验教学内容的一部分,学生应该积极参与搭建实验开发环境,同时在搭建开发环境的过程中掌握对应的调试方法。
三、嵌入式操作系统Windows CE实验教学实例
如图3所示为嵌入式操作系统Windows CE的系统移植与开发的实例。实例教学实验流程包含底层编程、驱动与操作系统移植、应用编程三个过程。实验教学实例围绕着两个基本问题:掌握实验过程中的不同开发环境的安装使用、编译调试;理解基于ARM存储空间的程序代码数据流的系统工作原理。
通过让学生参与搭建实验开发环境,使之掌握实验中需要用到的开发环境:ADS1.2和Multi-ICE2.2用于ARM体系结构编程,这就要求学生掌握底层编程、编译和调试方法,在本实例中将其应用于Bootloader;WinCE Builder Platform 4.2嵌入式系统定制平台,借助于开发平台提供的目标板的板级支持包BSP定制嵌入式操作系统映像文件;由定制系统和Embedded Visual C++4.2共同构建成目标板的应用编程开发环境。
授课教师通过实验并分析实验过程让学生理解嵌入式系统的工作原理,即嵌入式系统各个过程中编程的代码数据分别存储于ARM存储空间的不同位置,在系统运行中起着不同的作用:Bootloader引导程序存于在bank0,系统上电复位后初始化系统硬件设备,启动加载模式下检测系统内存映射,将kernel映像和根文件系统映像从Flash读到SDRAM中,为内核设置启动参数和调用内核;下载模式下通过以太网ftp下载映像文件到SDRAM,然后在写入Flash中。应用编程开发则利用同步软件Microsoft ActiveSync4.5实现开发环境(Embedded Visual C++)与目标机的交叉编译与同步。
四、结束语
嵌入式系统是当前热门技术之一,同时又处于快速发展当中,嵌入式系统教学内容和教学方法也处于不断随之发展改进中,嵌入式系统教学尤其是其实践教学面临挑战。嵌入式系统实践教学应兼顾其广度和深度,即内容上涵盖ARM体系结构、嵌入式操作系统移植和应用编程等嵌入式系统的各个方面,选取关键项目开展实验并让学生参与开发环境搭建以求达到嵌入式系统实践教学应有的深度。
参考文献:
[1]张大波.嵌入式系统 [M].北京:电子工业出版社,2008.
[2]徐敏,林瑞金,关健生.嵌入式系统教学改革与实践[J].电气电子教学学报,2009,(3):13-14.
[3]李耀波,杜丽敬,徐洋.高校嵌入式系统课程群规划的探讨[J].科技信息,2007,(19):59,25.
[4]王苏峰,窦勇,陆洪毅,候方勇.针对嵌入式实时编程的系统性教学方法探讨[J].计算机教育,2009,(14):54-56.
(责任编辑:郝魁府)
关键词:嵌入式系统;实践教学;开发环境
作者简介:曾炼成(1974-),男,湖南隆回人,湖南农业大学信息科学技术学院,讲师,工学硕士,主要研究方向:嵌入式系统;沈岳(1965-),男,湖南长沙人,湖南农业大学信息科学技术学院,教授,主要研究方向:微型计算机原理与系统。(湖南 长沙 410128)
基金项目:本文系湖南省教学改革研究项目(项目编号:6003010241)的研究成果。
在当代数字信息技术和网络技术高速发展的“后PC”时代,嵌入式技术已经成为这个时代最热门的技术之一。嵌入式系统融合了电子、计算机和通信等多种技术,广泛应用于工业控制系统、信息家电、通信设备、仪器仪表、军事技术以及人们日常生活的各个领域中。社会对掌握嵌入式技术人才存在大量需求,嵌入式软硬件工程师成为未来几年最为热门的职业之一。
嵌入式系统的实践性、应用性极强,开发过程中的硬件和软件紧密结合,嵌入式系统的学习困难多、教学难度大。当前许多高校开设了嵌入式系统课程,但相当多的嵌入式系统课程教学仍然延续着重理论轻实践的传统,培养的嵌入式系统相关人才难以满足社会需求,突出体现在嵌入式系统开发所要求的实践动手能力难以达到要求,这种情况促成了当前嵌入式系统相关的社会培训机构层出不穷。因此,嵌入式系统实践教学的进一步加强成为嵌入式系统教学中亟待解决的关键问题。
一、嵌入式系统及其教学的特点
1.嵌入式系统
嵌入式系统通常定义为一种以应用为中心,以计算机为基础,软硬件可以剪裁,适用于系统,对功能、可靠性、成本、体积、功耗有严格要求的专用计算机系统。[1]嵌入式系统通常按嵌入式处理器分类:以8位单片机为代表的微控制器、DSP处理器、ARM为代表的32位嵌入式微处理器和FPGA为代表的片上系统(SOC)。现在一般情况下,嵌入式系统单指以32位嵌入式微处理器为核心的系统。由于ARM在32位嵌入式微处理器系统取得了巨大成功,ARM技术成为嵌入式系统中的主流技术,当前嵌入式系统教学通常是以ARM嵌入式微处理器为核心构建的嵌入式系统平台。
2.嵌入式系统教学特点
嵌入式系统教学的特点之一是综合性强。嵌入式系统融合了电子、计算机、通信等相关技术,涉及到很多专业知识。如图1所示为嵌入式系统的系统框架,它包括硬件层、中间层、软件层和功能层四层。[2]由于嵌入式系统的综合性较强,嵌入式系统教学要求有较多的先导课程,包括了电路分析、模拟电路、数字电路、微机原理与接口技术、C程序设计、操作系统原理等课程。[3]作为许多专业知识的综合,嵌入式系统理论课教学的重点在于各类知识的有机串联,并将之融合于嵌入式系统这个以应用为中心的特定的计算机系统中。嵌入式系统的实践课程涵盖了ARM体系结构、嵌入式操作系统移植和应用编程,从硬件到软件的广泛领域,同样也体现了其综合性。
嵌入式系统教学的特点之二是实践性强。嵌入式系统开发是在实践的过程中不断总结和创新。嵌入式系统教学的目的是培养嵌入式系统开发人才,无论是嵌入式系统硬件设计还是嵌入式系统软件编程,都离不开实践过程,只讲授概念而不充分开展实验是无法具备嵌入式系统开发能力的。
二、嵌入式系统实践教学内容、挑战与对策
1.嵌入式系统实践教学内容
与嵌入式系统内容体系一样,嵌入式系统实践教学同样有着完整的系统。图2所示为以ARM9 S3C2410为例的嵌入式系统实践教学内容。嵌入式系统实践教学包含ARM体系结构与编程、Bootloader与操作系统移植、嵌入式操作系统应用编程。ARM体系结构与编程是实现无操作系统(裸机系统)编程的基础,[4]Bootloader与操作系统移植和嵌入式系统应用编程是基于嵌入式操作系统编程的基础,ARM体系结构与编程同时也是后两者的基础。另外,系统中内部各个环节也有着内在的逻辑联系和相互渗透。所以,虽然时下基于嵌入式操作系统编程更受欢迎,教学上依然需要涉及整个实验系统。
2.嵌入式系统实践教学的挑战与对策
嵌入式系统实验教学的挑战之一是实验教学内容的选取。嵌入式系统实验在内容上的广泛性,实验课时的有限性,使得如何合理安排适当的实验内容对于嵌入式系统实践教学显得尤为重要。很多高校通常依据开设课程所具有的专业特色在嵌入式硬件和软件之间做出取舍,嵌入式系统开发实际是借助开发环境结合嵌入式系统硬件特性进行设计和编程,嵌入式系统中的系统软件和硬件是紧密结合的,过分侧重某一方面都会影响学生对嵌入式系统的理解,会使学生感到迷茫以致教学效果不佳。
在有限课时情况下,比较合适的做法是在嵌入式系统实践教学内容关键环节选取部分有代表性的实验项目,如表1所示以ARM9 S3C2410开发平台为目标进行嵌入式系统实践教学的关键项目。
嵌入式系统实验教学的另一个挑战则来自于系统实验平台的多样性和开发由于环境的复杂性。一方面,嵌入式系统需要具体的系统实验平台,而嵌入式系统实验平台非常多,系统实验平台对于实践教学非常重要,所以需要慎重选择实验开发平台。当前嵌入式系统教学通常是选择主流的ARM嵌入式系统,国内高校嵌入式系统教学多数使用三星的S3C2410 ARM9搭建实验平台,其支持Windows CE和Linux嵌入式系统,能满足实践教学的需要,本文中的实验教学实例就是在该类实验平台进行的。
另一方面,嵌入式系统实践教学中,嵌入式系统的交叉编译工具复杂与调试方法多样。[4]如ARM体系结构编程和Bootloader引导需要ADS1.2开发环境中的CodeWarrior for ARM Developer Suite和AXD Debugger,需要仿真器(如Multi-ICE);在嵌入式系统操作系统(windows CE)定制与移植中需要WinCE Builder Platform系统构建平台和BSP板级支持包;在嵌入式系统操作系统应用编程中需要构建Embedded Visual C++开发环境。在传统实验教学过程中,为了让学生专注于实验内容,实验指导教师通常在实验前预先搭建好了开发环境。在嵌入式系统开发中,由于嵌入式系统的开发环境相对比较复杂,开发环境的搭建成为嵌入式系统开发的组成部分之一。在嵌入式系统实验教学中,开发环境的搭建也应该成为实验教学内容的一部分,学生应该积极参与搭建实验开发环境,同时在搭建开发环境的过程中掌握对应的调试方法。
三、嵌入式操作系统Windows CE实验教学实例
如图3所示为嵌入式操作系统Windows CE的系统移植与开发的实例。实例教学实验流程包含底层编程、驱动与操作系统移植、应用编程三个过程。实验教学实例围绕着两个基本问题:掌握实验过程中的不同开发环境的安装使用、编译调试;理解基于ARM存储空间的程序代码数据流的系统工作原理。
通过让学生参与搭建实验开发环境,使之掌握实验中需要用到的开发环境:ADS1.2和Multi-ICE2.2用于ARM体系结构编程,这就要求学生掌握底层编程、编译和调试方法,在本实例中将其应用于Bootloader;WinCE Builder Platform 4.2嵌入式系统定制平台,借助于开发平台提供的目标板的板级支持包BSP定制嵌入式操作系统映像文件;由定制系统和Embedded Visual C++4.2共同构建成目标板的应用编程开发环境。
授课教师通过实验并分析实验过程让学生理解嵌入式系统的工作原理,即嵌入式系统各个过程中编程的代码数据分别存储于ARM存储空间的不同位置,在系统运行中起着不同的作用:Bootloader引导程序存于在bank0,系统上电复位后初始化系统硬件设备,启动加载模式下检测系统内存映射,将kernel映像和根文件系统映像从Flash读到SDRAM中,为内核设置启动参数和调用内核;下载模式下通过以太网ftp下载映像文件到SDRAM,然后在写入Flash中。应用编程开发则利用同步软件Microsoft ActiveSync4.5实现开发环境(Embedded Visual C++)与目标机的交叉编译与同步。
四、结束语
嵌入式系统是当前热门技术之一,同时又处于快速发展当中,嵌入式系统教学内容和教学方法也处于不断随之发展改进中,嵌入式系统教学尤其是其实践教学面临挑战。嵌入式系统实践教学应兼顾其广度和深度,即内容上涵盖ARM体系结构、嵌入式操作系统移植和应用编程等嵌入式系统的各个方面,选取关键项目开展实验并让学生参与开发环境搭建以求达到嵌入式系统实践教学应有的深度。
参考文献:
[1]张大波.嵌入式系统 [M].北京:电子工业出版社,2008.
[2]徐敏,林瑞金,关健生.嵌入式系统教学改革与实践[J].电气电子教学学报,2009,(3):13-14.
[3]李耀波,杜丽敬,徐洋.高校嵌入式系统课程群规划的探讨[J].科技信息,2007,(19):59,25.
[4]王苏峰,窦勇,陆洪毅,候方勇.针对嵌入式实时编程的系统性教学方法探讨[J].计算机教育,2009,(14):54-56.
(责任编辑:郝魁府)