基于嵌入式系统课程特质的系统化思维与能力培养

2019-12-20 04:34张凯龙
计算机教育 2019年10期
关键词:系统化嵌入式体系

张凯龙

(西北工业大学 计算机学院,陕西 西安 710129)

0 引 言

嵌入式系统、物联网、人工智能等信息技术的快速发展推动了诸多行业从数字化、网络化阶段快速迈向物联化、智能化阶段,多学科知识交叉、人机物深度互联、信息与物理世界深度融合的万物智联时代已经到来。嵌入式系统的不断发展为几乎所有的电子设备行业注入了新的活力,在推动诸多传统行业日益智能化升级发展的同时,可穿戴设备、智能家居及各类共享装备等基于嵌入式系统技术的新兴领域和行业也在不断涌现。这一趋势孕育出了巨大的潜在产业空间,也对专业人才提出了更多数量、更优品质的迫切需求。

面对不断演化的新特征和新需求,嵌入式系统人才培养的内涵也在不断发展与更新,那么,如何适应新形势来组织嵌入式课程知识体系和教学模式已经引起了高校与广大教师的关注:文献[1]研究探讨了在电子信息类专业开展嵌入式系统教学改革的思路,并结合人才需要探索将嵌入式系统贯穿到整个课程培养体系的方法和模式;文献[2]面向卓越人才培养特点,提出了一种具有明确教学目标、先进教学理念、教学评价激励机制,且可以有效优化教学方法、提升教学质量和教学效果的教学模式,期望促进嵌入式系统教学体系的完善;文献[3]则围绕培养面向实践创新人才的目标,探索了课程教学环节及实践模式的改革方法;文献[4]结合面向系统的教学体系特点,探讨了如何通过教学与实验使学生能够将计算机软硬件系统相关知识融会贯通,并提高学生深入理解计算机系统和综合系统设计能力的方法;文献[5]也围绕系统能力培养对嵌入式系统课程的建设思路进行了探索,分别改进了理论教学与实验教学部分的内容设计与组织模式;文献[6-7]围绕系统化思维与能力培养,对嵌入式系统课程的知识体系的重构进行了探索。这些研究工作已经从面向系统能力培养的知识体系、教学模式、实践环节等方面进行了积极实践,为开展更进一步的探索奠定了好的基础。

1 知识体系的系统化特质

1.1 嵌入式系统知识体系分析

梳理、构建多维融合的嵌入式系统知识体系是开展系统化思维与能力培养的重要前提。从系统角度来看,嵌入式系统的知识涵盖了硬件、软件、开发三个主要组成部分,其知识体系组织要以硬件组成与构建、软件组成与构建,以及开发中的调试、测试与仿真等内容为核心体系。从计算系统角度来看,嵌入式系统以计算机技术为基础,呈现出面向特定应用、软硬件可定制且具有非功能性约束等特征,是专用的计算装置。从形态来看,嵌入式系统由不同复杂程度的软硬件构成:电动玩具、冰箱空调中的控制系统以功能较为简单的微控制器为核心,直接部署用于逻辑运算和I/O 控制的裸机软件;对于智能手机、数字电视等功能更为复杂且需要多任务并发服务的嵌入式应用,其嵌入式系统通常会采用更为强大的嵌入式处理器,并基于嵌入式操作系统来部署复杂的应用软件;对于虚拟现实、智能驾驶、航空航天等复杂领域应用,则可能需要构建分布式或并行架构的嵌入式系统。显然,嵌入式系统不同于架构较为单一的通用计算系统,其技术本身以及应用都是形态多样、不断演化的。

作为一门强调“系统”的课程,嵌入式系统的知识体系具有高度综合的系统化特质,可结合嵌入式系统的软硬件组成来进行讨论:首先,嵌入式系统硬件本身的知识体系覆盖就非常广泛,涵盖了电路设计基础、数字电路、计算机组成与体系结构、总线与接口以及处理器体系、存储机制与组件、基于最小系统的设计与调试等;其次,嵌入式软件部分具有与硬件密切关联且同样庞大的知识体系,仅系统软件(包)而言,就涉及ROM Monitor(监控程序固件)、Boot Loader、BSP、嵌入式(实时)操作系统、驱动软件、通信协议栈、图形库、数据库及中间件等多类组件,这些软件组件在开发或者系统引导、启动的过程中彼此关联;最后,嵌入式系统还包括了开发、集成、调试、测试与部署等相关的知识。由此可见,嵌入式系统课程的知识体系高度综合,必须要首先构建起纵向连通、横向拓展、深度穿透的多维、立体知识体系,这是进行系统化思维和能力培养的基石。

1.2 以系统化方法构建课程内容和教学过程

除了知识构成上的综合化特质之外,这些知识点之间还具有密切的系统化关联特性,该特性的发掘可以有效促进学生对所学内容的融通掌握,这涉及课程内容的构建和教学过程的重新设计。

对于嵌入式系统课程如此庞大的知识体系,传统的教学方式存在不足。经过多年的教学探索,笔者认为其内容组织首要的是深度发掘知识点之间的内在联系,以循序渐进的逻辑组织建立起知识网络或者是知识树,这是避免知识点割裂对课程系统特质造成破坏的重要前提,如复位电路、处理器复位逻辑与系统引导、软件加载的关联,电源电路、时钟电路与低功耗管理的关联,监控程序、引导程序、操作系统、虚拟机之间的关联等。在此基础上,还必须建立呼应式的教学过程,要注意以特定软硬件运行过程为例进行讲述,从而实现知识点的融通,如通过分析嵌入式系统引导过程,就可以生动地将上电复位、ROM/Flash 指令寻址、基本的接口与内存初始化、引导代码加载,以及监控程序、引导程序到操作系统的增量式接口驱动、内存模式配置以及软件组件等知识点有机地串联起来。在教学实践中,学生普遍反映这样的方式更为生动,更有助于对知识体系的掌握。

当然,嵌入式系统专业人才最终是必须要具备将嵌入式系统的知识体系与领域知识相融合的能力。相较而言,这是一种更为广义的系统化能力,在课程教学过程中有必要对学生进行引导和启发。

2 强调思想学习的系统思维培养

嵌入式系统是典型的工科、技术型课程,对该课程的学习要侧重于对各种技术的运用,但这种技术型教学模式会产生无法有效激发学生主动思考、主动学习等问题,造成课程培养能力的浪费,根本上也已不适应强调专业思维和系统能力的高水平专业人才培养新要求。嵌入式系统课程的课堂到底应该突出什么主题、以什么为核心思想进行组织呢?在多年的教学尝试和探索中,笔者发现有必要将该课程的教学从讲授技术向传授思想方法转型。主要原因有3 个:①嵌入式系统不断发展,基础技术不再是新概念、新事物,已演化为共性基础;②嵌入式系统技术体系形态多样、千变万化,聚焦任何具体技术都无法有效达成系统化思维与能力的培养要求;③各种教材、手册及技术类电子资源日益丰富,学生完全可以通过互联网获取资源并自学,比有限课时内的讲述更透彻、更生动、更有效。

嵌入式系统的知识体系包罗万象,从软硬件体系架构到处理器、存储器、各类接口与总线、嵌入式操作系统与软件组件、领域应用都是百花齐放的,每一个点都自成体系、可成为一门课程,讲什么、怎么讲就成为嵌入式系统课程教学过程中长期存在的困惑。常见的课程组织有两种典型方式。一种是“只见树木、不见森林”型,其课程体系聚焦于特定的对象,如某种主流的ARM 处理器或是VxWorks 操作系统等。这种类型的课程偏向实用型,可以让学生学习掌握该类技术的体系、细节和使用方法,但难免陷入一叶障目、照本宣科的情形。另一种是“只见森林、不见树木”型,其课程是以嵌入式系统体系为框架进行组织,这种课程体系表面上看是贯穿了系统思维培养,但实际上要在有限的篇幅内做到体系完善且具有深度是有难度的,常常会导致课程讲授流于表面、内容空洞的问题。在对这些问题进行深入探索和研究的基础上,笔者总结并提出:嵌入式系统课程的教学必须在构建体系的前提下将技术原理与思想方法、课内讲授与课外自学有机结合起来,这是适应新时期培养要求的有效途径。

2.1 从技术原理中提炼思想方法

经过多年的探索和验证,笔者认为先共性模型后具体对象是解决嵌入式系统因形态多元导致本课程教学难度大问题的有效方法。在教学过程中,要避免将注意力聚焦在每一个具体技术的表面(如接口定义、参数范围、调用方法等内容),而是要相信学生的能力,力争直达知识点的原理和思想本质(如嵌入式处理器体系有诸多类型,每种类型又包含了数十上百种具体型号),这对以物言物的传统教学方法实在是个难题。笔者在重构知识体系的过程中[7],便是采用了共性模型归纳、具体示例呼应的方式来组织该部分内容。从模型讲,可以归纳出嵌入式处理器的组成模型、体系架构以及指令与指令集、寄存器等共性内容,在此基础上,采用典型实例将这些模型具体化,促进学生的理解和掌握。实际上,嵌入式操作系统等内容的学习也与之类似。当然,这其中也蕴含了学生如何有效进行课程学习的思路和方法。又如,学习看门狗电路是学习如何设计具有自恢复能力的可靠系统,而不仅是采用器件来搭建看门狗电路。由此,可以将看门狗思想延伸至可靠复杂软硬件的设计,用诸如心跳任务来实现与/或逻辑的多任务可靠管理等。学习嵌入式操作系统的分区存储管理技术应重点学习面向确定型应用提前分配资源,用资源开销来提升系统的效率和可靠性,而不应仅是学习如何调用API来创建、分配、回收、销毁分区。基于分区管理思想,我们就可以设计类似的任务生命期管理机制,避免传统方式下创建、销毁任务造成的效率降低和可能出现的逻辑错误。再如,优先级继承是解决多任务系统中优先级翻转问题的有效方法,但其思想对于物理世界中的某些场景也是同样有效的,如用以解决救护车、公交车、私家车等不同紧急级别车辆的通行调度问题[8]。这样的示例在嵌入式系统知识体系中极为丰富,需要我们在教学中不断研究和发掘,进而通过思想的学习来充分放大这些知识的效用。

2.2 思想讲授与方法自学相结合

显然,聚焦思想的讲授能有效放大课程学习的效能,但接下来的问题在于,如果课程的教学仅限于课堂且仅限于教师在课堂的理论讲授,嵌入式系统的教学将可能脱离实际,是无法有效激活学生积极性并落地的。为了进一步提升系统思维与能力培养的效果,笔者探索了思想讲授与方法自学相结合的教学组织模式。实际上,这种课内学时、课外学时相结合并非一个全新模式。在教学探索中,笔者结合嵌入式系统课程的知识体系特点及系统能力培养目标对该模式进行了定制化改进,课内聚焦思想原理、课外侧重运用方法。这主要包括两个方面:①基于构建的多维知识体系,梳理各知识点的思想、方法、运用内涵,并对学习侧重点进行有效分割;②在课堂讲授思想方法的同时,要引入实例来引导学生主动学习的意识,并通过课后自学来全面掌握运用方法,如“搭积木”式的硬件、软件设计思想,让学生掌握了框架设计及关键技术的原理,但如何将技术“填充”到框架中以形成系统,则需要学生在课外投入大量的精力进行钻研。

近年来的教学反馈表明,学生普遍反映改革后的嵌入式系统课程学习耗时间、“负担”重,但同时也反映学习本课程的收益较之前更大。这说明,这一方法的大趋势是正确的,值得继续探索和优化。

3 突出多维实践的系统能力培养

在探索中,笔者围绕系统化思维与能力培养的需要对嵌入式系统课程的内容组织、教学模式进行了改革和优化,但本质上,该培养环节中仍然不能弱化其工科特色。也就是说,课程的落地最终还要依托于实践环节来实现专业能力培养的落地。配合课程教学模式的改革,笔者在教学过程中探索了面向激发学生主动学习兴趣、系统能力培养以及分类能力提升的多维融合实践体系。首先,在课堂上引入了丰富的科研、工程案例分析,既有助于知识点从抽象到具体的生动转化,也有助于引导、激发学生的学习兴趣,可以说,脱离实例的理论讲授不适合嵌入式系统课程的教学。其次,设立了随课设计这一实践环节,该环节可看作是课后作业的一种,贯穿整个教学过程。随课设计环节要求学生在课程之初就进行分组并选定一个“难度不大但体系完整的系统设计”作为选题。在课程进行中,以“从最小系统做起、循序渐进”的方式增量地将所学内容融入系统设计。这种模式可有效激发学生课外学习的主动性,促进基础知识和方法的掌握。最后,课程后期的综合实验环节,该环节以专业实验平台为基础,支持学生进行更为复杂的软硬件系统性实验,侧重于基于复杂嵌入式软件的资源访问、机制运用、逻辑算法、用户界面等设计。到此为止,这3 个融合的实验环节可以满足对嵌入式系统专业人才实践化培养的要求。另外,作为课外培养的延伸,鼓励、指导优秀学生参加创新创业大赛、全国大学生物联网设计大赛等专业竞赛,同时鼓励学生进一步发表学术论文并申报国家专利等,这些措施可以启发和培养学生的创新思维与系统能力。实践表明,这种方式可以有效拓展优秀学生品质培养的维度,也为其后续开展研究工作奠定了好的基础。

4 结 语

在多科交叉融合发展、新兴领域层出不穷的万物智联新时期,高水平研究型大学的计算机人才培养呈现出显著的复合型、系统化需求。作为一门共性基础课程,嵌入式系统天然具备系统化思维与能力培养的特质。在分析嵌入式系统课程特点的基础上,通过重构嵌入式系统知识体系、改革教学模式以及强调思想方法的学习和优化实践体系的多个维度来进行专业人才培养,这一探索经过了教学实践的检验并已取得好的效果。当然,万事万物不断演化,嵌入式系统教学及人才培养必然仍然需要持续探索和研究,我们将在未来的人才培养工作中不断进行改革和优化。

猜你喜欢
系统化嵌入式体系
基于IMX6ULL的嵌入式根文件系统构建
TODGA-TBP-OK体系对Sr、Ba、Eu的萃取/反萃行为研究
农村黑臭水体治理实施方案系统化研究
Focal&Naim同框发布1000系列嵌入式扬声器及全新Uniti Atmos流媒体一体机
系统化推进回迁提速
“三个体系”助力交通安全百日攻坚战
基于ARM嵌入式的关于图像处理的交通信号灯识别
TS系列红外传感器在嵌入式控制系统中的应用
“曲线运动”知识体系和方法指导
基于MATLAB软件的苹果内部品质系统化无损检测