论文部分内容阅读
[摘要]嵌入式系统的巨大应用潜力使其成为计算机科学与技术、电子信息工程等信息类专业的重要专业课。该课程具有典型的软、硬件知识综合特点,因此对教学手段和自学条件提出了更高的要求。一方面涉及一些抽象概念,增加了学习难度和教学难度;另一方面强烈依赖于硬件平台,这在很大程度上制约了教学和自学。可视化技术为缓解上述问题提供了技术手段。为此针对理论教学环节开发了一个可视化教学系统。该系统从静态、动态和交互式的不同层次对课程的抽象问题进行了可视化表达,为教学和学生自学提供了直观的可视化平台。
[关键词]嵌入式 可视化 教学
[中图分类号]G642 [文献标识码]A
一、引言
嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活中。在我国嵌入式系统已经从嵌入式系统技术走向嵌入式产业,并且由于“3C”(Computer、Communication、Consumer Electrics)融合和IT技术大融合正在加速这一产业化进程,嵌入式系统是中国厂商从“中国制造”向“中国创造”转变的最佳契机。由此催生了对嵌入式人才的迫切需求[1]。这种情势下许多高校在计算机科学与技术、电子信息工程、电子科学技术等专业纷纷开设嵌入式系统的相关课程。嵌入式系统教学方法和教学手段的研究也引起了人们的关注。由于嵌入式教学进入高校的时间还不是很长,相关的教学方法和手段还未能充分考虑到课程的上述特点。这就使得有必要对课程的教学特点进行深入的研究,并以此为基础对对教学思路、方法和手段进行进一步的研究。
二、嵌入式系统课程的教学特点
嵌入式系统课程内容涉及嵌入式系统的基本概念论述、嵌入式处理器、外围硬件设计、软件体系结构、实时操作系统、板级支持包、系统引导、软件设计方法、软件编程和软件开发环境等,是一门涉及领域广泛,并且尺度和特性可裁剪的软、硬件集成的课程。因为涉及到性质显著区别的知识领域,课程教学具有以下特点:
(1)贴近生活。嵌入式系统广泛应用于航空航天、交通运输、机器人、楼宇设施、通信、办公、银行、金融、商业、医疗、智能家电等领域,与我们的生活息息相关。因此,嵌入式系统设计与实现来源于生活,服务于生活。身边很多的事例足以支撑抽象的概念、深奥的理论。
(2)基础性教学[2]。嵌入式系统具有技术密集的特点,是计算机技术、微电子技术和行业技术相结合的产物,它涉及多个专业方向,如计算机工程、软件工程、工业自动控制、机电工程、精密仪器和电子工程等,因此,嵌入式系统可作为上述各专业方向的基础平台课,以强化专业基础知识,因此,少不了原理性的、抑或具有复杂逻辑关系的抽象理论的讲解。
(3)不同于桌面系统开发。通常,桌面系统基于通用操作系统开发应用软件、应用编程接口和组件库,几乎不涉及底层。但是,嵌入式系统需要涉及操作系统、驱动程序、板级支持包的开发,而且,其正确性尤为重要,关系到系统能否运行,且正确运行[3]。
因此,在教学过程中需针对课程特点采用相应的教学手段和方法。目前,教师和学习者通过使用幻灯片形式的课件,使教师从繁琐枯燥的推导和讲解中解脱出来,通过动态演示等手段,在形象生动的教学气氛中使学习者在有限的时间里理解、掌握、获取更多的资料和信息,从而提高教学效率[4]。但幻灯片课件的动画只能演示一些固定的内容,是相对静态的,而可视化能够借助计算机媒介,应用“视觉语言”表征手段,将知识通过视音频、概念图表、视觉隐喻、知识地图、思维导图及内部结构图等呈现技术,使内隐知识物化或降低知识难度。[5]
三、课程的可视化教学手段及其实施
教学可视化手段通常可以分为静态演示、动态演示、交互式演示和功能仿真等不同层次。而可视化教学手段只有与其所要表达的内容相适应才能发挥其作用。因此针对课程的教学内容特点应用不同的可视化手段是设计实施本课程直观可视化教学系统的前提。
根据课程内容特点,教学内容和可视化教学手段之间的关系如下图所示:
图1:课程内容特点和可视化教学手段关系图
(一)静态展示
嵌入式系统大多数是实时系统,因此有实时和非实时之分。实时系统是对外来事件能在限定的响应时间内做出预定质量处理的计算机系统[6]。学生在校学习期间,更多接触的是桌面系统的开发,一般不涉及实时性能,但是“实时性”是嵌入式系统很重要的概念,正确而深刻地理解这一概念将有助于后期教学内容和课程的学习与实践,也才能做到嵌入式系统软硬件的正确设计与实现。建立了“实时”的概念,进一步按照响应性能又将实时系统分为硬实时系统和软实时系统,按照响应时间的快慢又分为强实时、普通实时和弱实时。特别强调的是硬实时系统并不等于“快”。所有这些概念的理解既抽象又难以区分。但是,实时系统分类的方法往往源于实际,也将指导实际。所以,分类之下所对应的各种现象都发生在我们的身边,生活、工作、学习中活生生的事例足以通俗易懂地讲明这些概念和道理。
按照上述思路,采用可视化的方法,从启发式的角度,有的放矢地展示概念和案例,做到边启发边讲解归纳,加深学生的印象。
图2:嵌入式系统对实时性的要求
类似于上述,教学内容中属于思路简单的顺序、分支、并发/并行的行为均可采用静态展示的方法实现。
(二)动态演示
静态展示不易实现具有交互、复杂组合、控制特性、竞争、流动、实时性等特征的行为,这时可以考虑采用动态演示的方法。如嵌入式实时操作系统中任务状态间的转换关系较为复杂,可以考虑采用动态演示的方法。
嵌入式实时操作系统中所定义的任务状态有5种,即:运行、就绪、广义等待、休止、未登录。其中,广义等待又可细分为等待、挂起、双重等待。用有限状态集合S表示实时操作系统的复杂状态,即
S=(就绪 运行 等待 双重等待 挂起 休止 未登录)
其中的多数状态既是起始态又是终止态,因此,由这7种状态所构成的状态之间的转移函数有十几个。这时,可以将每一个状态作为控制按钮,灵活选择起始态,一次或多次点击该起始态即可得到它与其它状态之间的转移效果。
图3:任务状态之间的切换
(三)动态交互
与传统的桌面软件编程不同,嵌入式软件编程针对特定的硬件平台,要求程序设计语言具备较强的硬件直接操作能力,显然,汇编语言具备这样的特质,但是,由于汇编语言开发的复杂性,难以适应越来越复杂的嵌入式软件开发,因此,C、C++、Java等广泛使用的高级程序设计语言自然就渗透到了嵌入式软件开发。因此,嵌入式软件编程需要讲解汇编语言的GAS的基本风格、与AT&T的差异,C语言的gcc扩展、C51扩展,C语言与汇编语言混合编程。如果按照书本上的知识单纯进行讲解,势必会造成枯燥、难以理解的问题。因此,本部分内容采用实例运行讲解的方式,达到动态交互的目的。
以下是在Linux下使用C语言编写、编译、运行嵌入式系统应用程序。
图4:动态交互
(四)功能仿真
功能仿真是可视化教学的最高技术层次。在这个方面,本文也做了一些初步的探索和实践。
嵌入式操作系统的多任务环境相当于多个人为一个目标而进行作业,之间必然会发生共有资源使用时的冲突,一般采用信号量机制来解决共享资源的互斥访问问题。为了能够形象地说明该问题,可以采用铁路线的信号机动作过程加以对比。把任务比作列车,信号量比作信号机,任务的执行相当于列车在单线铁路上运行[7]。
初始状态,左边的桅杆上挂着信号“?”(可通行),左右两侧都有列车开来,如图5-a。
左边列车取下信号“?”,进入单线区间,右方列车无通行信号,停止,如图5-b。
左边列车走出单线区间,挂上信号“?”,如图5-c。
右边列车取下信号“?”,准备进入单线区间,如图5-d。
整个动作过程可根据讲解的需要进行控制。
图5:铁路线的信号机动作图
四、总结与展望
教学内容的性质和可视化手段的应用之间存在着对应关系,本文在对具有复杂构成的嵌入式系统教学课程进行内容性质分析的基础上开展教学可视化探索,在实际应用中取得了较好的效果。
当然,采用什么样的手段和方法实现可视化效果需要因人而异、因课而异,没有一个统一的标准和要求。但是,使用可视化方法的出发点是相同的,也就是要便于教师的制作、实现和编辑,能够清晰地体现整个教学的先后顺序,做到环环相扣。通过柔性开发,实现教与学的互动,体现启发式教学,本质目的是便于学生的学习、理解和掌握。
嵌入式教学、学习和开发工作涉及复杂的软硬件平台条件。这一条件并不总是满足的。当学生回到宿舍,如果想学习或温习实验内容时,受到实验平台的限制则无法学习。因此,本文进一步的工作将在研究适合的可视化仿真技术的基础上,实现硬件模块的功能仿真,也即虚拟仪器的研究和开发。
基金项目:福建农林大学教学改革项目(01jg04070)
[参考文献]
[1]国家信息技术紧缺人才培养工程嵌入式方向全面启动. http://www.eet-china.com/ART_8800580876_617693_NT_770b6b3c.HTM. 2009年8月10日.
[2]徐慧,金敏.“三点一线”教学方法在“嵌入式系统”课程中的应用[J].教育与教学研究.2009,(10):39-41.
[3]桑楠.嵌入式系统原理及应用开发技术[M].北京;高等教育出版社.2008.
[4]徐红,陆红阳.编译原理实验动态演示系统的设计与实现[J].电脑知识与技术(技术论坛).2005:(9):86-88.
[5]谢泳涓.可视化领域下少数民族英语教学研究[J].教学与管理.2009,(8):58-60.
[6]俞建新,王健,宋健建.嵌入式系统基础教程[M].北京:机械工业出版社.2008.310.
[7]周根林.嵌入式系统原理与应用[M].南京:南京大学出版社.2006.
(作者单位:1.福建农林大学计算机与信息学院,2.福建农林大学食品科学学院 福建福州)
[关键词]嵌入式 可视化 教学
[中图分类号]G642 [文献标识码]A
一、引言
嵌入式系统已经广泛地渗透到科学研究、工程设计、军事技术、各类产业和商业文化艺术以及人们的日常生活中。在我国嵌入式系统已经从嵌入式系统技术走向嵌入式产业,并且由于“3C”(Computer、Communication、Consumer Electrics)融合和IT技术大融合正在加速这一产业化进程,嵌入式系统是中国厂商从“中国制造”向“中国创造”转变的最佳契机。由此催生了对嵌入式人才的迫切需求[1]。这种情势下许多高校在计算机科学与技术、电子信息工程、电子科学技术等专业纷纷开设嵌入式系统的相关课程。嵌入式系统教学方法和教学手段的研究也引起了人们的关注。由于嵌入式教学进入高校的时间还不是很长,相关的教学方法和手段还未能充分考虑到课程的上述特点。这就使得有必要对课程的教学特点进行深入的研究,并以此为基础对对教学思路、方法和手段进行进一步的研究。
二、嵌入式系统课程的教学特点
嵌入式系统课程内容涉及嵌入式系统的基本概念论述、嵌入式处理器、外围硬件设计、软件体系结构、实时操作系统、板级支持包、系统引导、软件设计方法、软件编程和软件开发环境等,是一门涉及领域广泛,并且尺度和特性可裁剪的软、硬件集成的课程。因为涉及到性质显著区别的知识领域,课程教学具有以下特点:
(1)贴近生活。嵌入式系统广泛应用于航空航天、交通运输、机器人、楼宇设施、通信、办公、银行、金融、商业、医疗、智能家电等领域,与我们的生活息息相关。因此,嵌入式系统设计与实现来源于生活,服务于生活。身边很多的事例足以支撑抽象的概念、深奥的理论。
(2)基础性教学[2]。嵌入式系统具有技术密集的特点,是计算机技术、微电子技术和行业技术相结合的产物,它涉及多个专业方向,如计算机工程、软件工程、工业自动控制、机电工程、精密仪器和电子工程等,因此,嵌入式系统可作为上述各专业方向的基础平台课,以强化专业基础知识,因此,少不了原理性的、抑或具有复杂逻辑关系的抽象理论的讲解。
(3)不同于桌面系统开发。通常,桌面系统基于通用操作系统开发应用软件、应用编程接口和组件库,几乎不涉及底层。但是,嵌入式系统需要涉及操作系统、驱动程序、板级支持包的开发,而且,其正确性尤为重要,关系到系统能否运行,且正确运行[3]。
因此,在教学过程中需针对课程特点采用相应的教学手段和方法。目前,教师和学习者通过使用幻灯片形式的课件,使教师从繁琐枯燥的推导和讲解中解脱出来,通过动态演示等手段,在形象生动的教学气氛中使学习者在有限的时间里理解、掌握、获取更多的资料和信息,从而提高教学效率[4]。但幻灯片课件的动画只能演示一些固定的内容,是相对静态的,而可视化能够借助计算机媒介,应用“视觉语言”表征手段,将知识通过视音频、概念图表、视觉隐喻、知识地图、思维导图及内部结构图等呈现技术,使内隐知识物化或降低知识难度。[5]
三、课程的可视化教学手段及其实施
教学可视化手段通常可以分为静态演示、动态演示、交互式演示和功能仿真等不同层次。而可视化教学手段只有与其所要表达的内容相适应才能发挥其作用。因此针对课程的教学内容特点应用不同的可视化手段是设计实施本课程直观可视化教学系统的前提。
根据课程内容特点,教学内容和可视化教学手段之间的关系如下图所示:
图1:课程内容特点和可视化教学手段关系图
(一)静态展示
嵌入式系统大多数是实时系统,因此有实时和非实时之分。实时系统是对外来事件能在限定的响应时间内做出预定质量处理的计算机系统[6]。学生在校学习期间,更多接触的是桌面系统的开发,一般不涉及实时性能,但是“实时性”是嵌入式系统很重要的概念,正确而深刻地理解这一概念将有助于后期教学内容和课程的学习与实践,也才能做到嵌入式系统软硬件的正确设计与实现。建立了“实时”的概念,进一步按照响应性能又将实时系统分为硬实时系统和软实时系统,按照响应时间的快慢又分为强实时、普通实时和弱实时。特别强调的是硬实时系统并不等于“快”。所有这些概念的理解既抽象又难以区分。但是,实时系统分类的方法往往源于实际,也将指导实际。所以,分类之下所对应的各种现象都发生在我们的身边,生活、工作、学习中活生生的事例足以通俗易懂地讲明这些概念和道理。
按照上述思路,采用可视化的方法,从启发式的角度,有的放矢地展示概念和案例,做到边启发边讲解归纳,加深学生的印象。
图2:嵌入式系统对实时性的要求
类似于上述,教学内容中属于思路简单的顺序、分支、并发/并行的行为均可采用静态展示的方法实现。
(二)动态演示
静态展示不易实现具有交互、复杂组合、控制特性、竞争、流动、实时性等特征的行为,这时可以考虑采用动态演示的方法。如嵌入式实时操作系统中任务状态间的转换关系较为复杂,可以考虑采用动态演示的方法。
嵌入式实时操作系统中所定义的任务状态有5种,即:运行、就绪、广义等待、休止、未登录。其中,广义等待又可细分为等待、挂起、双重等待。用有限状态集合S表示实时操作系统的复杂状态,即
S=(就绪 运行 等待 双重等待 挂起 休止 未登录)
其中的多数状态既是起始态又是终止态,因此,由这7种状态所构成的状态之间的转移函数有十几个。这时,可以将每一个状态作为控制按钮,灵活选择起始态,一次或多次点击该起始态即可得到它与其它状态之间的转移效果。
图3:任务状态之间的切换
(三)动态交互
与传统的桌面软件编程不同,嵌入式软件编程针对特定的硬件平台,要求程序设计语言具备较强的硬件直接操作能力,显然,汇编语言具备这样的特质,但是,由于汇编语言开发的复杂性,难以适应越来越复杂的嵌入式软件开发,因此,C、C++、Java等广泛使用的高级程序设计语言自然就渗透到了嵌入式软件开发。因此,嵌入式软件编程需要讲解汇编语言的GAS的基本风格、与AT&T的差异,C语言的gcc扩展、C51扩展,C语言与汇编语言混合编程。如果按照书本上的知识单纯进行讲解,势必会造成枯燥、难以理解的问题。因此,本部分内容采用实例运行讲解的方式,达到动态交互的目的。
以下是在Linux下使用C语言编写、编译、运行嵌入式系统应用程序。
图4:动态交互
(四)功能仿真
功能仿真是可视化教学的最高技术层次。在这个方面,本文也做了一些初步的探索和实践。
嵌入式操作系统的多任务环境相当于多个人为一个目标而进行作业,之间必然会发生共有资源使用时的冲突,一般采用信号量机制来解决共享资源的互斥访问问题。为了能够形象地说明该问题,可以采用铁路线的信号机动作过程加以对比。把任务比作列车,信号量比作信号机,任务的执行相当于列车在单线铁路上运行[7]。
初始状态,左边的桅杆上挂着信号“?”(可通行),左右两侧都有列车开来,如图5-a。
左边列车取下信号“?”,进入单线区间,右方列车无通行信号,停止,如图5-b。
左边列车走出单线区间,挂上信号“?”,如图5-c。
右边列车取下信号“?”,准备进入单线区间,如图5-d。
整个动作过程可根据讲解的需要进行控制。
图5:铁路线的信号机动作图
四、总结与展望
教学内容的性质和可视化手段的应用之间存在着对应关系,本文在对具有复杂构成的嵌入式系统教学课程进行内容性质分析的基础上开展教学可视化探索,在实际应用中取得了较好的效果。
当然,采用什么样的手段和方法实现可视化效果需要因人而异、因课而异,没有一个统一的标准和要求。但是,使用可视化方法的出发点是相同的,也就是要便于教师的制作、实现和编辑,能够清晰地体现整个教学的先后顺序,做到环环相扣。通过柔性开发,实现教与学的互动,体现启发式教学,本质目的是便于学生的学习、理解和掌握。
嵌入式教学、学习和开发工作涉及复杂的软硬件平台条件。这一条件并不总是满足的。当学生回到宿舍,如果想学习或温习实验内容时,受到实验平台的限制则无法学习。因此,本文进一步的工作将在研究适合的可视化仿真技术的基础上,实现硬件模块的功能仿真,也即虚拟仪器的研究和开发。
基金项目:福建农林大学教学改革项目(01jg04070)
[参考文献]
[1]国家信息技术紧缺人才培养工程嵌入式方向全面启动. http://www.eet-china.com/ART_8800580876_617693_NT_770b6b3c.HTM. 2009年8月10日.
[2]徐慧,金敏.“三点一线”教学方法在“嵌入式系统”课程中的应用[J].教育与教学研究.2009,(10):39-41.
[3]桑楠.嵌入式系统原理及应用开发技术[M].北京;高等教育出版社.2008.
[4]徐红,陆红阳.编译原理实验动态演示系统的设计与实现[J].电脑知识与技术(技术论坛).2005:(9):86-88.
[5]谢泳涓.可视化领域下少数民族英语教学研究[J].教学与管理.2009,(8):58-60.
[6]俞建新,王健,宋健建.嵌入式系统基础教程[M].北京:机械工业出版社.2008.310.
[7]周根林.嵌入式系统原理与应用[M].南京:南京大学出版社.2006.
(作者单位:1.福建农林大学计算机与信息学院,2.福建农林大学食品科学学院 福建福州)