前言:中文期刊网精心挑选了嵌入式课程设计范文供你参考和学习,希望我们的参考范文能激发你的文章创作灵感,欢迎阅读。
嵌入式课程设计范文1
关键词:嵌入式系统;ARM;处理器;指令集
中图分类号:TP316;G642 文献标识码:A doi:10.3969/j.issn.1672-4305.2016.02.036
随着CPU及周边配套器件在功耗、计算能力和体积性能的不断提升,嵌入式系统的应用越来越广,可以说:嵌入式系统已经深入地嵌入到人们的生产、生活的各个方面,发挥着难以替代的作用。因此,各个行业都急需嵌入式产品的设计和开发人才。国内各高校面向弱电专业研究生都开设了“嵌入式系统”或“嵌入式系统设计”课程,期望能够培养出具有较强动手能力的嵌入式系统开发人才。但事实的效果是:(1)学生在学习之后,并不能对嵌入式系统有一个较为完整的认识。具体体现在:不能根据实际项目需求进行合理选型和自主设计,往往只能照搬照抄参考认识,创新能力不足。(2)学生对嵌入式系统类别认识不正确,对ARM处理器的指令系统的认识浮于表面。(3)不能达到软硬件兼通的水平,开发能力基本都停留在嵌入式软件开发层面,不能从软硬件协同的角度考虑问题的原因,在调试不顺利时,往往束手无策。找到出现这种问题的根源,并有针对性地对课程内容和授课方式方法进行修正,是目前“嵌入式系统设计”课程急需解决的问题。中国石油大学(北京)计算机科学与技术系对这个问题进行了初步的调查、研究和总结,并对课程内容和授课方式进行了较大幅度的调整。主要的措施是采取课程设计驱动式的教学方式。具体为:(1)虽然用ARM处理器做实验开发,但并不直接把ARM处理器作为主要内容进行灌输式授课,而是先让学生花费22个课时的时间在实验室设计一个8指令的32位简易型MIPS处理器。(2)在处理器设计结束后,通过梳理设计中存在的问题,让学生认识到ARM处理器存在的弊端和优势,以及可以改进和发挥的地方,启发学生客观看待ARM处理器。(3)再花4个课时迅速介绍一下ARM处理器指令系统的使用,通过两个小实验让学生尝试裸机编程调试过程,体验其不便性。(4)最后的4个课时介绍嵌入式系统的开发工具链,让学生体验嵌入式开发的便利。实际效果发现:(1)在课程授课期间,学生不仅对嵌入式系统的总体宏观结构和开发流程有了较为深入的认识,而且动手能力有了很大的提高。(2)在课程结束以后,学生对课程关联内容发生了浓厚的兴趣,对课程的延展内容进行自主学习。充分表明了课程改革的有效性。
1调研与思考
经过对国内主要高校的“嵌入式系统设计”课程内容开设情况进行调研后发现:课程授课普遍存在着广度不足和深度不足两方面的问题。广度不足的问题主要体现在课程授课内容方面,目前“嵌入式系统设计”课程都是ARM9系统开发,嵌入式操作系统基本上为ucos或Linux[1]。课程首先介绍ARM9处理器的指令系统,然后介绍嵌入式操作系统,以及在其上的基于C语言的系统开发。课程并没有对嵌入式系统的多种实现方式、实现途径进行介绍,这带来了一定的负面效应。首先,很多学生都误认为:嵌入式系统就是以ARM处理器芯片为核心的软硬件系统,离了ARM处理器就不能做嵌入式产品。深度不足的问题主要体现在授课方式上。由于采用灌输式教育,学生只能被动地接收对ARM处理器各种溢美之词的介绍,把ARM处理器奉为经典,不敢质疑,不能正确认识某些性能指标的真正含义与优缺点。这样限制了他们今后在实践过程中的创新能力。对这两个问题的深入思索后发现:首先,虽然ARM9处理器芯片堪称经典,但毕竟已经是几十年前的产品,开发工具链也很陈旧,开发调试周期偏长,已经不能反映嵌入式系统开发的最新进展,满足不了快速开发的需要。其次,“嵌入式系统”课程教学方法仍以“是什么”为主,即告诉学生ARM9处理器的指令是什么,怎么用,而对于“为什么”则基本没有涉及。在这样的教学内容和教学方式下,学生往往也只对某种CPU的使用有一些肤浅认识。对于本科生来说,这样的结果可以接受,但对于硕士生来说,这样的结果并不令人满意。第三,嵌入式系统教学普遍存在着“重软轻硬”的问题,这种现象尤其在使用实验箱进行课程实验时体现得更为明显[2]。课程实验中教师往往让学生去找软件中的错误,但对于硬件信号上的问题则基本不涉及,学生缺乏对系统的整体认识[3]。客观地说,尽管ARM芯片堪称经典,其内容是嵌入式系统课程教学的必要内容,但研究生“嵌入式系统设计”课程教学的目的不仅仅在于让学生掌握基于ARM9处理器的嵌入式产品设计技术和配套工具,而且让学生站到一个更为客观的角度认识到ARM9的性能指标的必然性和限制性。在今后一定的工作条件的激发下,可以从根本上进行创新。
2实施过程与效果
基于这样的认识,显然首先要让学生认识到ARM处理器的优缺点,打破学生对其认识上的神秘感。具体的思路是:首先快速设计一个类ARM9的处理器,这样让学生从根本上理解什么是指令系统,以及指令系统的重要性。再通过适度分析设计上的问题,介绍可以改进之处,启发学生对处理器主要指标进行深度理解。在其后,只需流水性地介绍一下ARM9的指令系统即可,因为通过CPU的设计,学生已经完全明白了指令系统的用途、分类、使用等一系列问题。最后适度介绍一下嵌入式操作系统与应用程序的开发流程,并布置两个开发实例辅助进行适度理解即可。在中国计算机学会和北京航空航天大学计算机学院的帮助下[4-5],课程引入了一个简易的支持9指令MIPS处理器的设计。这9条指令具体为:LD、SW、ADDU、SUBU、ORI、LUI、AND、JAL、BEQ,基本涵盖了MIPS的典型指令。其典型结构如图1所示。为将重点放在指令集的设计方面,同时也为了加快设计速度和降低设计复杂度,事先对主要的模块代码进行了实现,而把课程设计的任务集中在让学生实现上述9条指令上。为了突出嵌入式系统的低功耗的特点,也对代码做了一些粗糙的功耗控制,适度突出了其在低功耗控制方面的优化。由于实验对象是计算机专业的硕士生,他们对课程设计所使用的Verilog语言不甚了解,因此使用8个课时简要介绍了Verilog语言语法与系统实现方法,随后用6个课时介绍了简易型MIPS处理器的数据通路与控制通路的设计思想。明确了设计任务后,专门留出6个学时的时间,让大家在实验室里集中进行边设计边讨论。才开始的时候,绝大多数学生觉得任务很重,压力很大。在教师的要求和督促下,学生开始读实验代码。在一次集中实验以后,有一半的学生认为已经搞清楚了具体的设计任务,知道该怎么去实现。第二次集中实验的时候,一部分学生已经开始问一些非常具体的设计问题了,还有一部分学生主动要求老师再简要地把数据通路和控制通路的设计思路再说一遍,这说明他们已经在开始主动思考代码的结构了。这时,他们对数据通路和控制通路的理解已经远远超越授课时的水准。课程设计结束时,有70%的学生基本完成了设计任务,剩余的学生虽然没有完成,但自认为对处理器和指令集的认识是非常清楚的。紧随其后,课程的内容又回到了ARM指令集,这时只需花4个课时简要介绍一下ARM指令系统的分类和典型指令就可以了。由于前面的处理器设计过程的训练,学生很快掌握了这部分内容。接着,再加上4个课时在ARM9实验箱上的汇编语言和C语言实验,学生们基本掌握了裸机上的开发过程。最后,又介绍了基于Uboot和嵌入式Linux基础上的开发过程,让学生体验到在嵌入式操作系统的基础上做系统开发的便利性[6-7]。通过事后与学生的交流,大家普遍都认为处理器设计的课程设计非常重要,正是那一步使得学生不再对处理器感到神秘,对指令集有了更为客观的理解。对于后续的开发平台,虽然并没有细节的课堂讲述,但学生完全明白出现这种设计流程的必要性,普遍认为只要适当自学即可掌握。大家比较普遍地认同这种课程设计驱动式的教学方式[8-10]。
3结语
从本次教学改革的效果来看,相对于“灌输式”的教学方式,“启发式”的教学方式效果更好,但这需要学生的积极主动配合。对于研究生来说,虽然他们都具有一定的学习自觉性和主动性,但这种主动性也需要教师的严格监督才能发挥作用。研究生课程内容并不在于授课内容的多少,而主要在于如何引导他们积极主动思考。从深处入手,而不是直接从内容入手,虽然开始时会遇到较大的困难,但一旦这个困难解决,对教学内容的理解则会非常顺利,有点类似于“磨刀不误砍柴工”。对于教师来说,找到这把锋利的“刀”,并且督促学生去“磨”,是一件至关重要的事情。
参考文献(References):
[1]冀常鹏,马飞,徐维.项目驱动的嵌入式系统教学改革[J].电子电气教学学报,2011,33(6):26-27.
[2]李伟,门佳.嵌入式系统实验教学方法研究[J].青岛职业技术学院学报,2014,27(1):45-47.
[3]李社蕾,刘小飞,杨婷婷.嵌入式课程创新实验项目设计[J].实验室科学,2015,18(1):72-74.
[4]高小鹏.计算机专业系统能力培养的技术途径[J].中国大学教学,2014(8):53-58.
[5]牛建伟,张炯.北京航空航天大学嵌入式系统课程建设[J].计算机教育,2008(7):64-65.
[6]李文生,邓春健,吕燚.案例驱动的嵌入式系统教学改革探索[J]计算机教育,2011(2):22-25.
[7]吴建宁.面向实践教学的“嵌入式系统”课程体系构建与探索[J].实验室科学,2014,17(6):184-186.
[8]郭宏,胡威.计算机专业《嵌入式系统》课程体系建设的探索[J].现代计算机,2013(6):44-47.
[9]潘登,陈启军.面向卓越人才培养的嵌入式系统教学改革[J].计算机教育,2013(13):1-5.
嵌入式课程设计范文2
1 课程基本情况
该课程是面向计算机学院高年级本科生(或研究生)开设的专业课,是一门以计算机各种专业知识综合应用为主要特色的课程,其指导思想是培养学生从“整体”的角度认识、研究和解决嵌入式计算工程问题的方法和能力,为学生在嵌入式计算工程领域研究和开发奠定相关基础。课程采用理论知识传输与工程能力培养并重的教学方法,教学内容尽量反映该领域内最新的理论和技术成果,使学生了解该学科最新的前沿发展动态和方向,培养出适应社会需求的专业化技术人才。
该课程的教学目标是使学生能够掌握嵌入式系统设计过程中的基本概念和原理,使学生能够掌握和使用最新的嵌入式系统设计方法和典型开发工具。课程在教学内容安排上遵循“面向市场需求、定位人才培养”的原则,强调将计算机系统不同层次专业知识的基础性与实际工程设计思想和架构的前沿性相结合,重视将计算机系统自底向上的各种专业课程内容的有机整合,使得诸如操作系统、体系结构、接口与通信和计算机网络等孤立的课程呈现相互配合的应用场景,让学生进一步认识和掌握上述课程的基本概念和基本规律在实际的综合系统应用中的作用和影响。在课件设计上,采取统一的知识体系结构,涵盖“基础知识+ 基本技能+ 技术讲座+ 项目实践”四大模块,突出注重工程能力培养的特色。通过课程学习和实验,学生应能够熟悉一种典型的微处理器体系结构,掌握一套主流的开发工具和一种嵌入式操作系统,熟练使用一门开发语言,使学生具备嵌入式系统软、硬件开发设计的基本能力。
目前该课程为48学时,其中理论授课24学时,实验24学时。该课程的理论教学内容包括:(1)嵌入式系统概述;(2)嵌入式硬件基础;(3)嵌入式操作系统;(4)嵌入式系统的设计与建模;(5)嵌入式系统设计实例分析;(6)专用接口和硬件加速器;(7)分布嵌入式系统;(8)高可靠性嵌入式系统等扩展内容。课程的实验包括了基础性实验和综合设计实验两部分,基础性实验主要是一些预先设计好的实验,通过让学生的实际操作,能够加深对课程所讲授的基本原理、技术和方法等知识点的理解,同时,能够让学生掌握一些具体的嵌入式系统的开发工具及环境,主要包括嵌入式操作系统的移植和裁减、驱动程序的开发及对开发工具链的使用。综合设计实验则要求学生面向某综合应用(指定或者自主提出)而进行设计、编码和调试并给出完整的解决方案。
课程的考核由三部分组成:理论课作业和小测验20%,基础性实验40%,综合设计实验40%。
经过四年的建设,该课程的已整理编写完成配套的教案、讲义和实验指导书,形成了一整套课程指导和考核体系,建立了以相关学科学术带头人为课程负责人,以博士中青年教师为教学骨干,以博士青年教师和博士生为教辅人员的教学团队。几年来的教学实践表明,该课程的教学实现了教与学的有机结合,理论教学和实践环节高度统一,有力地促进了学生的工程能力提高。在学生的作品中创新成为主题,学生在国内外各种嵌入式方面的竞赛中屡创佳绩,也从另外一个侧面印证了良好的教学效果。
2 精品课程创新点
(1)本硕一体化设置。
课程强调研究生与本科生学习内容的连贯性、层次性,从理论课到实验课都设置了基本、中级和高级三个层次的内容,学生可根据自己的基础选听(或选做)具有不同加权值的内容(或实验)。突出体现了学院本、硕一体化的课程建设思路。
(2)兼顾理论,重在实践。
作为一门实践性很强的课程,本课程在不断更新最新的国内外理论知识的同时,非常重视加强实践环节,主要体现在两个方面:一、课程理论授课部分,每一章都有设计实例,这些设计实例大部分来自教师实际的科研或工程项目,并且随着科研工作的变化而动态更新,具有很强的实践性。二、课程设计了大量的实验,实验课时也占到了整个课程的一半时间,实验课本身加强了指导力度,由骨干教师加多名具有较强实践能力的助教组成的指导队伍,负责整个实验期间从理论到具体操作的各个环节的指导工作。
(3)紧密结合企业核心技术,具有较强的实用性和前沿性。
课程内容的设置与动态调整,都是在充分分析当前国际上有影响的嵌入式系统软、硬件平台最新的核心技术、充分考虑嵌入式应用系统开发企业技术需求的基础上进行的,课程内容较大程度地体现了嵌入式领域的热点,是企业界普遍关心的核心技术,具有较强的实用性,有利于培养出业界需要的人才。课程前沿性则表现在:一、课程的主讲教师是从事嵌入式系统研究与开发一线的科研人员,能够及时地根据技术发展动向调整教学大纲和教学计划,及时地将最新的技术和设计理念引入到课程中。二、及时地对国际上一些著名大学(目前我们主要选择的是卡耐基・梅隆和普林斯顿大学)的相关课程的开设情况进行跟踪分析,对我们的课程安排适时调整。
(4)注重创新素质的培养。
嵌入式系统是面向应用的专用计算机系统,与产品和市场有着紧密的联系,设计的创新性直接决定了产品的创新性,加强未来的嵌入式系统设计师的创新素质的培养,是本课程重点之一。具体体现在:一、课程只对基本原理和方法介绍,对一些具体技术和环境则通过课外参考资料和网上第二课堂提供给学生,学生根据个人兴趣有选择地对某些问题进行深入学习和研究;二、注意培养学生批判性思维方式,在实例分析中,鼓励学生对实例所采用的技术和方案进行不同角度的评价,变被动灌输为主动思考;三、加强综合设计性及开放性实验环节,鼓励和引导学生积极提出原创性的设计内容,创新性是综合性实验的考核标准之一。
(5)形式多样的教学模式
我们采用“责任教授+主讲教师+ 实验辅导教师”的教师团队,采用“讲授+分析+案例+演示+大型作业+实验+查阅资料及撰写综述报告+小课题”的教学模式,改善了这类综合性课程“难教”、“难学”的状况。
讲授:对于基本概念和基本原理方面的内容,采用以传统的讲授法为主,力求讲清概念内含和外延、基本原理的思路,实质意义以及适用范围等内容;
分析:嵌入式系统设计的内容较多,对于某些书本上只提其然而不提其所以然而又比较重要会影响系统级设计理解的问题,找准切入点,逐步分析,使学生深入理解相关概念;
案例:对于应用性较强的内容,精心设计典型案例,通过对案例的分析和逐步实现,使学生理解并能够正确应用相关的技术和原理解决问题。
(6)完整的实验体系
嵌入式课程设计范文3
关键词:嵌入式;C程序设计;教学实践
嵌入式系统无疑是当前最热门、最有发展前途的IT应用领域之一。后电脑时代,嵌入式系统将拥有最大的市场。目前,世界范围内嵌入式系统带来的工业年产值已超过1万亿美元,并以9.5%的年复合增长率继续调整发展。产业的发展给高职的教育带来了新的课题,要提高学生的核心竞争力,重点在于使他们掌握迎合产业发展的最新技术。而嵌入式系统专业课程的特点是知识点多、涉及面广、课程新颖和难度大。我院面向高职学生,因材施教,最大限度地开发学生潜力,提高其动手能力。
1嵌入式C程序设计课程是嵌入式系统专业的专业基础课
嵌入式系统是软硬件结合的产物,通常嵌入式硬件设计完成后,各种功能就全靠软件来实现,嵌入式设备的增值很大程度上取决于嵌入式软件的功能,是嵌入式系统中最主要的工作。与通用软件相比,嵌入式软件具有自身的一些特点,如规模较小、实时性和可靠性要求高、与硬件结合紧密等。并不是所有的编程语言都适合嵌入式软件的开发,开发人员必须根据具体的应用需求和软硬件条件,来选择合适的编程语言。与此相对应,C语言是一种融合了嵌入式软件开发特点的现代语言,其语言简洁、紧凑,使用时灵活、方便,在程序设计中采用自顶向下的结构化的编程,这种模块化的设计思想使得编写的程序更可靠、更易懂。由于C编译生成的目标代码小、效率高、速率快,充分体现了在嵌入式编程中经济使用资源的原则。因此说C是一种高效的编程语言。C语言与汇编语言相比具有较好可移植性,且支持交叉编译。在许多硬件平台和操作系统上都有相应编译器,编写出来的程序具有很好的可移植性,能在不同的平台上运行[1]。另外,C语言允许用户直接访问硬件,并可以操纵内存中的特定位。《Source: “ESP: A 10-year retrospective”》统计数据表明,在选择使用嵌入式编程语言中C语言的使用人数约达到81%。因此,C语言已成为嵌入式软件开发的主流编程语言。
2高职高专嵌入式C程序设计课程的特点及主要内容
嵌入式C程序设计有如下特点:
1) 大量涉及到内存和特殊功能寄存器的操作,如地址操作和位操作;
2) 内存等资源使用时需要精打细算;
3) 复杂的任务(如多任务同步与通信)最好借助于操作系统来实现。
在嵌入式系统的教学中,C语言的教学内容必须进行选择和取舍。以下是我院本课程侧重的内容要点:
1) 数据类型。
数据类型是编程语言中最基本的构成元素,在嵌入式软件开发中,标准C的变量和数据类型具有新的特征。最大的改变发生在默认整数类型是8位或者16位[2]。C编译器识别int8、int16、int24、int32数据类型,它们是含有相应数位的整数,这些整型数据类型避免了因整数长度变化而带来的歧义性。
2) 选择结构及循环结构。
这是嵌入式编程中常用的两种程序设计结构。如可利用死循环控制某程序的执行。
3) 函数。
能不能保证函数被正确的定义、声明和调用,关系到整个程序的成败。在函数体中,一个被声明为静态的变量在这一函数被调用过程中维持其值不变;在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所有函数访问,但不能被模块外其他函数访问,它是一个本地的全局变量;在模块内,一个被声明为静态的函数只可被这一模块内的其他函数调用,即这个函数被限制在声明它的模块内使用。
4) 关键字const、volatile、static的使用。
一个变量是以它的类型和存储类型表征的,关键字const、 volatile 可表示变量的两种属性:不变性和易变性,如果变量声明中带有关键字const,则不能通过赋值、增加或减少运算来修改该变量的值[3]。用const关键字修饰的变量为只读变量,通常放在Flash只读空间中,可节省RAM空间;const修饰变量的内容一般不希望被修改,const可防止一些无意的代码修改其内容。通常在编译时,代码会被优化,如int a=3; a=3*4;在程序中,a=3没使用则将被编译器优化掉,但在嵌入式编程中,硬件是不能被优化掉的(如状态寄存器),为防止被优化掉,需加关键字volatile。当全局变量前加static时,表示该变量已被封装,其他函数在使用与被static修饰的变量或同名函数时不发生冲突。
5) 位操作。
C语言的位操作可能对变量中的个别位进行操作,例如,通常向硬件设备发送一两个字节来控制该设备。为了节省内存空间,在系统软件中常将多个标志状态简单地组合在一起,存储到一个字节(或字)中。有时,存储1个信息不必占用1个字节,只需二进制的1个(或多个)位就够用。如果仍然使用结构类型,则造成内存空间的浪费。为此,C语言引入了位段类型。
6) 中断。
中断是嵌入式系统中重要的组成部分。使用时应注意:(1)ISR 不能返回一个值;(2)ISR 不能传递参数;(3)在许多的处理器/编译器中,浮点一般都是不可重入的。此外,ISR应该是短而有效率的,在ISR中做浮点运算是不明智的。
7) 自定义类型typedef。
在C语言中用typedef为已存在的数据类型的起别名,如typedef struct s * pt; ptpt1,pt2; 通常用typedef显式标识出各数据类型的长度和符号特性,避免直接使用标准数据类型。
8) 数据类型转换。
正确地使用数据类型转换有助于提高程序的安全性,建议使用显式强制转换,隐式转换容易造成致命的程序缺陷。
9) 指针。
指针是C语言中的重要概念,也是C语言的重要特色。使用指针,可以使程序更加简洁、紧凑、高效。在C语言中,通过指针可直接访问内存。指针是C语言中广泛使用的一种数据类型。运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构,能很方便地使用数组和字符串,并能像汇编语言一样处理内存地址,从而编出精练而高效的程序。指针极大地丰富了C语言的功能。
10) 联合体(union)。
union结构是一个能在同一个存储空间里(但不同时)存放不同类型数据的数据。在8位体系结构中通常2字节,开发传统平台的C程序员不经常使用联合体。嵌入式系统开发者要对系统资源精打细算,union类型基于几个相关数据类型共享单一内存块的数据,嵌入式系统中的union类型一个常见的用法是创建一个可擦写缓冲区变量,由它保存不同类型的数据,在需要一个临时变量的每个函数里,通过重用一个16位内存块可节省内存。
11) 预处理。
预处理是编译环境处理C程序的第一个环节,但往往最先被程序员忽略。条件编译是按条件对C程序的一部分进行编译,其他部分不编译。这样,当程序在不同系统上编译、在同一系统不同编译器上编译或进行不同目的的编译时,减少对程序语句的修改。条件编译的目的:是使源代码能更迅速、更容易地进行修改,并使目标代码缩短,条件编译可有效地提高程序的可移植性。宏定义是C语言中实现类似函数功能而又不具函数调用和返回开销的较好方法,但宏在本质上不是函数,因而要防止宏展开后出现不可预料的结果,对宏的定义和使用要小心。宏定义、文件包含和条件编译是在程序具体编译之前,预先进行处理。使用这些预处理命令可以编写出更易移植、易调试、模块化的程序,从而提高程序的开发效率。
3高职高专“嵌入式C程序设计”课程教学方法
与其他计算机语言相比,嵌入式C语言的突出特点是功能强但规则多,学生普遍感到学习难度大,针对该课程教学特点,笔者将多年教学实践中行之有效的方法总结如下:
1) 以程序设计为中心,以语言知识为工具,强调重要的基本概念和内容,弱化次要的细节,深入浅出,循序渐进。
2) 采用多媒体教学的优势,对于难点问题进行通俗易懂的讲解和演示,模拟计算机的内部状态和程序执行过程,制作多媒体课件,增强学生的直观感觉,方便理解。
3) 加强实践环节,培养学生动手能力。按章节设置实验,每个实验给出必做题和选做题,以便引导不同程度的学生进行启发式思维。
4) 在内容上注重知识的完整性,在进度上注意教学的灵活性,对学时合理分配。引导学生对同类问题进行总结归纳,整理提炼,学会举一反三,提高学生的自主学习能力。
5) 开通教学网站,实践网络教学。围绕课程需求开发网络教学,学生通过网络随时提出疑难问题,教师将通过网络教学资料,进行答疑,使学生能广泛交流,获取在线帮助,提高学习效率。
6) 对学生普遍感觉难于掌握和应用的几个典型问题,如递归算法、链表、函数参数传递等,开设专题讨论。
嵌入式C程序设计是实践性很强的课程,学习的一个有效的方法是多上机实践。先抓住基本内容和应用,通过上机调试,对程序有了基本认识,再逐步领会更多的细节。切记不要一开始就一头扎在规则的纠缠中而迷失了方向。下面是我们采用的几个典型的教学法。
1) 课堂上理论案例教学法。
具体教学时,先引出基本概念和基本知识点,然后将这些知识加以整合以案例的形式出现,让学生在案例中掌握如何运用这些知识解决实际问题。
2) 实验课任务(项目)驱动法。
嵌入式C语言程序设计是一门实践性很强的课程,只有让学生亲自动手多做实验,才能消化掌握并灵活应用课堂所学知识。在实践教学中应该采用“项目驱动式”教学。“项目驱动式”教学就是以项目为目的,以C语言理论教学为过程,最终能用C语言设计项目,实现项目的要求。“项目驱动式”教学的关键在于培养学生“做什么”和“如何做”的思维能力。一个项目就是一个工程,在“项目驱动式”教学中,首先应该让学生简单了解什么是软件工程思想,其次在C语言理论教学过程中,让学生懂得程序设计的风格,最后引导他们来设计项目。我院的具体做法是,把全班分为若干个小组,从一开始就为每个小组提供几个综合性的项目供自由选择,各个小组一旦选择好项目,就会带着问题去学习,老师引导学生学习,同时学生自己也主动查阅资料,相互讨论,这样随着新知识的学习,项目也在同步进行,最后在项目完成的同时也达到了知识的整合,学生既掌握了知识,又了解了项目的整个流程。
3) 建立课堂与实验室结合的一体化教学模式。
嵌入式C语言程序设计是一门实践性非常强的课程,我院实施“人手一台笔记本电脑”的教学方法,学院为每位学生配置了一台笔记本电脑,在这样的便利条件下,我们将实验箱搬进教室,建立一体化教学模式,为学生创造一个良好的教学与实践环境,学生可以随时随地的进行实验操作,收到了良好的教学效果。
4高职高专嵌入式C程序设计课程的考核和评价方法
嵌入式C程序设计课程的实践性决定了我们不能采用通常的闭卷考试方式来衡量学生的成绩,而应该主要考查学生综合运用知识的能力和项目开发能力。我们在教学过程中采用平时成绩、期末理论考试
成绩和期末项目综合考核相结合的方式,其中平时成绩主要由出勤、作业、实验情况组成,占总评的15%,期末理论考试成绩占总评的50%,而期末的项目综合考核占总评的35%。期末时教师和学生共同组成考评小组对每个项目小组的项目完成情况进行考评,根据项目小组提供的项目开发文档、演示和答辩情况及每位成员的工作量给出成绩。让学生通过一个完整的项目开发过程,掌握运用嵌入式C语言开发程序的整个流程,培养学生的实践动手能力和相互协作的团队精神,达到了培养应用型人才的目的。
5结语
信息时代、数字时代使得嵌入式产品获得了巨大的发展机遇,也为嵌入式市场展现了美好的前景,同时也对嵌入式系统的开发者提出了新的挑战。作为承担嵌入式专业教学的教师深深感到任重而道远,需要站在专业的高度,自顶向下开展实践教学,从工程实践中顿悟、升华理论教学,加强实践技能,相得益彰,领会贯通,努力进取,教书育人。
参考文献:
[1] Stephen Prat. C Primer Plus[M]. 北京:人民邮电出版社,2005:24-26.
[2] 田泽. 嵌入式系统开发与应用教程[M]. 北京:北京航空航天大学出版社,2005:15-18.
[3] 魏洪兴. 嵌入式系统设计师教程[M]. 北京:清华大学出版社,2006:6-14.
Teaching Method of the Embedded C Programming Curriculum
on Higher Vocational Education
DONG Jinwen, CHEN Ruifang
(Department of Software Engineering, Inner Mongolia Electronic Information of
Vocational Technical College, Hohhot 010070,China)
嵌入式课程设计范文4
我国古代教育家孔子说:“知之者不如好之者,好之者不如乐之者。”学习兴趣是学习动机中最活跃、最积极的成分,也是学习活动中最基本的内驱力因素。如何激发学生学习的兴趣,使学生感到生物课的学习乐在其中,这是生物课教学成功的关键之所在。而不同年龄时期的乐趣,产生于不同的感知能力和认知水平。初一学生刚从小学进入中学,从心理特征来看,多处于少儿时期,好奇心强,活泼好动,思维活动以形象思维为主。对具体的、直接的、新鲜的事物最敏感,而对那些抽象的、理性的事物却感到乏味、枯燥,甚至厌倦。因此,对于教师来说,必须利用有利的一面,转化不利的因素,采用巧妙设计,变换形式,激发兴趣。
比如,对于“软体动物”一章中所介绍的河蚌,同学们不太了解,对这部分知识的学习也感到乏味。为了唤起学生的兴趣,教师将“鹬蚌相争,渔翁得利”这一典故绘成漫画,展示给学生,由学生讲述这一故事。同学们感到非常新奇,热情高涨,争先恐后。教师因势利导,提出问题:1.为什么蚌能将鸟的嘴紧紧夹住,它靠什么结构?2.蚌壳长时间关闭会不会憋死,它靠什么呼吸?3.珍珠是怎么形成的?4.蚌壳很硬为什么称之为软体动物?5.软体动物有何主要特征?还有哪些种类?6.软体动物有何经济价值?同学们的兴趣一下被激发出来了,积极看书,认真思考,热烈讨论,问题很快得到了解决。
一幅简单的漫画,一个熟悉的典故,极大地调动了学生的学习热情,牢牢地吸引了学生的注意力,使学生在轻松愉快的情境中学到了知识。既生动活泼、又富有情趣,乐在其中。再如,讲“生态系统”时运用的“螳螂捕蝉,黄雀在后”的主题漫画导入新课,同样收到了良好的效果。
生物科学来源于人们对生命现象的认识、总结、研究和探索。科学的预见,永远是从问题开始的,学习亦如此。正如古人所说:“学贵于思,思源于疑。有疑,才有问;有问,才有究;有究才能知其理。”适当地设置疑问和悬念,学生定会产生急求其解的心情。这种方法适合于不同年龄时期的教学对象。因此,在很多章节开始,编拟符合学生认知水平,形式多样,发人深思的问题,引导学生探究、联想,达到设疑激趣的效果。如在讲“物质代谢”一节时,首先向学生提出问题:“今天的你和昨天的你不一样,马和牛都吃草,肉味却不同,人不吃很多脂肪也会胖起来。患了肠炎几天就会瘦下去,你知道为什么吗?”教师引而不发,学生疑问重重,求知欲倍增。教师因势利导,当我们学过“物质代谢”的知识后,大家就会明白了,导入课题。
生物学是一门以实验为基础的科学。观察和实验是生物学研究和教学的重要方法。
初中生物学,主要学习感性的、浅显的、侧重生命现象的基础知识。用观察与实验导入新课,充分利用了直观教学手段,不仅生动具体,把学生对生物现象观察的兴趣引到对生物学理论的学习上来,而且,这种直观的感受与抽象的思维相结合,对培养学生的观察力,分析能力和科学素质的形成都起着积极的作用。
比如,在讲“十字花科”植物时,教师安排学生提前栽种白菜花。上课时学生每人手中一朵,教师引导观察花瓣的数量、排列,引出课题。如此,亲自的体验,切身的感受,使学生获得了准确的感性材料,为理性的推断提供了直接的依据,记忆深刻,满足了学生的参与意识,培养了观察事物、分析问题的能力。
任何新的知识的学习,都是建立在旧的知识的理解和掌握的基础之上的,没有对旧知识的积累就没有新知识的继续学习和再认识。对于初中学生来说,思维方式虽以形象思维为主,但由于知识的积累和增加,经过不断地总结、归纳,抽象的逻辑思维逐渐形成,具有了一定的分析、推理能力。根据这一心理特征,教师对一些前后知识联系性较强的教学内容,抓住新旧知识的交接点,采取复习引导的教学方法有目的地向新知识过渡,不仅使旧知识得到巩固,新知识过渡自然,更重要的是从一上课就能集中学生的注意力,促使学生积极思维,比如“新陈代谢一节”,概念性强,知识深,难度大,学生不容易理解。为将这一知识难度化解,教师首先引导学生复习与新陈代谢有关的知识:人的消化、呼吸、循环、排泄系统的功能,然后启发学生思考:这几章内容涉及到生物生存的共同性的生理问题,究竟是什么呢?学生认真思考,综合分析,最后得出结论:人与外界环境进行物质交换。教师补充:还有能量交换。这就是我们这节课要学习的内容。“新陈代谢”引出课题。
生物科学是一门年轻的学科。人们对生物学的研究还处于初级阶段。甚至对一些极其简单的生物学知识,也还存在着一些错误认识。为了使学生明辨是非,获得正确的知识,纠正错误认识,采用传统的误识或不科学的做法作专题讨论来导向课题,既可以激发学生学习的兴趣,又可以使学生感受到全面掌握科学知识的必要性。比如在讲“鱼纲”一节时,教师首先列出众多被称为鱼的动物,如鲤鱼、鱿鱼、鲍鱼、鳄鱼、鲸鱼、鲨鱼让同学们讨论究竟哪个是鱼,说出道理。同学们发言非常涌跃,说法不一,但都不十分完满。教师不做裁决,而是把问题引到课题上来,通过本课的学习我们就知道了鱼有哪些主要特征,判断出哪个是鱼。
嵌入式课程设计范文5
【关键词】多路视频服务器/客户端;H.264编/解码;远程教学。
[Abstract] An embedded multi-channel H.264 video server/client design is established, which have been using in a remote experiment education system. The design includes these main modules, a video capture module based on DirectShow in Windows SDK, H.264 encode/decode module based on Intel_IPP_UMC, and a RTP transfer module based on jRTP library.
[Key Words] multi-channel video server/client;H.264 encode/decode;remote education
0.引言
视频是远程实验教学必不可少的组成部分。视频多路化设计可以节省教学设备数量,实现硬件资源利用的最大化。远程视频流处理需经由采集、压缩编码、实时传输、接收、解码、回放几个过程。视频流处理一般具有高实时性和大数据量吞吐率的特点。特别是对于多路情况,数据量虽路数急剧增加[2]。采用目前编码效率最高的H.264技术和专为多媒体传输设计的RTP协议[7],可以有效减小数据量,节省带宽,利用RTP/RTCP实现的Qos完成资源的合理调配。
1.系统概述
实验教学系统由实验设备、视频采集设备、服务器、网络连接、客户端组成。
客户端利用本地PC启动客户端软件通过Intenet与服务器交互。客户选择指定通道后, 服务器将该通道的实时视频数据经H.264压缩后通过RTP协议打包发送到客户端,客户端软件在收到打包数据后完成拆包,解压和回显操作;客户端定时向服务器发送RTCP,向服务器反馈收包情况,服务器根据RTCP评估网络质量,据此调节视频帧的压缩速率或压缩规模,以此实现Qos服务。
2.多路视频服务器设计
在设计中采用双核处理器Intel Dual Core T2300用于核心运算,配合接口完成设备控制。H.264编码和RTP打包均用软件方式完成。
图1 实验教学系统框图
2.1硬件构成
系统采用嵌入式之星EC5-1719CLDNA开发板,板上集成Intel Dual Core T2300处理器(主频1.6GHz,667MHz FSB)、Intel 945GM+ICH7M芯片组。系统内存DDR2 667MHz 1GB。接口包括4个USB2.0、4个COM(可跳线选择串口、RS232或RS485)、1个10M/100M/1000M自适应以太网卡。操作系统采用Windows XP。硬件结构框图如下:
图2 视频服务器硬件框图
2.2软件设计
服务器的软件核心运行在Windows XP上,整体程序框架采用Windows MFC。数据采集通过调用Windows SDK中DirectShow库函数以实现视频设备搜索、设备参数调整、视频参数调整、数据传输等;视频编码调用Intel_IPP_UMC库函数,完成高性能的编码运算;jRTP提供了一组RTP传输接口,通过调用这些接口程序完成网络发送操作。软件框图如下:
图3 视频服务器软件框图
软件整体采用多线程设计。充分利用多核处理器资源。线程是按功能进行划分的。同一数据流的线程间采用异步调用方式传递数据块指针,实现数据所有权的传递,实际上并不存在数据流动。编译时,使用Intel编译器针对指定处理器优化,使程序性能最优。
2.2.1视频采集
图4 视频采集程序流程
采集模块主要完成视频采集和必要时候的格式转换。一般说来,不同的视频设备支持不同的图像格式和分辨率,而视频编码器输入仅支持某些标准图像格式(如YUV420、UYVY、RGB24等)。当视频设备不支持编码器输入格式时,进行格式转换。反之,不需要转换,以减少CPU资源占用情况,有助于提高帧率。所有操作由DirectShow实现。
此外,视频采集线程还向视频编码线程提供图像格式、分辨率等信息,以帮助编码器正确初始化。当有新的一帧图像时,采集线程调用编码线程的输入接口函数,准备传递数据。如果此时编码器正忙,该接口函数会被一线程同步对象阻塞住,等待一个时间间隔后,若接口仍然保持阻塞,采集线程则放弃传递操作,丢弃当前帧的数据。如果接口不被阻塞,则帧数据传递成功。异步调用机制可以在当前CPU可用资源限制下最大限度的保证图像的实时性。
2.2.2视频编码
编码模块完成视频图像的H.264压缩。所有函数均由IPP库函数搭建。编码器利用采集线程提供的帧信息初始化变量和分配内存缓冲区。编码器准备好时,检查数据缓冲区,若为空,则等待一段时间后继续检查。如果发现有数据,则开始编码。同一数据流的编码器内部还将开辟多个子线程用于编码运算,只有当这些子线程全部结束时才完成一帧图像的编码操作。
图5 视频编码程序流程
当有一帧编码数据压缩完成时,编码器线程调用网络传输线程的输入接口。该过程与采集线程异步调用编码线程接口过程类似。
2.2.3视频数据RTP传输
网络传输模块,完成视频帧的分块、RTP打包、网络发送、RTCP接收操作。RTP/RTCP功能相关的函数均由jRTP实现。网络传输线程与编码线程的数据同步过程与前面所述的线程同步过程类似。网络传输根据客户端的情况完成初始化。初始化结果可能因客户网络环境为单播或组播有所不同。
图6 网络传输程序流程
2.2.4帧率控制机制
网络正常的话,客户端会定时向服务器发送RTCP包。网络传输线程每个一定时间察看一次RTCP包接收情况,若没有收到RTCP包,则网络传输线程将睡眠一段时间。在这段睡眠时间里,由于前面所述的线程同步机制,整个数据流都将被阻塞住,编码器停止工作,采集器不断地丢掉采集到的数据。只有网络线程恢复后,数据流才恢复流动。由此实现帧率控制。这是Qos的一个简易实现办法。
3.视频客户端设计
客户端用于远程向服务器发出控制指令,并接受和回放视频图像。
3.1软件设计
客户端程序框架采用用Windows MFC,RTP接收和RTCP发送用jRTP实现,H.264解码和视频渲染回放均使用Intel_IPP_UMC实现。经测试客户端可运行于大部分Windows平台下。
客户端同样采用多线程设计。按功能划分为网络接收线程、解码线程、视频显示线程。线程同步机制与服务器相同。
图7 客户端程序框图
图8 D1分辨率客户端显示
3.1.1视频数据RTP接收
网络接收模块完成RTP包接收,拆包,排序,帧组装操作。并定时向服务器反馈RTCP。RTP接收采用异步接收方式,当接收到数据时推动数据流前进。若数据流下游的线程繁忙,则缓冲当前数据,尽可能多地接收数据。
3.1.2视频显示
在解码线程完成帧解码后,显示线程完成回放工作。同时响应来自GUI的显示控制操作。 经过验证,服务器和客户端工作良好。在服务器同时发送D1和CIF视频时,图像清晰稳定。更高分辨率或更多路视频同时编码时,视频帧率明显下降,但工作正常。证明设计具有良好的网络适应能力。(详见图8所示)
4.测试数据
对于多路视频的H.264编码及传输的测试。调整不同的图像分辨率,测试编码器CPU占用率和网络带宽,并在客户端测试数据丢包情况。改变视频流的数量,分别测试1路,2路视频情况下编码器正常工作时CPU占用情况,网络带宽、丢包量以及QoS服务的效果。
表1 服务器测试结果
1路视频
D1(720*576) 2路视频
CIF(352*288)+D1(720*576)
CPU占用率 Core1 75% 96%
Core2 70% 98%
带宽 1.1Mbps 1.8Mbps
丢包率 无丢包 无丢包
5.结束语
本文介绍了一种远程实时视频监控的设计实现。在对于远程试验教学系统,图像质量和视频帧率没有特殊要求,在校园网带宽所允许的条件下,本设计较好的完成了教学系统的功能需求。
参考文献:
[1]刘喜龙,石中锁.基于H264的嵌入式视频服务器的设计[J].微计算机信息2005.1。
[2]多路嵌入式H.264视频服务器的设计详解.微计算机信息2008.06.19。
[3] PESCEMD. Programming Microsoft DirectShow for DigitalVideo and Television [M]. Redmond, Washington: Microsoft Press. , 2003。
[4] Multi-Core Programming Increasing Performance through Software Multi-threading, Shameem Akhter, Intel, 2007。
[5] DirectShow开发指南, 陆其明, 清华大学出版社, 2003。
嵌入式课程设计范文6
关键词:嵌入式系统 教学 探索 实践
中图分类号:G642.0 文献标识码:A 文章编号:1673-9795(2014)04(a)-0113-02
近年来,随着科技的发展和社会需求的推动,嵌入式技术及其应用已成为当今世界IT行业研究和应用的热点。随着网络技术和通信技术的发展,嵌入式系统的发展和应用有了有力的技术支持和巨大的市场前景。嵌入式系统已经在国防、航天航空、机器人、移动通讯、医疗仪器、工业控制、汽车电子、信息家电、仪器仪表、数码产品等诸多领域广泛应用。社会对掌握嵌入式技术的人才需求越来越大,但目前相关技术人才却严重匮乏,可以预见,嵌入式工程师将成为未来几年内最为热门的职业之一。
嵌入式领域的人才需求日益旺盛,人才缺口在逐步扩大,目前很多高职高专院校的相关专业都针对市场需求开设了嵌入式系统相关课程;但是由于嵌入式系统具有实践性和应用性极强的特点,多数院校嵌入式系统教学起步较晚,普遍存在设备更新缓慢的问题,或者受人才储备不足以及教学改革研究经费难以保障等因素的影响,在嵌入式系统教学上障碍重重,缺乏嵌入式系统人才的问题已经阻碍嵌入式产业可持续发展的重要问题之一[1]。因此,嵌入式系统的人才培养问题是高校嵌入式系统教学正在面临与必须解决的问题。为更好地为社会培养实践型、技能型人才,本文对嵌入式系统教学改革进行了探索和研究。
1 嵌入式系统教学特点和现状
与国外相比,我国嵌入式系统起步较晚,真正得到发展还是近几年的事情。高等院校作为培养嵌入式人才的主要基地,课程零散,无系统性,还没有形成统一的教学体系和人才培养模式,还没有发挥各个课程间的协同优势,没有一个全局的教学规划,是各大高校教学中亟待解决的共同难题。
(1)现在国内的部分高校对嵌入式技术的概念模糊,对内容没有彻底了解。如何同大学的前期课程的学习结合起来,这是教学的关键所在。另外,需要合理的规划和研究如何确定主流的微控制器芯片和主流的操作系统。
(2)实践性强是嵌入式系统课程的特点,对于初学者,必须有足够的必要实验环节和重要的验证性实验,这样教学过程就不会简单枯燥、内容乏味,学生也不会失去兴趣;否则,老师教好、学生学好将是无从谈起。所以说开展好实践教学非常重要。
(3)学生专业不同,所掌握的背景知识不同,具体表现在:计算机类专业学生的电路与硬件基础薄弱,对模电数电知识模糊;而电子类专业学生软件基础薄弱,不具备操作系统的相关知识,虽然都学过“电路”、 “C语言编程”等课程,但是他们一般都缺乏大型软件项目的开发经验,尤其缺乏操作系统方面的相关知识。因此在嵌入式系统课程体系中,针对不同的学生,需要首先增加一些用于弥补学生硬件电路、软件知识和操作系统的课程。
2 嵌入式系统教学模式探索
2.1 理论教学
学生在校期间的学习时间毕竟有限,而嵌入式控制领域又涉及到很广的知识面,需要学习很多东西,并且知识枯燥。为解决这个矛盾,嵌入式系统课程的目标是:实验教学辅助理论教学,以理论教学为主,以实验教学为辅,通过教学培养研究开发型人才。因此本课程的教学模式最好采取“启发-强化-实践”逐步深入的方法。课程教学的前期要通过讲述嵌入式控制系统的优越性及其广阔的应用前景,来调动和激发学生的学习兴趣。
教学中间阶段是对课程基础知识的学习和强化。国家标准对于嵌入式系统的定义是这样的:置入应用对象内部起操作控制作用的专用计算机系统。即凡是能置入一个大的对象内部、起到控制作用的芯片就可以叫嵌入式系统。实际上最基础、最典型的嵌入式系统就是单片机系统。嵌入式教学的起步应该是教授8位单片机系统。随着单片机等微处理器的应用越来越广泛,8位单片机的处理速度、存储容量和开发手段等方面越开越不能满足需要,于是开始向更高的处理速度、更方便的操作方式以及16位和32位系统进展[2],例如DSP、ARM等,最后出现了能够支持操作系统的嵌入式芯片和技术[3~4],比如SOPC。而对于芯片而言,根据不同的厂家,有多种选择,同一个厂家也根据处理速度和管脚多少有不同的产品。操作系统一般应用嵌入式Linux系统,或者Windows CE系统,能够放在很多嵌入式芯片上应用,比如ARM和FPGA。所以当我们循序渐进的教学时,应当先从单片机入手,熟练后学习ARM的有关知识,最后是Linux操作系统的掌握。
课程学习的最后阶段是实践应用环节,该阶段可以验证学生对所学知识的理解和掌握情况,能够让学生充分理解和掌握嵌入式芯片的工作原理和软硬件开发平台。课程的实验环节主要包括实验教学、课程设计以及科研训练项目。
2.2 实验教学
在嵌入式系统课程教学中,实验教学非常重要。本文结合自己的教学和实践经验,主要介绍实验教学环节的实施过程。该过程是这样的:以工程应用为主,循序渐进、逐渐深入。课内实验是必修教学环节,包含验证性实验和设计性实验。验证性实验以各种专用实验箱为主,与相应的课堂教学同步进行,配合相应的理论课学习,采用理论授课与动手实验相结合的方式。通常单片机实验是这样的,依赖某一个特定的实验箱或是实验板,提供了几个固定的经典实验。学生通过这样的试验箱,能够快速的学习各个模块的使用,亲自验证各个功能模块的实验,记忆深刻,等到综合性实验时就可以灵活运用它们了。同时验证课堂上学到的相关理论知识,使学生加深对理论知识的理解和掌握;了解嵌入式系统的集成开发环境、调试工具和测试工具的使用方法[5],了解嵌入式系统的开发流程。
设计型实验则在理论课所学知识的基础上,自行设计相关应用型实验。在充分验证课堂上所学到的理论性知识的同时,培养学生的自主动手设计能力。实验中,老师根据知识难易程度给出实验课题,要求在学生掌握单片机或者ARM架构、寻址方式、指令系统和接口等知识的基础上,提倡学生自主设计实验方案,自行设计电路,编写实验程序,调试运行,使学生具备在嵌入式平台上设计开发的能力。对于嵌入式微处理器,该能力包括汇编语言编程、C语言编程及汇编语言和C语言混合编程、调试及对接口编程和运用能力。同时学校提供一些核心板和功能扩展模块,配合学生的设计性实验。
2.3 课程设计
(1)课程设计的重要内容是综合性实验。在验证性实验和设计性实验的基础上,在课程结束时进行课程设计。根据老师给定的一些综合性选题,学生自由选择感兴趣的题目,根据整个课程的知识,利用学校实验台资源,制定出实验方案和步骤。通过设计硬件电路,编写程序,仿真调试,独立完成一个比较复杂的综合性实验项目。通过课程设计的综合性实验,使学生掌握嵌入式系统的开发流程,对嵌入式系统设计有更深入的理解,并初步具备进行具体应用和综合设计的能力。
(2)引入案例教学和项目教学模式,激发学生学习的积极性。针对社会对应用型人才的要求,结合学生的情况和学科的前沿技术,引入以案例教学和项目教学为主体的教学模式,遵循“学以致用、以用促学、边学边用、熟能生巧、追求创新”的理念。嵌入式课程教学可以一开始就可以下达课程设计任务让学生选择与了解,课题可以选用教师教学科研项目和各种大学生创新竞赛项目。这样可以让学生更积极地去学习实践环节,学生从“强迫学”变成“主动学”,同时学生也比较了解自己将要用到什么知识需要学什么知识。另外,实际应用能力的提高让学生更有动力,使他们充分利用课余时间,既巩固了知识点,又提高了设计经验。
(3)建立学生为主力的研发团队。对于基础牢、悟性高、有一定开发能力的学生,通过选拔建立研发团队,教师引进横向课题,带领学生完成这些面向应用的创新性项目。践行“导师负责制”,筛选一批技术扎实、专业经验丰富的教师队伍,亲手指导和教授学生,形成一支教师为带头人、学生为主力军的研发团队。同时在实践教学中,强调以学生为认知的主体,通过学生的“感受”提出问题,在教师的指导下解决问题,能够在大学期间更好地提高自己的工程实践和创新能力。
3 结语
上述教学改革措施,以培养创新型人才为目标,把理论教学与实践教学有机结合起来,进而提高嵌入式系统应用的综合素质,使学生能成功地运用嵌入式芯片这门工具进行创造性开发设计。
参考文献
[1] 李成华,江小平.嵌入式Android操作系统实践教学改革[J].石家庄:教育教学论坛,2011,20(7):153-154.
[2] 范剑,李军,夏如艇.单片机课程现场实验教学改革与实践[J].北京:中国教育技术装备,2012,3(6):63-64.
[3] 高国旺,党瑞荣,任志平.DSP课程教学改革与创新实践探索[J].北京:理工高教研究,2010,29(1):131-133.