第一篇:嵌入式系统课程建设
嵌入式系统课程建设
近年来,我国嵌入式系统产品发展十分迅猛,中国嵌入式系统市场估计每年将直接创造千亿元的效益,所带动的相关工业产值超过万亿元,成为中国信息产业新的市场增长点。与巨大的市场潜力和产业需求相比,我国嵌入式系统工程人才培养相对落后,并进而影响到了该产业的快速发展。在这种背景下,许多高校的计算机、电子、软件等专业针对市场需求,开设了嵌入式系统相关课程。在IEEE计算机协会和ACM共同制定的2004版计算机类课程体系中,嵌入式系统已经被列为核心课程之一。北京航空航天大学计算机学院于2002学年开始开设了“嵌入式系统设计”课程,下面对该课程的建设情况作简单介绍。课程基本情况
该课程是面向计算机学院高年级本科生(或研究生)开设的专业课,是一门以计算机各种专业知识综合应用为主要特色的课程,其指导思想是培养学生从“整体”的角度认识、研究和解决嵌入式计算工程问题的方法和能力,为学生在嵌入式计算工程领域研究和开发奠定相关基础。课程采用理论知识传输与工程能力培养并重的教学方法,教学内容尽量反映该领域内最新的理论和技术成果,使学生了解该学科最新的前沿发展动态和方向,培养出适应社会需求的专业化技术人才。
该课程的教学目标是使学生能够掌握嵌入式系统设计过程中的基本概念和原理,使学生能够掌握和使用最新的嵌入式系统设计方法和典型开发工具。课程在教学内容安排上遵循“面向市场需求、定位人才培养”的原则,强调将计算机系统不同层次专业知识的基础性与实际工程设计思想和架构的前沿性相结合,重视将计算机系统自底向上的各种专业课程内容的有机整合,使得诸如操作系统、体系结构、接口与通信和计算机网络等孤立的课程呈现相互配合的应用场景,让学生进一步认识和掌握上述课程的基本概念和基本规律在实际的综合系统应用中的作用和影响。在课件设计上,采取统一的知识体系结构,涵盖“基础知识+ 基本技能+ 技术讲座+ 项目实践”四大模块,突出注重工程能力培养的特色。通过课程学习和实验,学生应能够熟悉一种典型的微处理器体系结构,掌握一套主流的开发工具和一种嵌入式操作系统,熟练使用一门开发语言,使学生具备嵌入式系统软、硬件开发设计的基本能力。
目前该课程为48学时,其中理论授课24学时,实验24学时。该课程的理论教学内容包括:
(1)嵌入式系统概述;(2)嵌入式硬件基础;(3)嵌入式操作系统;(4)嵌入式系统的设计与建模;(5)嵌入式系统设计实例分析;(6)专用接口和硬件加速器;(7)分布嵌入式系统;
(8)高可靠性嵌入式系统等扩展内容。课程的实验包括了基础性实验和综合设计实验两部分,基础性实验主要是一些预先设计好的实验,通过让学生的实际操作,能够加深对课程所讲授的基本原理、技术和方法等知识点的理解,同时,能够让学生掌握一些具体的嵌入式系统的开发工具及环境,主要包括嵌入式操作系统的移植和裁减、驱动程序的开发及对开发工具链的使用。综合设计实验则要求学生面向某综合应用(指定或者自主提出)而进行设计、编码和调试并给出完整的解决方案。
课程的考核由三部分组成:理论课作业和小测验20%,基础性实验40%,综合设计实验40%。
经过四年的建设,该课程的已整理编写完成配套的教案、讲义和实验指导书,形成了一整套课程指导和考核体系,建立了以相关学科学术带头人为课程负责人,以博士中青年教师为教学骨干,以博士青年教师和博士生为教辅人员的教学团队。几年来的教学实践表明,该课程的教学实现了教与学的有机结合,理论教学和实践环节高度统一,有力地促进了学生的工程能力提高。在学生的作品中创新成为主题,学生在国内外各种嵌入式方面的竞赛中屡创佳绩,也从另外一个侧面印证了良好的教学效果。精品课程创新点
(1)本硕一体化设置。
课程强调研究生与本科生学习内容的连贯性、层次性,从理论课到实验课都设置了基本、中级和高级三个层次的内容,学生可根据自己的基础选听(或选做)具有不同加权值的内容(或实验)。突出体现了学院本、硕一体化的课程建设思路。
(2)兼顾理论,重在实践。
作为一门实践性很强的课程,本课程在不断更新最新的国内外理论知识的同时,非常重视加强实践环节,主要体现在两个方面:
一、课程理论授课部分,每一章都有设计实例,这些设计实例大部分来自教师实际的科研或工程项目,并且随着科研工作的变化而动态更新,具有很强的实践性。
二、课程设计了大量的实验,实验课时也占到了整个课程的一半时间,实验课本身加强了指导力度,由骨干教师加多名具有较强实践能力的助教组成的指导队伍,负责整个实验期间从理论到具体操作的各个环节的指导工作。
(3)紧密结合企业核心技术,具有较强的实用性和前沿性。
课程内容的设置与动态调整,都是在充分分析当前国际上有影响的嵌入式系统软、硬件平台最新的核心技术、充分考虑嵌入式应用系统开发企业技术需求的基础上进行的,课程内容较大程度地体现了嵌入式领域的热点,是企业界普遍关心的核心技术,具有较强的实用性,有利于培养出业界需要的人才。课程前沿性则表现在:
一、课程的主讲教师是从事嵌入式系统研究与开发一线的科研人员,能够及时地根据技术发展动向调整教学大纲和教学计划,及时地将最新的技术和设计理念引入到课程中。
二、及时地对国际上一些著名大学(目前我们主要选择的是卡耐基·梅隆和普林斯顿大学)的相关课程的开设情况进行跟踪分析,对我们的课程安排适时调整。
(4)注重创新素质的培养。
嵌入式系统是面向应用的专用计算机系统,与产品和市场有着紧密的联系,设计的创新性直接决定了产品的创新性,加强未来的嵌入式系统设计师的创新素质的培养,是本课程重点之一。具体体现在:
一、课程只对基本原理和方法介绍,对一些具体技术和环境则通过课外参考资料和网上第二课堂提供给学生,学生根据个人兴趣有选择地对某些问题进行深入学习和研究;
二、注意培养学生批判性思维方式,在实例分析中,鼓励学生对实例所采用的技术和方案进行不同角度的评价,变被动灌输为主动思考;
三、加强综合设计性及开放性实验环节,鼓励和引导学生积极提出原创性的设计内容,创新性是综合性实验的考核标准之一。
(5)形式多样的教学模式
我们采用“责任教授+主讲教师+ 实验辅导教师”的教师团队,采用“讲授+分析+案例+演示+大型作业+实验+查阅资料及撰写综述报告+小课题”的教学模式,改善了这类综合性课程“难教”、“难学”的状况。
讲授:对于基本概念和基本原理方面的内容,采用以传统的讲授法为主,力求讲清概念内含和外延、基本原理的思路,实质意义以及适用范围等内容;
分析:嵌入式系统设计的内容较多,对于某些书本上只提其然而不提其所以然而又比较重要会影响系统级设计理解的问题,找准切入点,逐步分析,使学生深入理解相关概念;
案例:对于应用性较强的内容,精心设计典型案例,通过对案例的分析和逐步实现,使学生理解并能够正确应用相关的技术和原理解决问题。
(6)完整的实验体系
全面的实验内容、实验过程全程指导、严格的考核体系是本课程实践环节的亮点。
课程的实验由精心设计的基础性实验和鼓励学生创新的综合设计实验两部分组成。基础性实验主要是一些预先设计好的实验,通过让学生的实际操作,能够加深对课程所讲授的基本原理、技术和方法等知识点的理解,同时,能够让学生掌握一些具体的嵌入式系统的开发工具及环境。基础性实验是一组实验集,包括了必做的和根据个人的兴趣选做的。目前针对Xscale硬件平台基于WINCE操作系统和LINUX操作系统分别设计了四大类共24个实验,针对EIA平台设计了4个基本实验,学生可以任选平台,除了3个必做的实验外,每个人按要求选做1~2个实验。综合实验是启发式的引导性实验,主要目的在于培养学生对课程所学知识的综合运用能力和创新能力。由学生结合本课程内容以及前导实验,充分发挥主观能动性,独立设计并实现具有一定演示度的嵌入式系统,原则上不限制硬件和软件平台。考虑到学生水平差异,给出了一些备选方向,鼓励和引导学生积极提出原创性的设计内容。
对于基础性实验,要求每个学生独立完成,实验前要求提交实验预习报告,实验过程中给出实现结果,实验后要求提交实验报告。对于综合设计实验,以兴趣小组方式组织,每个小组3~4人,要求每个小组都要提交项目申请书,经过答辩、确认技术路线可行后,进入实现阶段,实验完成后,提供关于实验的课程设计和实验报告。在整个实验过程中由课程教师和助教一起完成实验指导。建设的具体实施办法
(1)完善课程网站
实现所有教案和课件全部电子化,具有较好的多媒体效果,并放在网站上。实现教学手段的电子化与网络化,包括网上作业的发布与提交,网上小测验,网上辅导与答疑。
(2)建设开放实验室
从这几年的教学实践看,学生对嵌入式系统这种教学与实践相结合的课程非常感兴趣,尤其在综合实验中表现出很高的热情和积极性,所投入的精力和时间已远远超出课程的要求,教学效果非常明显。这促成我们建设开放实验室的想法,即使该课程的实验教学做到实验时间、实验内容和实验器材对学生的真正开放。使学生能够理论与实践相结合、验证型实验与设计型实验相结合、课内与课外相结合。当然在开放实验室下的课程辅导、监管、考核方式都需要新的探索。开放实验室将通过学校的教改项目支持来完成。
(3)逐步构建第二课堂—电子教室
软硬件平台的多样性是嵌入式系统的主要特点之一。由于课时等条件限制,课堂上不可能有覆盖很多内容,为了保证课程的广度和深度,往往需要学生课外学习和掌握一定的知识。因此,我们计划逐步建立第二课堂—电子教室。该教室包括多个专题(如ARM教室、X86教室、Linux教室、WinCE教室、低功耗设计教室等),学生根据自己的时间和兴趣选择,并在网上交互学习。电子教室的建设将依托学院教改项目。相关教材介绍
经过近四年的建设,本课程形成了自己的教案、讲义和实验指导书。《嵌入式系统设计》教材也即将编写成稿。课程的实验内容和指导书已被“国家发改委-微软嵌入式系统教学包”收录。
主讲教师个人简历
尚利宏博士,北京航空航天大学计算机学院讲师。主要研究方向为嵌入式系统、嵌入式软件测试、容错计算,主讲《计算机容错技术》、《嵌入式系统设计》等课程。作为技术负责人完成国家自然基金项目一项,国防预研基金项目二项,以及国防重点型号任务多项。获陕西省国防科技进步三等奖一项。2005和2006年连续两年指导的本科生队伍获得微软公司组织的全球大学生嵌入式系统设计大赛优胜奖。北航大学生课外活动优秀指导教师。
第二篇:嵌入式系统 课程感想
《嵌入式系统设计》课程感想 班级:电气99姓名:王正杰学号:09095018 虽然上完了整门课,但是还是对嵌入式和嵌入式系统等最基本的概念不是很了解。于是自己动手查阅了一些资料,其中IEEE(国际电气和电子工程师协会)对嵌入式系统的定义:“用于控制、监视或者辅助操作机器和设备的装置”(Devices Used to Control,Monitor or Assist the Operation of Equipment,Machinery or Plants)。国内比较认可的定义是:嵌入式系统是以应用为中心,以计算机技术为基础,软硬件可裁剪,适用于应用系统,对功能、对可靠性、成本、体积、功耗有严格要求的专用计算机系统。
“嵌入式”反映了这些系统通常是更大系统中的一个完整的部分,称为嵌入的系统。而且,嵌入的系统中可以共存多个嵌入式系统。
一个简单的嵌入式系统一般包含以下几部分:嵌入式微处理器外围硬件设备、嵌入式操作系统、特定的应用程序。可见,其实嵌入式系统就是含有微处理器和硬件接口的一个根据应用可裁剪的非标准计算机系统。
嵌入式系统的发展历史:
嵌入式系统的出现最初是基于单片机的。
70年代单片机的出现,使得汽车、家电、工业机器、通信装置以及成千上万种产品可以通过内嵌电子装置来获得更佳的使用性能:更容易使用、更快、更便宜。
80年代早期开始,嵌入式系统的程序员开始用商业级的“操作系统”编写嵌入
式应用软件,这使得可以获取更短的开发周期,更低的开发资金和更高的开发效率,“嵌入式系统”真正出现了。
目前,嵌入式系统在很多产业中得到了广泛的应用并逐步改变着这些产业,包
括工业自动化、国防、运输和航天领域。例如:神州飞船和长征火箭中肯定有很多嵌入式系统,导弹的制导系统也是嵌入式系统,高档汽车中也有多达几十个嵌入式系统。在日常生活中,人们使用各种嵌入式系统,但未必知道它们。事实上,几乎所有带有一点“智能”的家电(全自动洗衣机、电脑、电饭煲„)都是嵌入式系统。嵌入式系统广泛的适应能力和多样性,使得视听、工作场所甚至健身设备中都有嵌入式系统的身影。
嵌入式系统的特点:
专用性:嵌入式系统面向用户、面向产品、面向应用,它必须与具体应用相结合才会具有生命力、才更具有优势。也正是这个原因,必须结合实际系统需求进行合理的裁减。
嵌入性:也就是说系统和被控制的对象是紧密连接的,一般不需要人为干预,从这点上讲,也就对嵌入式系统的环境适应性、稳定性、可靠性等提出了一些要求,在进行软件和硬件设计时必须考虑这些要求。
智能性:1.嵌入式系统需要有一个中央处理器单元(CPU),来实现对对象的智能控制。
2.嵌入式系统首先是计算机系统,其次是专用的计算机系统,这种系统有别于通用的个人电脑(PC),最后由于其专用的特点决定了其软硬件必须能够进行定制,必须能够进行裁减。
3.单片机也是属于嵌入式系统的范畴。但是由于历史的原因,单片机和嵌入式系统被许多人区分开来对待,嵌入式系统更多地被理解为使用ARM等32位嵌入式微处理器的计算机系统。4.单片机系统一般采用单任务程序或简单的多任务内核,如uC/OS-II操作系统,一般应用于一些小型应用系统中;而ARM嵌入式系统还能很轻松的运行Linux、Windows CE、VxWorks等复杂的操作系统,比较适合于设计大型应用系统。
嵌入式系统开发的分工:
1.芯片制造商:负责制造包括CPU、网卡、RAM、及Flash等芯片的厂商。
2.设备制造商:负责制造硬件开发板和产品板。3.操作系统提供者:负责提供嵌入式操作系统。4.软件开发商:负责在操作系统之上开发具有独
立功能的应用程序。
5.系统集成商:负责向最终用户提供产品解决方
案。
嵌入式开发的一般方法:
嵌入式系统的软件开发通常采用 “宿主机/目标机”方式 :
首先,利用宿主机上的丰富的资 源及良好的开发环境开发和仿真调试 目标机上的软件。
然后,通过串行口或网络将交叉 编译生成的目标代码传输并装载到目 标机上。
最后,目标机在特定的环境下运行。
几种常见的嵌入式系统:
试目标机上的软件
生成的目标代码传输并装载到目标机上
目标机在特定的环境下运行
嵌入式Linux:
uClinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码。uClinux从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。
适用于没有虚拟内存或内存管理单元(MMU)的处理器,例如ARM7TDMI。它通常用于具有很少内存或Flash的嵌入式系统。
它保留了Linux的大部分优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。
Win CE:
Windows CE是微软开发的一个开放的、可升级的32位嵌入式操作系统,是基于掌上型电脑类的电子设备操作,它是精简的Windows 95。Windows CE的图形用户界面相当出色。Win CE具有模块化、结构化和基于Win32应用程序接口以及与处理器无关等特点。
VxWorks :
VxWorks操作系统是美国公司于1983年设计开发的一种嵌入式实时操作系统(RTOS),是嵌入式开发环境的关键组成部分。良好的持续发展能力、高性能的内核以及友好的用户开发环境,在嵌入式实时操作系统领域占据一席之地。它以其良好的可靠性和卓越的实时性被广泛地应用在通信、军事、航空、航天等高精尖技术及实时性要求极高的领域中,如卫星通讯、军事演习、弹道制导、飞机导航等。
Nucleus:
Nucleus PLUS是为实时嵌入式应用而设计的一个抢先式多任务操作系统内核,其95%的代码是用ANSIC写成的,因此非常便于移植并能够支持大多数类型的处理器。Nucleus PLUS采用了软件组件的方法。每个组件具有单一而明确的目的,通常由几个C及汇编语言模块构成,提供清晰的外部接口,对组件的引用就是通过这些接口完成的。由于采用了软件组件的方法,使Nucleus PLUS 的各个组件非常易于替换和复用
嵌入式系统发展趋势:
我们有理由相信计算机还将继续快速发展并进一步改变我们的生活,让计算变得“无所不能”、“无处不在”。其中“无所不能”将是人工智能技术和超级计算机的结合,而“无所不在”则是嵌入式技术应用的广阔天地,现在普通消费者已经可以从市场中买到数码相机、移动电话、打印机等众多的数码产品、航空设备、ATM机、计算机网络设备等电子产品中都用到了嵌入式技术。
通用计算机的发展变为功能电脑,普遍进入社会,嵌入式计算机发展的目标是专用电脑,实现“普遍化计算”,因此可以称嵌入式智能芯片是构成未来世界的“数字基因”。正如我国资深嵌入式系统专家——沈绪榜院士的预言,“未来十年将会产生同大小、具有超过一亿次运算能力的嵌入式智能芯片,将为我们提供无限的创造空间“。
总之,“嵌入式微控制器或者说单片机好象是一个黑洞,会把当今很多技术和成果吸引进来”。
第三篇:嵌入式系统实验室建设申请书
【项目八:嵌入式系统实验室项目规划申请立项时间:2013年 】
1.项目建设的总体目标:
(1)总体建设目标:
通过建设一个嵌入式系统实验室,利用实验室丰富的资源,全方面的展开嵌入式方面的教学。既要学生掌握嵌入式的核心技术,了解现代科技发展的最新动向,又要充分的调动学生学习的积极性和主动性,通过创新、创业训练,提高学生的综合应用能力,培养出社会所需要的、高素质的优秀人才。通过建设嵌入式系统实验室,建设一支具有较强实力的师资队伍,让老师利用实验室的丰富的资源,开展更多的实践项目,锻炼老师的实际项目的操作能力。
(2)项目建设的意义和可行性分析:
①项目建设的意义:
未来的几年内,随着信息化,智能化,网络化的发展,嵌入式系统技术将获得广阔的发展空间。作为当前最热门、最具发展前途的IT应用技术之一,嵌入式技术已成为中国电子信息产业发展的难得机遇。要发展我国的嵌入式技术,人才的培养才是关键。在嵌入式产品日渐普及和迅速发展的今天,有关方面的人才的紧缺就日渐突出,众多公司和科研院所不惜重金骋用嵌入式系统开发方面的高层次人才。高校是培养科研人才的重要基地,是创造高科技产品的重要基地,是推动社会科技发展的重要力量。因而,高校培养嵌入式系统人才的任务已迫在眉睫。让本科生在校内就接触这些较为先进的技术无疑对他们的就业和成才有极大的推动力。实验室就是培养人才的摇篮,组建一个能为学生提供充分的动脑,动手的场所。提供一个充分锻炼的机会,实验室将是一个最有效的手段。
嵌入式系统实验室的建设不仅丰富了学校的课程体系,让学校的教学能够跟上科技进步的步伐,体现了学校以社会需求为出发点来培养人才的宗旨。而且嵌入式系统实验室的建设有助于推动教师科研水平的提高,有助于推动学生积极参与创新、创业训练。
②项目实施的可行性分析:
我系现有实验室专任教师和管理人员共19人,其中教授3人,副教授6人,高级实验师1人,讲师9人。在学历结构上博士1人、在读博士1人,硕士学位13人,在读硕士1人。开设有数学与应数学、计算机科学与技术两个本科专业,任课教师具有丰富的实习、实践、实验指导经验。通过多年的教学科研和管理经验的积累,已完全可以胜任实验室的建设和管理。
我系现有网络工程实验室和数学建模实验室,学生用机90台、服务器两台,可承担多门课程的教学和实践课程。在实验室的建设管理过程中,我们广泛地借鉴了省内外兄弟院校建立相关专业实验室的先进经验,并就管理经验同学院、等高校做了深入的交流。已经为实验室建立了完善的使用和管理等一系列具体的规章制度,以保证实验的正常开展和仪器设备的规范管理。
该实验室项目的建设资金来源于中央财政支持地方高校发展专项资金,所以在经济上具有可行性。
综上所述,我系具有丰富的教学和管理经验,并有一套完善的规章制度,而且具有较强的师资队伍。随着资金的不断投入,我系完全有能力建成一个高质量、高水平的嵌入式系统实验室,更好的为学生服务,为教学和科研服务。因此,嵌入式系统实验室的建设是可行的。
2.主要建设内容:
①建设目标:
(1)建立健全各项实验室管理规章制度,规范计算机科学与技术专业实验课程的教学环节。通过实验室的建设提高实验室的管理水平和实验教师的教学水平及科研能力,培养及建立一支动手能力强,教学和科研双过硬,专尖结合的师资队伍。
(2)购置嵌入式系统实验箱,让学生能够完成嵌入式系统软件开发的配置练习。并满足学生在开展创新项目时的设备需要。
(3)通过深化实验教学改革,优化实验教学体系,创新管理运行机制,建设满足现代实验教学需要的高素质实验教学师资队伍,建成仪器设备先进、资源共享、开放管理、绿色环保的实验教学中心,全面提高实验教学水平和实验室效益,满足新时期实施素质教育和培养创新型人才的需要。推动计算机专业的教学改革,探讨出适合于本专业实验课的教学模式、教学内容及教学体系等。
(4)编写适合本专业的实验课教学大纲、教材、实验指导书等。
(5)依托嵌入式系统实验室,通过承担创新项目、科研项目,锻炼教师、学生的科研创新能力。
②建设任务:
本实验室项目建设任务主要是先对实验场地进行装修和改造,完成各项基础设施建设,然后购置嵌入式系统开发实验箱、学生电脑、投影仪等实验设备,并完成仪器、设备的安装和调试。
③规划期内各建设项目及内容:
(1)通过对国内其它高校嵌入式系统实验室的调研,形成详细的实验室建设规划,并进行专家论证。
(2)通过正规的招标程序,配备嵌入式系统实验箱30台、学生电脑30台、服务器1台、投影仪1台及其其他所必需的实验设备。同时完成实验场地基础设施的建设。
(3)需完成嵌入式系统软件开发实验课程的实验教学大纲、实验教学指导书的撰写、与修订,以及完成实验、实训讲义的编写。同时需要完成设备的安装、调试及试运行,各实验室提交试做结果报告;组织验收;准备有关材料,为中央、省专家组进校评估验收作好充分准备。
3.建设资金预算及主要用途
2013年规划总资金65万元,实验室的建设费用预算如下:
(1)嵌入式系统实验箱30台,费用共计30万元;
(2)学生电脑30台、教师电脑1台,费用共计20万元;
(3)投影仪、网络设备等,费用共计5万元
(4)实验室基础设施建设费用8万元;
(5)实验室管理人员及教师参加培训的费用以及其他开支,共2万元。
4.建设项目实施组织及进度安排
我系将成立嵌入式系统实验室建设领导小组负责项目的实施。提供需要购置的设备、场地布线、实验室的维修、改造等相关参数给学院国资处并由其上报市政府,按照政策进行招标。进度安排如下:
2013.6~2013.8:成立嵌入式系统实验室建设领导小组,并对原有的设备进行清查。同时完成对国内其它高校相关实验室的建设进行调研。
2013.9~2012.11:制定嵌入式系统实验室建设的总体规划、建设方案。同时聘请专家对嵌入式系统实验室建设规划进行详细论证。
2013.11~2014.1:制定详细的嵌入式系统实验室设备购置计划并进行实验室建设的招标。完成实验室管理规章制度的制定。
2014.2~2014.4:完成嵌入式系统实验室的建设。完成相关课程的教学大纲、实验教学指导书、实验讲义的编写与修订等。
2014.4-2014.5:各实验室整改发现的问题,提交总结报告。学校组织验收。认真听取专家意见,拟定整改方案并实施。
第四篇:【嵌入式】Linux 嵌入式系统教学课程改革探索
摘要:传统嵌入式系统教学内容容易使学生产生厌学、畏难的现象,严重影响了教学质量。该文提出基于调整实践教学体系的设想,并具有针对性地提出基础课程投入力度、分阶段培养学生Linux下编程能力、改革实践内容的方法,实现即可与传统嵌入式教学方式相结合,又可与当前嵌入式发展趋势相吻合的实践教学改革方案;从而达到提高学生学习兴趣和教学质量的目的。中国论文网
关键词:嵌入式系统;教学内容;教学质量;实践教学;Linux
中图分类号:G642 文献标识码:A 文章编号:1009-3044(2012)28-6733-02 概述
嵌入式系统是面向软件、计算机、通信、电子等专业本科生和研究生的一门普及型技术基础课程。它是一门交叉学科,既与计算机专业课程有关,又与电子电气、通信、自动化、化工、材料等诸多专业课程有关,并且还与具体的应用背景相关联。涉及到的基本知识有:硬件知识(如嵌入式微处理器及其基本的接口知识、扩展的人机接口、网络通信接口等)、Linux操作系统(至少了解Linux操作系统的中断、优先级、任务间通信、同步等知识)、程序设计知识(C、C++、尤其需要精通C语言);同时,还需涉及一定的数字电路知识[1-2]。
嵌入式系统学科的特点决定了学生需要学习大量相关课程方能做出优秀的作品,其成果见效周期长,学生在系统学习过程中会普遍因为缺少相应成绩而丧失学习兴趣。针对这种情况,我院在传统嵌入式系统教学中加入了一些新颖的、能够有效激发学生学习动力的相关课程,以此提高对嵌入式系统学习的兴趣,并且取得了显著的成绩。
嵌入式系统教学课程改革措施
C语言作为学习其他编程语言的基础,同时也是传统嵌入式系统基础学科之一,需要重点强化学生实际动手能力。在嵌入式的高级应用部分我院将其与新兴的智能手机操作系统—Android相结合,取得了良好的教学效果。
2.1 基础课程改造
我院嵌入式系统教学对学生采用“厚基础,宽口径”的教学特色,着重强调学生对基础知识的掌握。为强化学生的实际动手能力,我院将C语言的课时设置为80课时,并辅以大量的实践内容。针对嵌入式系统偏重于Linux编程的特色,在C语言讲授时直接开展基于Linux下编写C语言的教学。通过实践教学表明,学生只需两周即可掌握相应方法;而且学生由于没有Windows下VS编程经历,反而更加容易掌握接受。
在后续课程中重点加强Linux下高级C语言编程学习,如内存问题、宏问题、调试与优化等,部分学生在大二即可做出优秀作品。在刚刚结束的2012年NOC网络与信息安全技术大赛中,我院嵌入式系统学生获得了全国二等奖的好成绩。
2.2 Android课程教学
Android作为一个新兴的智能手机操作系统,在国内外广受欢迎,学生范围内也有大量从事Android学习。Android学习起点低,只需学完Java课程即可从事开发,针对嵌入式传统教学内容容易使学生丢失学习兴趣的现象,将其加入到嵌入式教学体系当中,作为学生实践技能的有益补充。学生很容易通过Android做出优秀的作品,从而激发其自信心和兴趣,再以此为基础,指引其从事跟嵌入式系统方面相结合的研究,比如完成Android系统的裁剪,功能的定制及将其移植到ARM板中,甚至还可以同物联网等新兴领域相结合。
其他措施
除了嵌入式系统课程改革外,我院还广泛开展校企合作,建立开放实验室和鼓励学生参加全国大赛。
3.1 与CSDN,GOOGLE开展校企合作
为了激发学生的创造思维,发扬团队精神,锻炼学生编程能力,我院与CSDN合作建设了《嵌入式相关资料》 CSDN高校俱乐部,并举办了多场Android开发交流会。同时还积极与GOOGLE开展深入合作,成立了南阳GTUG,每月举办GOOGLE Android开发者技术交流活动。通过校企合作,不仅提高了学生学习的积极性,也极大扩展了视野,为今后嵌入式系统教学进一步拓展创造条件。
3.2 建立开放实验室
为了提高嵌入式系统学生学习嵌入式技术的兴趣,我院开设了Android、嵌入式开放实验室,鼓励学生踊跃参加。开放实验室是一个以“自由、促进、创新”为理念,为对Android、嵌入式技术感兴趣的学生提供了一个沟通交流、学习提高的良好环境。开放实验室以Android技术和嵌入式技术为研究主体,实验题目具有应用性、先进性和趣味性,通过开放实验室,为学生提供学习、实践、交流、承担项目、就业对接等机会。为此,定期举办术开发技术讲座,促进不同水平和层次小组成员之间的沟通交流、实践锻炼机会、努力拓宽学生毕业时就业机会[3]。现在,开放实验室作为开设嵌入式系统课程的实验基地,从带领实验室的经验中总结出学生培养模式,并且通过“学生带学生”的模式,不仅使学生能力进一步提高,也为我院嵌入式系统教育培养计划课程的执行进行前期探索。
3.3 积极鼓励学生参加大赛和做项目
我院为锻炼学生实际动手能力,积极鼓励学生参加各种竞赛,在全国信息技术大赛(Android方向)和河南省移动MM大赛中都取得了优异的成绩。经过实践证明,竞赛模式能够将对Android感兴趣的学生集中起来培养,这样学生之间能够方便的学习交流沟通,形成良好的互动氛围。通过做项目和积极参加各种比赛,不仅可以快速提高学生的知识水平,还可以使学生的组织能力和团队协作能力得到很大提升。
需进一步加强的地方
虽然我院在嵌入式系统教学方面取得了不小的成就,但是仍然有一些问题需要进一步加强。
4.1 教材建设
Android诞生没有太长时间,目前国内研究大多都是从国外借鉴而来,市场上的很多书籍存在相互抄袭甚至通篇代码的情况,而且也不太符合嵌入式系统学生的自身特色。可以集中力量,从实践教学出发,以工程实践为核心,根据嵌入式系统自身特点,编写几本优秀高质的、适合本教学特色的Android教材,将其与传统嵌入式教学体系有机结合起来。
4.2 师资建设
由于嵌入式系统教学的特殊性,需要教学人员具有教育教学能力和工作经验兼备的复合型人才,但目前高校嵌入式教学领域普遍缺少“双师型”人才,这需要以后学院加强对青年骨干教师的外出培训力度和政策支持。
4.3 转变教学手段
在传统教学中,教师普遍采用以“PPT为中心”的教学模式,授课时使用大量PPT,这种做法容易使学生产生上课不认真听讲的心理,而且也会容易引起课堂枯燥等问题,不利于激发学生的兴趣。教师在授课时应转变思路,将PPT作为一种补充手段,采用多种教学模式[4],“以学生为核心”,将学生作为授课时的主体,从而激发学生学习兴趣。
结论
该文针对嵌入式系统传统课程存在的在教学过程中学生容易丢失学习兴趣的问题,针对嵌入式学科特点和学生学习的特点提出了一些实践教学改革方法,以此努力构建嵌入式系统教学课程新模式。
参考文献:
[1] 章民融,徐亚锋.嵌入式教学关键点的研究和嵌入式实验教学平台的设计[J].计算机应用与软件,2009,26(3):160-162.[2] 邓昀.关于嵌入式系统课程教学改革的探讨[J].中国校外教育(理论),2011(z1):《嵌入式相关资料》 566.[3] 吴磊.嵌入式教学与实验的研究[J].实验室研究与探索,2011,30(11):103-104.[4] 胡沛.JavaScript课程教学改革探索[J].电脑知识与技术,2011,7(32):7944-7945.转载请注明来源。原文地址:
《嵌入式相关资料》
第五篇:嵌入式系统实验报告
嵌入式系统实验报告
学
号:
姓
名:
班
级:13电子信息工程
指导老师:
苏州大学 电子信息学院
2016年12月
实验一:一个灯的闪烁
1、实验要求
实现PF6-10端口所连接的任意一个LED灯点亮
2、电路原理图
图1 LED灯硬件连接图
3、软件分析
RCC_Configuration();/* 配置系统时钟 */
GPIO_Configuration();
/* 配置GPIO IO口初始化 */
for(;;)
{
GPIOF->ODR = 0xfcff;
/* PF8=0--> 点亮D3 */
Delay(1000000);
GPIOF->ODR = 0xffff;
/* PF8=1--> 熄灭D3 */
Delay(1000000);
4、实验现象
通过对GPIOF8的操作,可以使LED3闪烁
5、实验总结
这是第一次使用STM32开发板,主要内容是对IO端口进行配置,点亮与IO端口相连接的LED灯,闪烁周期为2S。通过本实验对STM32开发板的硬件原理有了初步了解。
实验二:流水灯
1、实验要求
实现PF6-10端口所连接的5个LED灯顺次亮灭
2、电路原理图
图1 流水灯硬件连接图
3、软件分析
int main(void){
RCC_Configuration();/* 配置系统时钟 */
GPIO_Configuration();/* 配置GPIO IO口初始化 */
for(;;)
{
GPIOF->ODR = 0xffbf;
/* PF6=0--> 点亮LED1 */ Delay(5000000);GPIOF->ODR = 0xff7f;
}
/* PF7=0--> 点亮LED2 */ Delay(5000000);
GPIOF->ODR = 0xfeff;
/* PF8=0--> 点亮LED3 */ Delay(5000000);
GPIOF->ODR = 0xfdff;
/* PF9=0--> 点亮LED4 */ Delay(5000000);
GPIOF->ODR = 0xfbff;
/* PF10=0--> 点亮LED5 */ }
4、实验现象
LED1~LED5依次点亮,亮灭的时间间隔都为1S。
5、实验总结
本次实验对STM32开发板的GPIO端口进行进一步学习,通过程序可以实现流水灯的闪烁。
实验三:单级外部中断
1、实验要求
按下某个按键,触发中断,中断服务程序改变LED灯状态
2、电路原理图
图3 SW1硬件原理图
3、软件分析
int main()
{
RCC_Configuration();
GPIO_Configuration();
GPIO_Write(GPIOF,0xffff);Delay(5000);
while(1)
{
}
/* 配置系统时钟 */
/* IO口初始化 */
/* 全灭 */
if(GPIO_ReadInputDataBit(GPIOA, GPIO_Pin_8)==0)/* 如果SW1 PA8=0 */ {
GPIO_SetBits(GPIOF, GPIO_Pin_6);
/* LED1点亮 */
Delay(0x1FFFFF);
GPIO_ResetBits(GPIOF, GPIO_Pin_6);
/* LED1 熄灭 */ Delay(0x1FFFFF);} }
4、实验现象
原来5个LED灯都处于熄灭状态,按下SW1,触发中断程序,LED1点亮。
5、实验总结
通过本次实验,可以对某一状态通过外部中断,改变其当前状态。
实验四:多中断嵌套
1、实验要求
按下某个按键,触发中断,中断服务程序改变LED灯状态
2、电路原理图
图4 SW1,SW2,SW3硬件原理图
3、软件分析
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQChannel;
//设定中断源为PA0 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;//中断占优先级为0 NVIC_InitStructure.NVIC_IRQChannel = EXTI3_IRQChannel;
//设定中断源为PD3 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;//中断占优先级为1 NVIC_InitStructure.NVIC_IRQChannel = EXTI9_5_IRQChannel;//设定中断源为PA8 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;//中断占优先级为2 void EXTI0_IRQHandler(void){ int i=0;if(EXTI_GetITStatus(EXTI_Line0)!= RESET){ for(i=0;i<10;i++){
GPIO_Write(GPIOF,0xffff);
GPIO_SetBits(GPIOF, GPIO_Pin_6);/* LED1 点亮 */ Delay(0x5fFFFF);GPIO_ResetBits(GPIOF, GPIO_Pin_6);/* LED1 熄灭 */
Delay(0x5fFFFF);EXTI_ClearITPendingBit(EXTI_Line0);} } }
void EXTI3_IRQHandler(void)if(EXTI_GetITStatus(EXTI_Line3)!= RESET){ {
int i=0;for(i=0;i<10;i++){
GPIO_Write(GPIOF,0xffff);
GPIO_SetBits(GPIOF, GPIO_Pin_7);/* LED2 点亮 */ Delay(0x5fFFFF);GPIO_ResetBits(GPIOF, GPIO_Pin_7);/* LED2 熄灭 */ Delay(0x5fFFFF);EXTI_ClearITPendingBit(EXTI_Line3);} } } void EXTI9_5_IRQHandler(void){ int i=0;
if(EXTI_GetITStatus(EXTI_Line8)!= RESET){
for(i=0;i<10;i++){
GPIO_Write(GPIOF,0xffff);
GPIO_SetBits(GPIOF, GPIO_Pin_8);/* LED3 点亮 */
Delay(0x5fFFFF);
GPIO_ResetBits(GPIOF, GPIO_Pin_8);/* LED3 熄灭 */
Delay(0x5fFFFF);
EXTI_ClearITPendingBit(EXTI_Line8);} } }
4、实验现象
中断优先级从高到低依次为:SW3,SW2,SW1 原来5个LED灯都处于熄灭状态,按下SW1,LED3应该闪烁10次,当其闪烁5次后按下SW2,LED2也应该闪烁10次,当其闪烁4次后按下SW3,LED1也应该闪烁10次,则当LED1闪烁完10次后,LED2继续闪烁6次,之后LED1继续闪烁5次。
5、实验总结
通过本次实验,可以对LED状态实行中断嵌套,由以上实验现象,得出以下结论:高中断优先级可以打断低优先级,中断系统正在执行一个中断服务时,有另一个优先级更高的中断提出中断请求,这时会暂时终止当前正在执行的级别较低的中断源的服务程序,去处理级别更高的中断源,待处理完毕,再返回到被中断了的中断服务程序继续执行,反之,低中断优先级不可以打断高优先级。
实验五:TIM2的基本应用
1、实验要求
TIM2定时器将LED灯定时点亮和熄灭一定的时间
2、电路原理图
3、软件分析
TIM_Cmd(TIM2, ENABLE);
/* TIM2 enable counter */ TIM_TimeBaseStructure.TIM_Period = 1999;
TIM_TimeBaseStructure.TIM_Prescaler = 35999;
//定时时间为1s void TIM2_IRQHandler(void){ TIM_ClearITPendingBit(TIM2, TIM_IT_Update);
GPIO_WriteBit(GPIOF, GPIO_Pin_6,(BitAction)(1-GPIO_ReadOutputDataBit(GPIOF, GPIO_Pin_6)));}
4、实验现象
LED1灯按照1S的定时时间不断闪烁
5、实验总结
通过本次实验,可以实现对LED灯进行定时控制其闪烁,而不需要延时函数控制了,定时时间较为精准。实验六:TIM2,TIM3,TIM4多定时器的应用
1、实验要求
利用TIM2,TIM3,TIM4定时器使LED灯以不同的频率闪烁
2、电路原理图
3、软件分析
NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;NVIC_InitStructure.NVIC_IRQChannel = TIM3_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;NVIC_InitStructure.NVIC_IRQChannel = TIM4_IRQChannel;NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 2;此处比上一个实验增加了2个定时器,同时又增加了一个优先级
4、实验现象
中断优先级从高到低依次为:TIM2,TIM3,TIM4 首先LED1以1S的定时时间闪烁5次,之后LED2以2S的定时时间闪烁5次,最后LED3以3S的定时时间闪烁5次
5、实验总结
利用定时器可以同时使LED灯按照不同的频率闪烁,但是为了现象明显,可以加一个优 先级,分别观察现象。
实验七:串口USART1读取CPU的ID号
1、实验要求
通过USART1读取 CPU 的 96 bit ID
2、电路原理图
图 开发板USART原理图
3、软件分析
void Get_ChipID(void)/* 获取芯片ID */ { ChipUniqueID[0] = *(u32 *)(0X1FFFF7F0);/* 高字节 */ ChipUniqueID[1] = *(u32 *)(0X1FFFF7EC);
ChipUniqueID[2] = *(u32 *)(0X1FFFF7E8);/* 低字节 */ } void USART_Configuration(void){
USART_InitTypeDef USART_InitStructure;
USART_InitStructure.USART_BaudRate = 115200;
USART_InitStructure.USART_WordLength = USART_WordLength_8b;
USART_InitStructure.USART_StopBits = USART_StopBits_1;
USART_InitStructure.USART_Parity = USART_Parity_No;
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
USART_Init(USART1, &USART_InitStructure);
USART_ITConfig(USART1, USART_IT_TXE, ENABLE);
USART_ITConfig(USART1, USART_IT_RXNE, ENABLE);
USART_ClearFlag(USART1, USART_FLAG_TC);
USART_Cmd(USART1, ENABLE);
/* Enable USART1 */ }
4、实验现象
PA9连接的是USART1 Tx,PA10连接的是USART1 Rx,再通过串口调试助手就可 以在电脑上面显示出CPU的ID以及flash容量大小。
5、实验总结
本次实验实现了串口和PC机的传输,可以通过USART1将CPU的ID在电脑上显示出来。
实验八:异步通信USART2的重映射
1、实验要求
实现异步通信USART2的重映射,将数据传送到PC机上
2、电路原理图
图 开发板USART原理图
3、软件分析
void GPIO_Configuration()
/* IO口初始化 */ {
GPIO_InitTypeDef GPIO_InitStructure;
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
/* USART2 Tx--> PD05 */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;/* PD05--> JP7 WR */
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &GPIO_InitStructure);
GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
/* USART2 Rx--> PD06 */
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
GPIO_Init(GPIOD, &GPIO_InitStructure);GPIO_PinRemapConfig(GPIO_Remap_USART2, ENABLE);} 该程序将USART2重映射到PD05,PD06引脚
4、实验现象
PD05连接的是USART2 Tx,PD06连接的是USART2 Rx,通过串口调试助手就可以在电脑上面显示Program Running!
5、实验总结
通过本次实验,可以实现对异步通信USART2的重映射,再通过串口调试助手在电脑上显示出来。