论文部分内容阅读
摘要:“嵌入式操作系统”这门课是高等院校电子与自动化专业重要的专业课,如何提高该课程的教学质量与教学效果是一件值得深入探讨的问题。该文从实际出发,根据课程特点,从培养与激发学生的学习兴趣出发,模块化讲授,善于运用教学方法:多媒体动画,比较等方法进行知识点的连接、归纳总结,合理配置课程实验与课程设计等角度,对该课的教学进行了探讨与总结。
关键词:嵌入式操作系统;uC/OS-II;模块化教学;课程实验;多媒体动画
中图分类号:G64 文献标识码:A 文章编号:1009-3044(2016)16-0154-02
Abstract: Embeded operate system is a very important course for the colleage students who’s major is automation or electronic engineering. How to enhance the teaching effect is an important issue to explore and research. The thesis aimed to explore such objects from the actual. How to inspire colleage students’s interesting in this course. The teaching methods mainly inculde modular teaching, teaching of multimedia animation.Multi-methods also include comparation, connectionn, course design and experiments etc. All the teaching methods mentioned is the main content of the paper.
Key words: Embeded Operate System; uC/OS-II; modular teaching; experiments; multime- dia animation
随着软件与硬件技术的快速发展以及电子和自动化设备的日益复杂化,带操作系统的电子、自动化设备已经成为一种趋势。全国各大高等院校在电子信息类专业也逐步开设了《嵌入式操作系统》这门课,这门课的开设对于学生今后走入工作岗位,从事电子产品的开发工作非常有益处。目前嵌入式操作系统种类繁多,例如ucLinux、Linux、Vevorks、Wince等.其中比较适用于本科生教学的嵌入式实时操作系统是uC/OS-II。《嵌入式操作系统》该门课程,我院采用北航出版社,任哲老师编写的教材《嵌入式实时操作系统-uC/OS-II》。本人在内蒙古大学鄂尔多斯学院从事多年该门课的教学工作,以此为基础,对该门课的教学提出了以下的思考与探讨。
1 培养与激发学生的学习兴趣
我院《嵌入式操作系统》这门课在大三的下学期开设,针对的授课群体是电子信息专业以及自动化专业的学生。作为一门课业选修必选课开设,理论与实验两部分开进行,课时间总共一学期,该课程突出的问题就是时间短,任务多。如何高效率利用一学期的时间,把这门有一定难度的课讲明白讲通透,着实需要在授课方法上多花心思。
本课程前期先导课是,微机原理、单片机、数据结构、C语言等。学生虽然有一些编程基础,但学生的编程经验相对比较少,学习起来相对还是有一定的困难。
针对此情况,开课初期,我会与学生分享一些我在公司做技术开发时的一些开发经验。让学生初步了解嵌入式操作系统在各类电子产品的开发中的用途,以及公司中与嵌入式操作系统相关的技术开发职位。让学生明白这门课的重要性以及实际的用途,从学了有用的角度让学生对学习该课程产生浓厚的兴趣。
2 模块化讲授
在课程讲授时,我采用自上而下的方法,从总体知识结构进行剖析,让学生从框架上了解这门课的重点难点,明确学习目的,了解该门课的学习方法,从而做到理解,进而掌握。该课程的教学可分为三个模块:
第一模块:基础篇(预备知识篇) 包括开发工具,批处理文件、Makefile文件的编写以及相关的预备知识。在预备知识部分,前期课程部分系统给学生补习函数指计部分知识、预编译指令等内容。教学中发现学生虽已学习过C语言,也进行了单片机实训,对于函数指针等部分知识基本,还是理解欠缺。辅以适量的习题,让学生扎实地掌握基础篇知识,为本课程后续的学习打下基础。因此在本门课的开设过程中,需不断的补习数据结构、计算机组成原理、微机原理等关联知识。教授课程的过程中,我以授人以鱼不如授人以渔为教学理念,教授课程同时,训练培养学生良好学习习惯。
第二模块:操作系统的内核及其工作原理。该模块部分包括:任务、中断和时钟、任务的同步与通信、信号量集、动态内存管理。这部分是该门课的核心内容。其中中断和时钟和任务的切换部分,晦涩难懂,是重中之重。本课程中,教学重点是,讲授操作系统内核,无友好图形户界面,文件系统等模块。基于课程的特点,同时学生基础参差不齐,如何让学生看得明白代码,又不被代码所牵绊,觉得晦涩难懂。确实要设计一个高效的教学方法。
用生活中具象的实例与课程中抽象的知识点相连接,如在讲授任务的调度与切换,任务务同步与通讯中的事件,信号量、消息邮箱、消息队列等这部分内容时,我都会列举很多生活中的例子。
善于运用比较法、归纳法,在该课程中,会涉及多个控制块,如任务控制TCB、事件控制OS_EVENT、标志组 OS_FLAG_GRP、内存控制块OS_MEM以及对应的链表这些同类的数据结构,我都会让学生进行比较、区分。重要的概念原理处,让学生详细标注该知识点相关原理在课本中的位置,以便学生进行知识点的连接,从而加快理解掌握知识点的速度。 课程讲授中除了大量的例程外,辅以多媒体动画进行讲授。在讲授理解困难的知识点时,如何做到,既保证教学速度,又保证教学质量这两个约束条件,一直困扰着我。经过多次探索实践对比,我放弃了上课用PPT讲授有难度的理论与知识的方法,大量采用动画的形式去讲解晦涩的知识点,因此除了授课中的代码例程外,我额外开发了FLASH小动画课件。这些辅助动画课件设计中断和时钟、任务的切换、就绪表,登记注销查询、任务的状态、任务的同步与通信、中断和时钟等多个重要又难理解的知识点模块。事实证明采用该教学方法,能快速的让学生从晦涩的理论中解放出来,收到了很好的教学效果,同时也把教师从过多的语言讲授中释放出来,是一种行之有效的教学方法。学生快速理解了OS内部工作原理,再去分析uC/OS-II实现代码时,就事半功倍了。作为课本的扩展部分,在该门课的最后,通过一个万年历的项目设计向学生介绍了如何进行uC/OS-II程序设计,包括驱动程序键盘、万年历、LCD的编写,多任务编程设计等。
课程实验在专业课的学习中非常重要,在理论教学的过程中,实时的安排学生上机实验。本课程我们安排了四次实验,实验的内容为:1)任务间通信机制的建立;2)uC/OS-II多任务编程设计;3)uC/OS-II内核移植;4)uC/OS-II移植一个TCP/IP协议栈。
第三模块:uC/OS-II的移植---在单片机上移植uC/OS-II、在ARM上移植uC/OS-II。
关于uC/OS-II的移植也是难点、重点,学习uC/OS-II最终目的是要把它用起来,用于不台的硬件平台中,也就是应用于电子系统中。该部分中,着重讲解uC/OS-II的移植中,汇编文件OS_CPU_A的任务切换OSCtxSw()函数的编写,C文件OS_CPU_C.C的堆栈初始化OSTaskInit()的编写。通过该部分内容,让学生明白把uC/OS-II移植到不同硬件平台中,需要改写哪些代码,为学生学习使用ucLinux、Vevorks、Wince等其它OS打下坚实基础。
课程最后理论联系实际,本门课的课程设计,学生自选项目以小组的形式完成基于uC/OS-II的课程设计。
本课程的讲授分为四个步骤:理论讲授(辅以动画演示),代码分析,上机实验,课程设计。通过这四个阶段,学生比较好的掌握了嵌入式实时操作系统这门课,从而达到良好的教学效果。通过以上方式,把本来不好讲的一门课变成了一门生动的学生爱学的课。
3 课程展望
通过几年嵌入式操作系统的教学实践,我深深地体会到教好一门有一定难度的课,确实是一件容易的事情。如何把该门课变成学生爱学、生动的课。我做了大量的教学实验,一种适用的教学方法,对于一门课的讲授所起的作用不可小觑。教学方法在实际的教学中是一件值得花气力去研究的内容,它对于课程的开设所起的作用举足轻重。
参考文献:
[1] 任哲.嵌入式实时操作系统uC/OS-II原理及应用[M]. 北京:北京航空航天大学,2014.
[2] 刘国梅.浅谈普通院校的嵌入式系统教学[J].中国科技信息,2008(20).
[3] 李志军,张子红,王昊,张文祥.以设计能力为主线的嵌入式系统教学改革[J].物联网技术, 2014(10).
[4] 胡威,郭宏,蒋旻,付晓薇,面向嵌入式系统的本科/研究生连续式课程建设研究[J]. 现代企业教育, 2014(22).
[5] 李文生, 陆洪毅. 嵌入式人才能力结构分析及教学体系设计[J]. 计算机教育, 2014(7): 76-80.
关键词:嵌入式操作系统;uC/OS-II;模块化教学;课程实验;多媒体动画
中图分类号:G64 文献标识码:A 文章编号:1009-3044(2016)16-0154-02
Abstract: Embeded operate system is a very important course for the colleage students who’s major is automation or electronic engineering. How to enhance the teaching effect is an important issue to explore and research. The thesis aimed to explore such objects from the actual. How to inspire colleage students’s interesting in this course. The teaching methods mainly inculde modular teaching, teaching of multimedia animation.Multi-methods also include comparation, connectionn, course design and experiments etc. All the teaching methods mentioned is the main content of the paper.
Key words: Embeded Operate System; uC/OS-II; modular teaching; experiments; multime- dia animation
随着软件与硬件技术的快速发展以及电子和自动化设备的日益复杂化,带操作系统的电子、自动化设备已经成为一种趋势。全国各大高等院校在电子信息类专业也逐步开设了《嵌入式操作系统》这门课,这门课的开设对于学生今后走入工作岗位,从事电子产品的开发工作非常有益处。目前嵌入式操作系统种类繁多,例如ucLinux、Linux、Vevorks、Wince等.其中比较适用于本科生教学的嵌入式实时操作系统是uC/OS-II。《嵌入式操作系统》该门课程,我院采用北航出版社,任哲老师编写的教材《嵌入式实时操作系统-uC/OS-II》。本人在内蒙古大学鄂尔多斯学院从事多年该门课的教学工作,以此为基础,对该门课的教学提出了以下的思考与探讨。
1 培养与激发学生的学习兴趣
我院《嵌入式操作系统》这门课在大三的下学期开设,针对的授课群体是电子信息专业以及自动化专业的学生。作为一门课业选修必选课开设,理论与实验两部分开进行,课时间总共一学期,该课程突出的问题就是时间短,任务多。如何高效率利用一学期的时间,把这门有一定难度的课讲明白讲通透,着实需要在授课方法上多花心思。
本课程前期先导课是,微机原理、单片机、数据结构、C语言等。学生虽然有一些编程基础,但学生的编程经验相对比较少,学习起来相对还是有一定的困难。
针对此情况,开课初期,我会与学生分享一些我在公司做技术开发时的一些开发经验。让学生初步了解嵌入式操作系统在各类电子产品的开发中的用途,以及公司中与嵌入式操作系统相关的技术开发职位。让学生明白这门课的重要性以及实际的用途,从学了有用的角度让学生对学习该课程产生浓厚的兴趣。
2 模块化讲授
在课程讲授时,我采用自上而下的方法,从总体知识结构进行剖析,让学生从框架上了解这门课的重点难点,明确学习目的,了解该门课的学习方法,从而做到理解,进而掌握。该课程的教学可分为三个模块:
第一模块:基础篇(预备知识篇) 包括开发工具,批处理文件、Makefile文件的编写以及相关的预备知识。在预备知识部分,前期课程部分系统给学生补习函数指计部分知识、预编译指令等内容。教学中发现学生虽已学习过C语言,也进行了单片机实训,对于函数指针等部分知识基本,还是理解欠缺。辅以适量的习题,让学生扎实地掌握基础篇知识,为本课程后续的学习打下基础。因此在本门课的开设过程中,需不断的补习数据结构、计算机组成原理、微机原理等关联知识。教授课程的过程中,我以授人以鱼不如授人以渔为教学理念,教授课程同时,训练培养学生良好学习习惯。
第二模块:操作系统的内核及其工作原理。该模块部分包括:任务、中断和时钟、任务的同步与通信、信号量集、动态内存管理。这部分是该门课的核心内容。其中中断和时钟和任务的切换部分,晦涩难懂,是重中之重。本课程中,教学重点是,讲授操作系统内核,无友好图形户界面,文件系统等模块。基于课程的特点,同时学生基础参差不齐,如何让学生看得明白代码,又不被代码所牵绊,觉得晦涩难懂。确实要设计一个高效的教学方法。
用生活中具象的实例与课程中抽象的知识点相连接,如在讲授任务的调度与切换,任务务同步与通讯中的事件,信号量、消息邮箱、消息队列等这部分内容时,我都会列举很多生活中的例子。
善于运用比较法、归纳法,在该课程中,会涉及多个控制块,如任务控制TCB、事件控制OS_EVENT、标志组 OS_FLAG_GRP、内存控制块OS_MEM以及对应的链表这些同类的数据结构,我都会让学生进行比较、区分。重要的概念原理处,让学生详细标注该知识点相关原理在课本中的位置,以便学生进行知识点的连接,从而加快理解掌握知识点的速度。 课程讲授中除了大量的例程外,辅以多媒体动画进行讲授。在讲授理解困难的知识点时,如何做到,既保证教学速度,又保证教学质量这两个约束条件,一直困扰着我。经过多次探索实践对比,我放弃了上课用PPT讲授有难度的理论与知识的方法,大量采用动画的形式去讲解晦涩的知识点,因此除了授课中的代码例程外,我额外开发了FLASH小动画课件。这些辅助动画课件设计中断和时钟、任务的切换、就绪表,登记注销查询、任务的状态、任务的同步与通信、中断和时钟等多个重要又难理解的知识点模块。事实证明采用该教学方法,能快速的让学生从晦涩的理论中解放出来,收到了很好的教学效果,同时也把教师从过多的语言讲授中释放出来,是一种行之有效的教学方法。学生快速理解了OS内部工作原理,再去分析uC/OS-II实现代码时,就事半功倍了。作为课本的扩展部分,在该门课的最后,通过一个万年历的项目设计向学生介绍了如何进行uC/OS-II程序设计,包括驱动程序键盘、万年历、LCD的编写,多任务编程设计等。
课程实验在专业课的学习中非常重要,在理论教学的过程中,实时的安排学生上机实验。本课程我们安排了四次实验,实验的内容为:1)任务间通信机制的建立;2)uC/OS-II多任务编程设计;3)uC/OS-II内核移植;4)uC/OS-II移植一个TCP/IP协议栈。
第三模块:uC/OS-II的移植---在单片机上移植uC/OS-II、在ARM上移植uC/OS-II。
关于uC/OS-II的移植也是难点、重点,学习uC/OS-II最终目的是要把它用起来,用于不台的硬件平台中,也就是应用于电子系统中。该部分中,着重讲解uC/OS-II的移植中,汇编文件OS_CPU_A的任务切换OSCtxSw()函数的编写,C文件OS_CPU_C.C的堆栈初始化OSTaskInit()的编写。通过该部分内容,让学生明白把uC/OS-II移植到不同硬件平台中,需要改写哪些代码,为学生学习使用ucLinux、Vevorks、Wince等其它OS打下坚实基础。
课程最后理论联系实际,本门课的课程设计,学生自选项目以小组的形式完成基于uC/OS-II的课程设计。
本课程的讲授分为四个步骤:理论讲授(辅以动画演示),代码分析,上机实验,课程设计。通过这四个阶段,学生比较好的掌握了嵌入式实时操作系统这门课,从而达到良好的教学效果。通过以上方式,把本来不好讲的一门课变成了一门生动的学生爱学的课。
3 课程展望
通过几年嵌入式操作系统的教学实践,我深深地体会到教好一门有一定难度的课,确实是一件容易的事情。如何把该门课变成学生爱学、生动的课。我做了大量的教学实验,一种适用的教学方法,对于一门课的讲授所起的作用不可小觑。教学方法在实际的教学中是一件值得花气力去研究的内容,它对于课程的开设所起的作用举足轻重。
参考文献:
[1] 任哲.嵌入式实时操作系统uC/OS-II原理及应用[M]. 北京:北京航空航天大学,2014.
[2] 刘国梅.浅谈普通院校的嵌入式系统教学[J].中国科技信息,2008(20).
[3] 李志军,张子红,王昊,张文祥.以设计能力为主线的嵌入式系统教学改革[J].物联网技术, 2014(10).
[4] 胡威,郭宏,蒋旻,付晓薇,面向嵌入式系统的本科/研究生连续式课程建设研究[J]. 现代企业教育, 2014(22).
[5] 李文生, 陆洪毅. 嵌入式人才能力结构分析及教学体系设计[J]. 计算机教育, 2014(7): 76-80.