您好, 访客   登录/注册

万物互联时代下计算机专业的嵌入式系统课程教学内容改革研究

来源:用户上传      作者:

  【摘要】在万物互联时代,嵌入式系统得到广泛应用,嵌入式系统课程在计算机专业逐步演变成核心重要课程。嵌入式系统课程是一门软硬协同设计的课程,知识面较为广阔,尤其是对计算机专业学生的硬件知识储备提出了更高要求,以至于学生难易掌握嵌入式的重要知识。为此,本文梳理了嵌入式系统课程的重要知识,探索该课程教学内容的模块化设计方法,能够让计算机专业学生全面、系统的掌握嵌入式系统的基本知识、技术原理和设计方法,具备嵌入式系统初步开发能力。
  【关键词】万物互联 计算机专业 嵌入式系统 教学内容
  【中图分类号】G420 【文献标识码】A 【文章编号】2095-3089(2019)03-0234-02
  一、背景
  随着物联网和行业数字化的快速发展,嵌入式设备突破网络边缘,广泛应用于军事、医疗、办公、智能家居等领域,成为计算机的一个重要应用分支[1][2]。与此同时,嵌入式系统课程也从以往的选修课程,逐步发展成为计算机专业的核心课程或必修课程。然而,嵌入式系统课程是一门具有挑战性的课程,对学生和老师均提出很大的难度。首先,嵌入式系统门槛高,是一门软硬协同设计的课程,要求学生应具备硬件底层、系统层及软件层等方面的知识储备。虽然计算机专业学生软件基础较好,但硬件基础不及自动化、测控和电子工程等专业的学生好。其次,嵌入式系统是先进的计算机技术与各个行业应用相结合的产物。因此,嵌入式系统授课内容必定紧跟新型技术的发展,具有多样性和先进性,要求学生具备较强的学习能力。最后,嵌入式系统学习过程繁琐,实验平台难以掌握,开发过程问题较多,均为教学过程提出了各种各样的挑战。针对计算机专业嵌入式课程存在的问题,本文将从授课内容方面讨论如何优化该课程的教学质量。
  二、模块化的教学内容改革
  结合计算机专业学生的实际情况,论文将从教学内容方面探讨嵌入式系统课程的教学。因嵌入式系统课程早期开设与通信、自动化及电子工程等专业,教学内容过于偏重与硬件的讲解,如处理器体系结构、处理器指令集、存储芯片及接口设计等方面的介绍,难以为计算机专业学生所采用。然后,各个高校针对计算机专业对教学内容进行了进一步的优化,但集中于系统层面的介绍,例如汇编编程、嵌入式系统的实时调度和内存管理等方面。总之,早期教学内容过于偏硬件,或过于偏系统层面的讲解,且教学内容过于离散化。为此,论文对嵌入式系统课程内容进行梳理,根据各个知识的特点,在保证教学内容连贯性的前提下,对现有教学内容进行模块化设计。
  (1)软硬件协同设计的通识教育模块
  在这个模块中,主要集中于嵌入式系统最基本的知识介绍。首先,让学生熟悉嵌入式系统的今生前世、应用场景及发展历程,能按自己的理解给出嵌入式系统的定义。然后,掌握嵌入式系统的硬件体系架构及处理器的基本常识,如微处理器、微控制器、DSP及SOC的基本原理及应用场景。其次,掌握嵌入式操作系统与桌面操作系统的主要区别,了解常见的ucLinux、RT-Linux、Android、IOS、Vxworks、Windows CE等嵌入式操作系统的发展历程及优势,能够按应用需求及嵌入式硬件平台的特点挑选合适的嵌入式操作系统。最后,按照常规的工程设计方法,并引入相关嵌入式产品开发例子为引导,深入了讲解嵌入式软硬件系统设计的思想及特点,让学生能够准确的理解嵌入式开发与传统开发的区别。
  (2)以ARM为例的嵌入式硬件教学模块
  结合计算机专业已有计算机组成原理的基本知识,根据市场主流的ARM处理为例,对嵌入式硬件涉及的重要知识进行介绍。主要分两个方面:1)ARM的简介和内部结构,让学生掌握微处理器的一般特性和一般结构。首先,让学生深入了解ARM的发展历程、个体系结构版本的区别,以此为例让学生掌握嵌入式处理器的流水线、哈弗结构、RISC等重要知识。然后,进一步介绍ARM处理器系列产品的发展及应用领域,如ARM7、ARM9、ARM10、ARM11等微处理器,以此为例让学生学会如何根据各个处理器的优势和特点,能够为特定的应用场景挑选一款合适的处理器。最后,深入ARM的内部结构,介绍ARM处理器的七种工作模式及其各个种模式下各个寄存器的使用规则。2)ARM指令集,掌握基本指令的用法及简单汇编编程。鉴于大部分计算机专业将汇编编程课程设计为选修课,学生完全没有汇编编程基础,拓展ARM的介绍,以ARM指令集为例让学生理解程序和指令的运行机理,掌握基本汇编编程方法,促进学生能运用汇编改进嵌入式程序的性能,或能运用指令去开发驱动程序。
  (3)以嵌入式Linux为例的嵌入式操作系统教学模块
  嵌入式操作系统种类超过200多种,各个系统都具有各式各样的特点,以应用市场最大的嵌入式Linux为例,介绍嵌入式操作系统的特点与基本原理,让学生具备剪切或修改操作系统的基本能力。首先,介绍Linux的发展历程及特点、简单命令、Shell编程、I\O编程等基本知识,让学生具备使用Linux的基本能力。然后,根据ucLinux引入嵌入式Linux的内存管理介绍,介绍MMU在内存管理的重要性及原理;根据RT-Linux引入嵌入式Linux的进程调度介绍,介绍实时任务调度的一般方法和原理。其次,增加boot loader和文件系统的介绍,介绍嵌入式系统是如何通用boot loader运行起来,基于Flash的文件系统应具备的机制和原理,以此让学生具备能够根据具体市场应用,选择合适的嵌入式操作系统,能够完成嵌入式操作系统的修改与移植。
  (4)以驱动程序开发为例的软件教学模块
  嵌入式Linux系统一般包括了大部分主流外设的驱动程序,如键盘、鼠标、显示器等。但嵌入式系统的自身特点决定了嵌入式设备必定搭载丰富的、未定义的外设。为此,驱动程序开发是嵌入式开发中最具代表性的软件开发,且必须结合特定的硬件平台进行开发。首先,介绍驱动程序的基本原理及特点,让学生对驱动程序有基本的认知。然后,介绍驱动程序结构,了解驱动程序的基本构造及基本函数库。其实,以字符驱动设计为例,介绍驱动开发的过程,让学生能够独立完成简单的嵌入式驱动开发,掌握一般软件的设计方法,如可重入函数设计、C语言与汇编混合编程、软硬件系统开发等基本方法。
  (5)教学实验模块
  结合教学内容,首先挑选基于ARM+Linux的实验平台。其次,为学生设计课内实验内容,包括搭建嵌入式Linux主机开发环境及其调试环境、完成设定的Linux shell編程及I/O编程、完成嵌入式系统的移植、完成典型且较为简单的驱动程序开发等内容。最后,设置开放性题目,让学生基于已有嵌入式平台完成具有一定功能的嵌入式产品,如小型路由器、TCP\IP的实现等。
  三、结语
  嵌入式课程是一门具有挑战性的课程,知识涉及计算机专业的硬件、系统及软件等方面的知识,对学生的学习门槛较高。针对计算机专业学生的学习情况,本文结合嵌入式系统的基本原理及嵌入式开发的基本要求,重新梳理了教学内容,对教学内容进行模块化设计,以此让学生能够更为清晰的理解和掌握嵌入式系统课程的重要知识。
  参考文献:
  [1]廖俊杰,周小平,李桂峰,等.职业核心能力嵌入式教学模式改革与实践[J]. 中国职业技术教育,2016(8):54-57.
  [2]鄢秋荣,王玉皞,王艳庆,等.面向软硬件协同设计的嵌入式系统教学改革与实践[J].实验室研究与探索,2016(6):190-193.
转载注明来源:https://www.xzbu.com/1/view-14731137.htm