基于项目驱动型“嵌入式系统”课程教学探索
作者 薛李娜 夏汉初 姚美琴 孙蔓 许婷
发表于 2023年8月

摘 要 在 新工科 人才培养背景下 文章以嵌入式系统课程为切入点 建立物联网工程和计算机科学与技术应用本科实践教学课程体系 探索以项目设计为中心的教学模式 形成以技术应用为主导的项目训练 开展以学生为主体 以项目设计引领 以自主学习和团队协作为原则的研讨式教学模式 让教师的教学活动从以 灌输知识 为主向 传授学习方法 转变 使教师和学生发生根本性角色转变 教师从 中心 地位 走 下来 变 教 为 导 学生改变以往被动接受的状态 在课堂上 动 起来 变被动学习为主动学习 从而掌握良好的学习方法 该文章旨在为应用型人才培养提供有效途径

关键词 项目驱动 嵌入式系统 教学改革

中图法分类号 g642  文献标识码a

1 引言

从2017 年“新工科”的提出,至今为止已过5 年,各大院校新增了一批新工科专业,开启了培养应用型人才的新进程。马鞍山学院物联网工程专业就是在这一背景下开設的,在2018 年招收了第一批学生。物联网工程是计算机、控制、通信等学科交叉的跨学科专业,专业目标是面向行业应用培养复合型创新工程技术人才[1] ,着重学生综合素质、工程实践能力、工程设计能力以及工程创新能力培养,使学生能够具备计算思维能力、程序设计与实现能力、网络系统设计能力以及数据智能分析能力,并在物联网重点应用领域,从事科学研究物联网系统工程的设计、开发、集成和管理等工作。

“嵌入式系统”课程是以嵌入式系统技术为主导、应用为中心的课程。嵌入式系统技术以计算机技术为基础,软件硬件功能可裁剪,而且可靠性、功耗、成本、体积均有严格要求[2] 。作为物联网工程专业的核心课程,“嵌入式系统”课程在物联网的全面感知层面起到举足轻重的作用。该课程具有较强的综合性、实践性,综合软硬件,理论教学内容体现了多个学科的融合。学生若要学好“嵌入式系统”课程,则要将一部分先修课程学好:编程语言从C 语言到嵌入式LinuxC语言应用编程,硬件也要先学习单片机原理与接口技术。

在日益信息化的社会,计算机和网络已渗透人们日常生活的每一个角落,人们需要的已不仅是放在桌上处理文档,而是需要进行工作管理和生产控制的计算机“机器”。各种各样的嵌入式系统在应用数量上已超过通用PC[3] ,任何一个人都可能拥有嵌入式技术的各种电子产品,如mp3、PDA、网络家电、智能家电、车载电子设备等。而在工业领域中,使用嵌入式技术的数字机床、智能工具、工业机器人也在逐渐改变传统的工业方式。

随着物联网和工业物联网的出现,嵌入式控制系统信息技术已成为智能和物联网生态环境系统可以快速发展的推动者。广泛、多样且高度分散的嵌入式系统市场包括软件、开发平台和硬件。目前,越来越多的行业、产品和服务依赖于嵌入式系统,这造成了在人才市场上嵌入式系统技术人才的紧缺。因此,“嵌入式系统”课程的开设旨在为社会提供更多的嵌入式系统技术人才,并满足当前应用型高校的目标。

2 嵌入式系统课程教学现状及改革意义

马鞍山学院“嵌入式系统”课程由32 学时理论课、16 学时实验课组成。课程上课模式主要以教师为主导的方式,整堂课的教学是在不断地向学生灌输抽象、晦涩难懂的理论知识中完成。学生处于被动接收的状态,实验课程仅仅是对原理知识进行简单的验证性实验,设计性、综合性的实验项目严重匮乏,致使学生在实验课程的全过程中几乎从未真正地接触到与实际工程密切相关的项目,不利于培养学生的实践应用与创新能力。当前,社会需要的是有实际动手能力的嵌入式系统技术人才[4] ,这一要求是目前教学模式下无法达到的。因此,为了解决学生对“嵌入式系统”动手能力弱的问题,马鞍山学院在课程体系设置过程中,增加了“嵌入式系统”课程的综合设计。虽然初步达到了学生对硬件思维的建立这一目的,但从质量上来讲远远不够,大部分学生仍然还停留在“纸上谈兵”的阶段,无法将所学知识应用到实际任务中。因此,“嵌入式系统”课程教学改革的首要任务就是合理调整教学内容,将理论与实践相结合,并适当改变教学模式。

3 基于项目驱动型“ 嵌入式系统” 课程教学改革方案

当前“嵌入式系统”课程传统教学方式效果不佳,学生对该课程接受程度不高,因此结合马鞍山学院实际,探讨课程教学改革。

“项目驱动教学” 的核心是以“学生” 为课堂主体,将项目作为主线,从简单实例着手,引导学生逐步解决项目中遇到的各种问题,并将课程知识点在项目引导中展示给学生。在整个教学过程中要求学生主动参与执行项目的每一个环节,尝试各项目的成功调试,让学生对这一课程内容产生浓厚的兴趣,并具备发现问题、分析问题、解决问题及实践的能力。在“嵌入式系统”课程教学中,采用项目驱动教学模式可以提升学生对课程的兴趣,调动学生的积极性,引导学生自主发现问题、解决问题。

3.1 课程规划

将“项目驱动教学”方法应用到“嵌入式系统”课程教学中,最根本的做法是要扩充对实践项目的设置。让教师“走”下来,促使学生“动”起来。将目前的48 个课时全部投入到实验室,让教师从具体项目着手将学生引入。

因此,“项目”设置对整个教学过程尤为重要。课程教学项目设置的总体原则为完成教学大纲规定的教学内容,能够实现教学目标,教学项目的选择不能太大,以防止在教学大纲规定的学时内无法完成项目的开发。

当前,国内高校对“嵌入式系统”的教学大致分为2 类。一类是完全以完成功能为主的裸机开发,以Cortex⁃M 系列单片机为主控芯片的应用程序、驱动程序的开发[5⁃6] 。由于单片机课程在“嵌入式系统”课程开设前已经开设,这一类教学目标是在8051 的基础上进行了提升,学生比较容易接受,但在实际的应用中也存在一定限制性。另一类是除裸机开发外还需要侧重系统移植的教学。这一类是以Cortex⁃A 系列单片机为主,完成对Linux 等系统的移植,以期完成更复杂的功能。这一类教学涉及的学科种类较多,因此课程总体难度较大,学生接受相对吃力。

考虑学生有面向学科竞赛,以及毕业设计与就业的需求, 教学课程组选择了第二类教学目标: 以Cortex⁃A9 系列单片机为主,完成裸机开发与ARM 架构下Linux 系统的移植2 大模块教学。教学目标安排如表1 所列。

上文是考虑到马鞍山“嵌入式系统”课程开设在大三春学期,学生在此之前已经修完C 语言,Linux 操作系统、嵌入式C 语言应用编程、单片机原理与技术等课程,这些课程可以支撑起“嵌入式系统”课程前期准备阶段。

3.2 项目设置

本课程所有项目采用的处理器为Samsung 的ARM Cortex⁃A9 架构的四核处理器Exynos4412。课程教学目标可以分为2 个完整项目,这2 个项目针对教学目标的2 大模块。(1)裸机开发完成功能要求,这一项目,针对功能简单仅包括应用程序的嵌入式系统,一般不使用操作系统。(2)基于Linux 系统移植后平台进行嵌入式应用程序和驱动程序的开发。从应用上来看这2 大类难易程度不同。相较而言,基于单片机做功能的裸机开发更为简单。

结合以上分析,选择了农业大棚环境监测系统和无人安防监控系统2 个项目。

3.2.1 农业大棚环境监测系统项目的分解

使用农业大棚环境监测系统项目完成裸机开发的教学目标,具体包括GPIO,UART,AD 转换器,PWM定时器及中断应用。项目以Exynos4412 为主控芯片,外接温湿度传感器、土壤湿度传感器、光敏传感器等,实时采集大棚内环境参数,实现定时数据刷新。当参数超过或者低于所设定阈值时,实现风扇、水泵、照明灯的自启动,并根据数据变化调整风速等,甚至可以通过有线或者无线的方式实现上位机数据传输,让用户可以在上位机上查看到环境参数。实现一个自动调节的环境监测系统。

实现该环境监测系统需要完成以下工作。(1)启动各个传感器采集数据,这一过程需要掌握GPIO 的应用,以及AD 转换器的使用。(2)使用按键实现阈值的设置,这一过程主要完成中断应用的学习。(3)实现风扇、水泵、光照强度的调节。这一过程主要实现PWM 定时器学习。(4)通过有线方式实现与上位机之间的数据传输。这一过程实现UART 的应用学习。(5)通过无线方式实现与上位机之间的数据传输。这一过程实现短距离无线通信的介绍。通过对项目的分解,基本上可以覆盖裸机开发的基本知识要点,课时充裕的情况下还可以继续在系统中增加I2C通信的重力感应/ 陀螺仪的应用等。这些教学目标基本可以满足学生完成简单小型系统的竞赛和毕业设计的要求。

3.2.2 无人安防监控系统项目的分解

使用无人安防监控系统项目完成系统移植的教学目标,具体包括交叉开发环境搭建、U⁃Boot 移植、Linux 系统移植、文件系统构建、网卡驱动的移植、摄像头驱动程序开发。项目以Exynos4412 为主控芯片,基于Linux 系统完成安防监控,红外传感器实现对监控地区的来客告知。通过摄像头实现远程实时现场监控, 以及监控视频的传输、保存。

实现该监控系统要分成2 个阶段片上系统准备阶段即移植系统和驱动移植。

片上系统准备阶段主要完成以下工作。(1)完成开发环境搭建。包括宿主机Linux 騙_D?_?&环境的安装配置、交叉编译工具链的制作。(2)U⁃Boot 移植。包括引导程序U⁃Boot 常用命令使用及U⁃Boot 的移植。(3)Linux 内核移植。这一部分要在ARM9 处理器上,完成对Linux 系统的移植和内核裁剪。(4)由于整个系统需要对视频进行存储等,这一部分需完成文件系统的制作。

Linux 环境下驱动移植开发阶段完成的工作。(1)完成基于USB 的摄像头驱动的开发,将其移植到Linux 系统中。(2)通过摄像头实现远程实时现场监控与视频传输,需要网络通信。这部分需要对网卡驱动程序移植开发。(3)视频数据传输到上位机并进行显示。这部分完成Linux 操作系统下的应用程序开发。

将无人安防监控系统项目分解后会发现需要完成的任务在课时要求下无法全部完成。此时,需要做一部分取舍。首先,保留片上系统的所有任务,这是能够在Linux 系统环境下开发应用程序和驱动程序的前提。其次,在Linux 环境下驱动移植开发阶段任务做取舍,保留网卡驱动程序移植开发,因为摄像头属于功能性外设,若换一个项目,则可能用不到摄像头。相应的应用程序的开发也是同样,因此这种情况下,可以做一个舍弃。

3.3 项目实施

项目实施首要做的是激起学生对这门课程的好奇心和兴趣。这就要求教师在第一次课上,直接演示已经完成的实验项目。让学生明白“嵌入式系统”课程实际上是以产品为主的课程,而不是理论测验课程。最后,将演示项目分解为多个任务,将任务实现所需要的理论知识和书本单元教学相关联,并将整个教学过程通过理论穿插进任务点的完成过程中。通过实施实验项目,在完成任务的同时,也达到了对相关知识点掌握的目的。

课前,教师将项目划分好的任务制定成项目计划。课堂上,将学生分为不同开发小组,发放任务。当划分后的项目任务下发后,教师不再是课堂的“中心”,而是担任“引导者”的角色,全程参与各个小组的项目实施过程,在过程中,发现问题,引导解决问题,基础理论知识就在引导解决问题的过程中“渗透”给每一位学生。

在这个过程中,为保证教学效果,整个完整的教学过程全部安排在嵌入式实验室进行,尽量将学生控制在30 人以内,每组5~6 人,保证教师能在教学时间内有充足的精力去“引导”每一个组。

3.4 课程考核标准

现有的课程考核标准为“60%的卷面成绩+40%的平时成绩”,这种考核标准已经不适合项目驱动型教学课程考核。现根据项目驱动教学的特点,采取以下的考核标准,如表2 所列。

该考核标准降低了试卷考核的比例,突出了项目考核角度,可以提高学生的积极主动性,有利于学生创新能力的提高,以及学会团队合作与具备解决问题的思维与能力。

4 结束语

教学方法的改革是“嵌入式系统”课程提高教学质量的重要保证。教育观念的转变(“教”与“学”并重)带动教学方式的转变(“教”与“学”互动)。通过改变“灌输式”的教学方法,开展以学生为主体,以项目设计引领,以自主学习和团队协作为原则的项目驱动型的研讨式教学,使教师和学生发生根本性角色转变,教师从“中心”地位“走下来”,变“教”为“导”。学生改变以往被动接受的状态,变被动学习为主动学习,掌握良好的学习方法,从而真正实现应用型民办本科院校的人才培养的目标。

参考文献:

[1] 邹津婷,张启美,李秋月,等.新工科背景下物联网专业电子技术课程教学创新改革实践[J].电脑与电信,2022(6):24⁃27.

[2] 王海波,汤东阳,赵德明.嵌入式技术发展综述[J].数字技术与应用,2014(6):117⁃118.

[3] 王树红.嵌入式系统的现状及发展趋势[J].太原大学学报,2007(2):121⁃122+139.

[4] 李扬.AIoT 背景下高职嵌入式人工智能人才培养研究[J].湖南邮电职业技术学院学报,2021,20(4):42⁃45.

[5] 李薇,何先波,刘敏,等.IT 专业嵌入式课程教学模式改革研究[J].计算机教育,2017(6):135⁃139.

[6] 陈海生,王峰,郭晓云.物联网专业嵌入式课程体系建设研究[J].河北农业大学学报(农林教育版),2014,16(4):80⁃82.

作者简介:

薛李娜(1994—),硕士,助教,研究方向:物联网技术。

夏汉初(1964—),本科,高級工程师,研究方向:物联网技术。

姚美琴(1995—),硕士,助教,研究方向:物联网技术。

孙蔓(1995—),硕士,助教,研究方向:物联网技术。

许婷(1990—),硕士,讲师,研究方向:计算机视觉。

本文刊登于《计算机应用文摘》2023年15期
龙源期刊网正版版权
更多文章来自
订阅