开篇:润墨网以专业的文秘视角,为您筛选了一篇高职教育嵌入式系统集成课程教学研究与实践范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
摘要:面对嵌入式系统的应用热潮,文章对如何在高职网络专业进行嵌入式系统教学进行了分析和研究,并结合高职学生实际能力,构建了一个可行的嵌入式系统课程的教学内容。
关键词:嵌入式系统;系统集成;Linux;Bootloader
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2013)31-7039-02
嵌入式系统作为一个的热门IT应用领域,它涵盖了微电子技术、电子信息技术、计算机软件和硬件等多项技术领域。当前,随着后PC时代来临,嵌入式系统应用呈现多样化、普及化趋势。嵌入式系统应用的快速增长,造就了人才市场对嵌入式系统人才需求持续增长,因此人才供给和需求存在比较大的缺口。正基于此,越来越多的本科院校和部分高职院校开设了嵌入式系统开发相关的专业方向或课程群。而对于高职院校的计算机类专业,面对嵌入式系统带来的挑战,如何有效培养学生嵌入式系统方面技能是我们专业教师需要研究的一个问题。
1 高职网络专业嵌入式系统教学分析
基于智能手机、平板电脑、物联网等嵌入式系统上涌现出的大量网络应用,对高职网络专业教学带来了不小的影响,突出表现就是很多网络专业学生对嵌入式系统学习表现出很大的兴趣和热情。因此我们认为非常有必要在网络专业中进行嵌入式系统教学。
在国内,嵌入式系统一般将其定义为以应用为中心,以计算机技术为基础、软硬件可裁剪,功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。从这个概念可见嵌入式系统不是一个独立的学科,而是一个综合学科,尤其是涉及软件与硬件的结合。因此对学生的知识和认知也要求甚高。在高职计算机类专业进行嵌入式系统教学,由于受到课时和支撑知识的限制,必须选择一个合适的切入点。根据嵌入式系统岗位需求分析,嵌入式系统岗位主要有:硬件研发、软件研发、功能测试和系统集成等类型。由于基础知识原因,在高职计算机网络技术专业开展软、硬件研发教学不现实;功能测试更多只能在具体的产品上进行,高职院校缺少这样的教学环境。而将嵌入式系统集成放在高职计算机类专业进行教学是比较可行的。据华清远见教育集团《2011年-2012年(第四届)中国嵌入式开发从业人员调查报告》的数据显示,在嵌入式软件平台中,嵌入式Linux占50%,基于Linux内核的Android占15%。高职计算机类专业如果开设了Linux操作系统相关的网络应用课程,可在此基础上,进行嵌入式系统集成方向的教学,让学生能把Linux系统移植到嵌入式设备中,并集成相应的网络应用软件。
进行嵌入式系统教学,必须有相应的嵌入式实验平台。目前,相应厂商提供的嵌入式实验平台大多都是基于ARM处理器,每套实验平台价格都不菲。另外,基于ARM处理器的嵌入式实验平台的学习,涉及的知识面还比较多,比如ARM体系结构、ARM指令系统、汇编语言、交叉编译和C/汇编语言的混合编译等。基于以上两个主要原因,我们进行嵌入式系统教学时选择基于X86体系的硬件。基于X86体系的嵌入式小设备,比如一些瘦终端或小型工控系统价格都不高,也容易买到二手设备,价格也较便宜。另外在教学的难易程度和课时方面也比较合适。基于以上的分析,我们认为在高职计算机类专业,进行基于X86平台的嵌入式系统集成方面教学是完全可行的。
2 基于X86平台的嵌入式系统集成教学
正如上述分析,我们选定计算机网络技术专业作为嵌入式系统教学的试点,将基于X86平台和Linux的嵌入式系统集成作为教学目标。如图1所示、从嵌入式系统概念出发,我们把嵌入式系统集成教学目标主要分解成了嵌入式Linux系统内核、嵌入式系统的应用集成和系统的软硬件集成三个阶段。
1)第一阶段:构建一个嵌入式Linux系统内核。嵌入式系统的一个重要特征就是可裁剪。嵌入式操作系统与普通操作系统相比,具有小巧、实时性、可装卸等特点。本阶段的教学目标就是将普通Linux操作系统改造成适合嵌入式硬件特点的嵌入式Linux操作系统。而在这个改造过程中,需要解决的关键任务就是Linux内核的裁剪。在教学过程中,我们要对Linux系统内核的各个模块及功能进行分析讲解,厘清模块之间的逻辑关系,让学生明白它们之间的依赖关系。再基于使用的X86平台的硬件和上层应用,确定不需要的功能。最后利用内核工具,对内核进行相应裁剪和重新编译,生成一个具备网络功能的较小的Linux内核。本阶段内容虽然涉及到操作系统内核,但主要是在功能和作用方面展开。对于试点专业的学生,之前已有相关的计算机基础课程和Linux操作系统课程支撑,以上的教学内容安排还是能接受的。
2)第二阶段:文件系统分析定制和实际应用集成。嵌入式系统的应用非常多样。在教学中,我们通过集成Zebra软件而搭建一个小型的嵌入式软路由应用。Linux系统支持多种文件系统,文件系统跟所选择的介质密切相关。但不管是那种介质,其目录结构基本都是相同的。Linux的目录结构是我们在第二阶段需要重点讲解的内容。Linux与Windows的目录结构相比,Linux采用的是一个倒树型的目录结构,有一个统一的根部;另外Linux的设备都是文件形式存成。通过对目录结构的分析,让学生了解到系统目录及其所存储的文件信息。这样就可以定制自己嵌入式系统文件系统中的目录结构和文件,并裁剪掉多余的系统文件。在第二阶段,还有一个任务就是Zebra软件的编译安装。这需要在教学中讲解Linux的GCC环境,以及Zebra所使用到的系统库。保证定制的文件系统能满足集成应用的运行需要。
3)第三阶段:软硬件集成。嵌入式系统的软硬件集成的最主要的过程就是完成软件系统在硬件上的引导加载。因此,本阶段的教学任务主要是讲解软件系统在硬件上的引导加载。对于诸如基于ARM核的硬件,嵌入式系统的引导加载主要由Bootloader来完成。Bootloader就是在操作系统内核运行之前一段程序代码。它负责建立操作系统运行的环境,其中包括初始化硬件、建立存储空间映射和传递一些基本的配置参数给操作系统。一个Bootlaoder设计需要有较深厚软、硬件的知识和经验。它对于高职院校学生而言显然太难。对于普通的PC机而言,系统的引导加载由BIOS和位于硬盘主引导记录(MBR)的OS Bootloader组成,BIOS负责硬件上电后的自检和初始化等工作,然后再读取MBR中的Bootloader程序并将其装入内存,再有Bootloader程序装载操作系统内核,再把控制权移交给操作系统内核,从而完成了操作系统的引导。基于X86平台的嵌入式系统引导加载与普通PC机的非常类似。因此对于高职学生进行教学是合适可行的。在本课程的实际教学过程中,我们采用U盘作为软件系统的存储载体,Linux系统的OS Bootloader使用的是GRUB。通过在一台Linux宿主机上,利用GRUB的grub-mkdevicemap、grup-install、grub-mkconfig、grup-setup等相应的软件把一个可引导MBR安装在U盘上,并进行相应的GRUB配置,从而使得U盘上的Linux系统可以在X86平台的硬件上运行。
3 小结
经过上述的第一阶段和第二阶段,一个嵌入式系统的软件系统基本完成。第三阶段主要任务就是把已完成软件系统和基于X86平台的硬件进行集成整合,得到一个专用的嵌入式系统。与此同时,通过上述三个阶段学习,也让试点专业学生可以了解嵌入式系统开发过程中的几个重要阶段及相关内容。通过嵌入式系统课程教学的反馈,我们认为上述三个阶段的教学内容选择符合学生的实际能力,能为他们进行嵌入式系统领域进行深入学习或工作打下一定的基础。
参考文献:
[1] 杨学俊.基于X86平台的嵌入式Linux系统[J].电脑编程技巧与维护,2011(14).
[2] 马学文.嵌入式系统中Bootloader的设计与实现[J].计算机工程,2005(4).
[3] 邓力.高职院校开设嵌入式系统课程的研究[J].现代计算机,2009(11).
[4] 仲伟波.嵌入式系统教学的几点思考[J].实验室研究与探索,2006(12).
[5] 邵海东.基于Linux的嵌入式系统设计与实现[J].计算机工程,2002(6).