APP下载

嵌入式系统课堂教学的改革与实践

2019-06-11董华松

现代职业教育·高职高专 2019年1期
关键词:嵌入式电路芯片

[摘 要] 嵌入式系统课堂教学的难点在于如何既讲解理论知识又不与实践脱节,并且能够符合学生的理论知识储备和就业需求。讨论在嵌入式系统课程教学中如何调整课堂教学内容,并与教学实验遥相呼应,达到相互补充的目的,对同质课程教学活动的开展和内容的调整有一定的参考价值。

[关 键 词] 嵌入式系统;课堂教学;教学改革;教学实践

[中图分类号] G642 [文献标志码] A [文章编号] 2096-0603(2019)01-0206-03

一、引言

嵌入式系统是在数字化智能电子产品集成的基础上发展起来的,从20世纪70年代的单片机到MCU,再到如今高度集成的各种IP核微处理器,嵌入式系统经历了几个阶段的技术飞跃,成为计算机科学领域不可缺少的一个发展方向。

我校的嵌入式系统课程开设已经有10年,课程从研究生覆盖到本科生,本科层次主要针对计算机和自动化专业的本科生开设,课程内容也根据学生基础知识的不同不断修改变化。近几年,国家对嵌入式系统和物联网行业的重视和投入不断加大,反向促进了高校中的相关课程教学目标的不断提升和完善,嵌入式系统涵盖的内容越来越多,综合集成度增高[1,2],学习嵌入式系统方向的高校学生就业需求缺口很大,公司的要求學生一直难以达到,这也表明我们的培养方式、手段和内容还是有问题的,需要不断改进[3,4]。因此,我们对嵌入式系统课程教学的内容进行了持续改革和完善,这样培养的学生才能真正满足社会需要。

二、嵌入式系统教学方案设计

(一)教学目标的确立

中国石油大学的嵌入式系统教学工作,主要着眼于学生的系统综合能力和创新设计,自我学习与提高的能力,为学生今后工作中的研发技能和自我完善能力打好基础。因此,教师要密切跟踪嵌入式系统、电子技术、计算机科学技术、信息学等领域的最新研究成果,积极参与相关学术会议和教学研讨,在教学方式实施过程中加大启发和引导部分,适当减弱指导部分,有针对性地增加案例,如GPS导航设计,分别从硬件和软件两个部分引导学生思考需要哪些器件,如何驱动、管理、存取数据,如何图形化显示数据,并进行研讨和实验。让学生充分讨论后,对实验内容进行具体项目化实施,验证自己的设计是否能够实现。

(二)教学内容的设定

嵌入式系统课程内容的设计要根据学生和教学实验室的实际情况进行安排和调整,在中国石油大学,嵌入式系统课程的性质是专业选修课,选修的学生基本都是计算机系大三的学生,这部分学生都选修过电路设计、C语言或JAVA语言程序设计、计算机组成原理和操作系统,并参与了相关课程的课程设计,对计算机底层的构成和编程机制以及操作系统的基本概念和原理都有较好的了解和认识,因此,我们在安排嵌入式操作系统相关内容时重点关注嵌入式操作系统自身的特点和内核构成及剪裁方法,弱化操作系统的相关概念和基本原理介绍,如进程管理和通信、进程互锁等。对嵌入式系统硬件部分的基本介绍重点强调便携式嵌入式设备的基本构成,相关部件的选择和连接,外部接口的选择等部分,介绍嵌入式处理器的体系结构和对应的汇编语言的基本模式,异常和复位处理等部分,省略更底层的微指令设计部分。由于计算机系学生对电路原理了解不够,因此增加电路图连接方法和基本的PCB解读,保证学生面对大规模集成电路,可以快速地进行集成化的嵌入式系统软硬件设计。

另外,由于本课程作为选修课程只有32学时,其中只有16课时是授课课时,因此,我们在课堂上主要抓住重点部分给学生进行介绍和讲解,传授学生设计中的实践经验,而不是照本宣科地介绍嵌入式系统的一些概念和故事。具体的嵌入式系统课堂教学方案设计如表1所示。

嵌入式系统课程的实验教学安排了16个课时,实验的主要目的是使学生能够掌握基本的嵌入式开发板的结构、组成、底层编程和嵌入式LINUX操作系统的编译移植过程,在嵌入式操作系统搭建好之后,驱动程序的编写、编译和加载过程。在嵌入式系统实验设计中,重点在于嵌入式操作系统的搭建,因此安排了12个课时的实验完成相关内容,对ADS基本程序的读写,重点在于了解无操作系统条件下软件的运行方式,因此仅安排4个课时。具体嵌入式系统实验相关安排如表2所示。

三、嵌入式系统课程内容改革

(一)增加部分硬件电路的分析

目前大部分计算机系对学生的培养都倾向于软件体系远强于硬件体系,大部分的课程都倾向于各种计算机计算理论和各种编程语言,C语言、python、JAVA、C#等语言教学成为主体内容,汇编语言、数字电子技术、编译原理课程一般作为选修课程辅助学习,而相关的硬件课程如模拟电子、电路、Verilog等内容则基本被省略掉了,除非学生自行选修电子或自动化专业的相关课程。而嵌入式系统这门课程需要基础硬件知识的辅助,学生在学习这门课程之前需要了解二极管、三极管的原理和结构,认识电路的各种器件及其连接和组合方式,能够识别各种外围电路的连接方法,否则嵌入式系统课程的学习也只能是空中楼阁,学生只能学习一些简单的顶层应用程序的编写和一些实验操作,对将来的就业和实践没有实质性帮助。

由于大部分学生并没有经过这方面的专业训练,因此,我们在课程中增加了芯片电路图的分析和解读,引导学生学习查看芯片手册,通过这个部分的学习,使学生能够了解主芯片与外围芯片的连接方式对编程和底层驱动编写的影响,从而更好地促进学生对芯片的驱动程序和嵌入式操作系统内核运行方式的认识,进一步站在整个系统的高度上研究嵌入式系统核心硬件和软件的实质。例如,三星公司的ARM2410核心板上NOR FLASH芯片(图1)是从LADDR1地址线开始连接的,而正常情况下应从LADDR0开始连接,从这里就可以引申出CPU字长32位并不意味着有32位地址线,对应的FLASH芯片的位宽不同,连接方式就不同,读取数据的方式就不同,从而驱动程序的编写方式就不同。这里就可以对照着2410芯片的时序和芯片手册中的Memory Controller对应章节的芯片内内存映射图进行讲解,说明外接芯片的连接方式与对应地址的关系,地址线对应的bank如何与外设相连接,进行要求地址的数据交互和命令控制。

通过加入这样的内容,我们可以使学生掌握独立阅读芯片手册的技能和基本读懂开发板电路图的能力,在以后的工作中,不论使用哪种芯片都可以得心应手地进行外围开发和程序編写。

(二)增加嵌入式系统中不同类型接口电路

嵌入式系统中的不同核心芯片都提供了很多接口,从教学中我们发现,很多接口的名字计算机专业的学生尚不能说出对应的含义,甚至部分学生根本就没有听说过,例如,GPIO、UART、SPI、I2C等。针对这个部分,我们通过对相应电路的连接方式,对应的外围电路来给学生解读对应接口的运行方式、接线方法、时序信号、模式设置等,有了这些基础,学生就可以很清晰地了解对应驱动程序的编写方式,虽然很多器件厂家提供了对应的原厂驱动,但是在实际工作中很多都需要进行改进或优化,以适应不同的场合和供电模式以及开发板不同的外围电路。因此,这部分练习能够真正提高学生的分析和应变能力,根据实际情况优化对应的程序。

(三)从最简单的裸板分析开始切入

从简单裸板程序设计开始介入,让学生从最基本的程序在开发板上的实现开始学习,从纯汇编语言设计过渡到汇编语言与C语言混合编程,让学生理解语言的不同,并将应用程序的反汇编代码与源代码一一对照,让学生进行比较和分析,从而理解基本BOOTLOADER编程设计过程。我们以点亮开发板上的一个LED灯为例,程序如图2所示,对应的反汇编程序如图3所示,通过对比讲解,学生就能领悟到一段汇编代码是如何编译成一段可执行的二进制文件,这段二进制文件在执行时对应的变量、常量是如何根据芯片位数存储在内存不同位置的,对应的十六进制机器码是如何得来的,这样对学生理解更上层的操作系统是如何运行的有非常好的作用。

我们还可根据学生情况,对同一段程序引入C语言和汇编语言混合版,让学生根据常见的BOOTLOADER基本形式进行分析比对,理解开发板的第一段程序不能用纯C的原因,并且掌握初始的汇编语言的作用,堆栈段的大小设置规律,并通过实验进行开发板运行验证,与BOOTLOADER源代码的设计模式进行对比分析,阅读BOOTLOADER编译对应的Makefile,学生才能更加清楚地理解底层代码的运作模式和编程思路,从而融会贯通,逐层理解上层操作系统的工作方式,进一步成为优秀的系统分析设计人员。

四、嵌入式系统教学内容改革效果

嵌入式系统教学内容改革经过一年的试运行,效果非常好,学生对课程内容和实验内容改革的效果都非常认可。学生的反馈意见表明(表3),新调整的嵌入式系统课程教学内容的改革使学生不但能学习和实践很多综合性硬件知识,而且对直接底层软件的工作方式和编程方案都有了更深入的认识。通过进一步动手实验,自行驱动开发板上硬件构建的运行,对软硬件协调有了实质性感受,从而带动学生反思操作系统和计算机组成原理等相关理论课程内容在应用阶段的具体实践。

五、结语

嵌入式系统课程内容的改革与调整主要针对学生的实际知识储备情况和操作技能需求,并考虑学生的就业需求,增加了对电路和芯片手册的分析和解读,从电路分析入手,涵盖了学生对具体芯片连接方法和驱动程序中对应汇编语言的编写方式,让学生能够真正理解底层硬件的连接和驱动,从而能够更好地阅读和编辑上层的嵌入式操作系统的构件。嵌入式系统课程内容的调整有两年,从学生的课程效果反馈评价来看,基本能够达到预期效果。在今后的嵌入式系统课堂教学中,我们要进一步优化改进教学内容和教学手段,使学生有更好的学习体验。

参考文献:

[1]董华松,王新.TBL在嵌入式系统课程实验教学中的优化与应用[J].价值工程育,2015(29):179-180.

[2]徐平,薛凌云,尚平.《嵌入式系统》课程实践教学模式的探索与研究[J].教育教学论坛,2017(25).

[3]陈卫丽,黄金雪.面向社会需求的嵌入式教学改革与实践[J].计算机时代,2017(6).

[4]张晓东,孙丽君,鲁可.高校嵌入式系统课程教学改革探索[J].中国电力教育,2013(8).

编辑 冯永霞

猜你喜欢

嵌入式电路芯片
电路的保护
基于用户和电路的攻击识别方法
“简化法”巧解电路问题
装错芯片的机器人
巧用求差法判断电路中物理量大小
植入芯片变身“超人”,挥手开门不再是传说
什么是AMD64
嵌入式LINUX操作系统的研究
嵌入式组件技术的研究及应用
“嵌入式系统概论”课程设计