“嵌入式系统设计”系列课程实践教学研究
摘要:本文针对“嵌入式系统设计”的教学实践,将“嵌入式系统设计”系列课程实践教学分为三个层面,对课程内容、实践教学方案和实践教学环节等进行探索,确保学生在掌握专业知识的同时,提高自主学习与自主创新的工程实践能力,真正做到学以致用。
关键词:嵌入式系统设计;实践教学;创新
嵌入式系统是相对于通用计算机系统提出的“嵌入式计算机系统”,它是将先进的计算机技术、半导体技术、电子技术与各个行业的具体应用相结合后的产物,是一个技术密集、高度分散、不断创新的知识集成系统,被广泛应用于通信设备、信息家电、工业控制和交通等方面。作为“嵌入式系统设计”的教学应是以应用为中心,结合实践与应用的一系列课程教学,它是本科生在四年学习中进行创新性实践的有力保证。“嵌入式系统设计”需要设计者具有较强的综合理论知识和动手能力,是对设计者综合能力与创新能力的考查。因此,在以“应用型”人才培养为目标的理工科院校的实践教学中应特别重视学生嵌入式系统设计能力的培养,加强实践教学环节,提高学生实践能力、职业技能与就业能力。在此结合地方高校通信工程专业的特点对学生“嵌入式系统设计”能力培养的相关课程内容、实践教学方案和实践教学环节等进行探索,探讨地方高校理工科学生创新型人才培养体系,培养出理论与实践相结合的创新性人才。
1嵌入式系统设计实践教学层面
嵌入式系统设计是复合型的新兴技术[1][2]。基于嵌入式系统设计的课程既与计算机、电子、通信、自动控制技术相关的专业课程有关,又与具体的应用背景有关。理工科各专业需结合专业特点和嵌入式系统在专业中的应用进行嵌入式系统设计的研究与教学,根据专业特色开设先进的、具有深入内容的嵌入式系统设计课程,使学生具备创新能力和解决实际问题的能力,所以在进行嵌入式系统设计人才培养时必须重点把握实践和创新这两个方面,注意科学对技术所起的基础支持作用,要从嵌入式系统设计动态发展出发,开设具有嵌入式系统设计体系的课程,开设有关含有信息论、系统理论及控制理论等基本内容交叉融合的课程,拓宽学生在专业学习中视野与思维的深度和广度,这样才能培养出学生的创新能力。根据嵌入式系统设计的实践可以按照图1所示三个层面进行相关课程的配置。
层面一是培养学生具备能够针对某个具体嵌入式系统软、硬件平台进行二次开发的能力。要求学生掌握应用系统的设计和开发技能,属于嵌入式系统教学的最低层。集中在微处理器(如MCS51系列、TMS320系列、ARM系列)的体系结构及其语言、外围接口的工作原理;嵌入式应用系统开发工具、开发语言、交叉编译环境和调试工具的使用。在此
方面以单片机芯片及其开发应用、DSP芯片及其开发应用和ARM微处理器及其开发应用展开教学,并在实践环节对学生动手制作自已所期望的单片机、DSP和ARM的应用系统进行作品展示,并将作品作为成绩考核的依据。
层面二是培养学生具备能够进行嵌入式系统平台设计与开发的能力。不仅要求学生掌握硬件系统的设计与开发技能,还应该掌握软件系统的设计与开发技能。促使学生掌握嵌入式系统体系结构后,掌握嵌入式操作系统的原理及其在特定硬件平台上的移植。使学生具备特定硬件平台下的嵌入式系统裁剪、移植,板载资源的初始化与驱动及外设驱动程序的设计和嵌入式数据库系统开发技能,注重嵌入式系统图形界面和网络通信的设计与开发。在层面一的基础上进行嵌入式操作系统及应用软件开发的教学,并在实践环节对学生动手制作自已所期望的具有图形界面操作、外设驱动和数据信息管理等功能的单片机、DSP和ARM应用系统进行作品展示,并将作品作为成绩考核的依据。
层面三是培养学生具备能够进行基于SOPC嵌入式系统IP内核设计和开发的能力。要求学生在掌握前两层面的基础上,让学生能够进行基于FPGA的SOC系统的设计与开发训练,并结合嵌入式系统的发展进行有关计算机体系结构等理论研究。促使学生结合EDA设计、嵌入式系统优化、计算机体系结构理论、微电子等学科知识,将微处理器等以IP内核的方式植入FPGA中,利用FPGA的可编程逻辑资源,按照系统功能需求来添加接口功能模块,既能实现目标系统功能,又能降低系统的成本和功耗。这样就使得FPGA灵活的硬件设计与处理器的强大软件功能有机地结合在一起,高效地实现SOPC嵌入式系统。实践环节以学生参加嵌入式系统设计竞赛、科研创新、发明制作等实践进行作品展示,并将作品作为创新学分修读的依据。
2嵌入式系统设计实践教学方案
(1) 学生实践能力设计
“嵌入式系统设计”系列课程的教学内容应包括嵌入式系统硬件与软件的设计,在以电路与系统集成、计算机信息系统集成及计算机辅助设计与仿真为工程设计基础教学的同时,加强学生在工程设计能力方面的培养,提高学生的电路设计和软件开发能力。因而,通信工程本科专业的实践教学可在基于现代电子技术进行信息的采集、传输、处理、检测、控制和现代通信网工程应用的同时,以信息与通信工程技术为主线,融电子科学与技术、计算机科学与技术、控制科学与工程技术于一体,构建通信与信息系统和信号与信息处理学科方向,使学生实践能力结构如图2所示。
(2) 实践教学方案
在教学中注重理论与实践课程相结合,加强实践与设计课程,设置完善的实践课程体系,强化学生的技能训练,开展工程设计。低年级课程要特别强调基础理论的学习,基本技能的训练;高年级逐步加强技术性,实用性课程,关注信息工业发展的需要。可结合本校学术研究、参与企事业科研及就业市场的方向,分设若干个课程组及专题设计,有利于学生专业化水平的提高,并缩小大学教育与企业要求之间的期望差距。其实践教学具体实施可参考图3进行。
第一学期培养学生认识、发现、探索实践的主动创新思维模式。如通过军事理论的学习,注重介绍通信技术在现代军事中的应用;通过工程制图的学习,以电子CAD为导引学习AutoCAD、Protel等绘图软件的应用;通过认识实习,下企业进行现代通信方式及通信器械的认识学习。
第二学期培养学生工程创新中结构设计及可视化界面编写能力。如在以国家级计算机等级考核展开教学的同时,注重学生计算机语言编程基础能力的培养,注重VB、VC、VF、Delphi、Java等编程的导向学习。
第三学期培养学生可视化界面及数据库管理信息系统的开发设计能力,进行有线与无线通信中电子测量仪器设备的使用。
第四学期培养学生基于单片机与EDA的嵌入式系统设计开发能力。在加强电子工艺实践的同时,以数字系统与逻辑设计教学为基础,加强硬件描述语言与电子技术系统级的融合,基本实现计算机软件到硬件的实践创新技能。
第五学期培养学生基于DSP的嵌入式系统设计开发能力,加强生产实践实习。在各专业课程学习的过程中,以计算机硬件与计算机软件设计来体现信息与通信工程学科下通信与信息系统和信号与信息处理学科方向共性的实践操作创新设计。
第六学期培养学生基于ARM的嵌入式系统设计开发能力。以通信与信息系统和信号与信息处理学科方向构建专业综合课程设计。
第七学期培养学生基于SOPC的嵌入式系统设计开发能力。在通信与信息系统学科方向以现代通信网络系统为导向,构建有线通信与无线通信的通信系统课程设计。在信号与信息处理学科方向以语音、图像等多媒体信号与信息为导向,构建语音与图像信号与信息工程应用的通信系统课程设计。
第八学期培养学生综合的嵌入式系统设计开发能力。通过专题进行企事业单位上岗实践,加强毕业设计的理论与实践相结合,为毕业后就能上岗打下基础。
在以上各环节中除了完成课程实践教学外,还要求学生在课外必须参与科技实践及各项竞赛活动或提供自已的创意作品以取得一定的创新学分。因此在“嵌入式系统设计”实践教学与创新型人才培养体系建设中,要综合考虑实验、实习、课程设计、毕业设计及课外科技实践活动等实践环节,统筹实践教学体系,使学生能从课内到课外,充分发挥课外科技活动提高自身工程素质。
3嵌入式系统设计实践教学支持
以嵌入式系统设计为指引,将理论与实践进行有效合理的整合,应用现代教育技术,结合工程实践进行分解,变成可供实际推广操作的学习任务,辅以必要的教育技术支持手段(开发教材、课件、培训计划、教学设计、实验设计、必要的评估手段)强调学生自主学习,在实际工程环境中掌握和内化工程的理念。
(1) 开放实验室
在以“学生是主体,教师是主导” 的基础上,为了使学生在高等教育中获取更多的实用知识和创新技能,开辟与课程配套的网上资源系统,鼓励学生遇到问题后上网查找资料,采用基于Web的开放实践教学管理系统[3]。对实验室教学信息进行综合分析,建立开放式实践教学平台和开放式实践教学管理体系,通过Web页完成学生开放实验的各个环节管理,提高教学质量和办学效益。使学生由实验申请到实验结束完全网络化管理,有利于实验设备的充分利用,也有利于学生思维能力、设计能力、知识综合运用能力和创新能力的培养。
实验室开放的对象为所有在校学生,主要以设计性、综合性及研究创新性的实验项目开放为主,培养学生综合运用所学基础理论和专业知识解决复杂问题的能力。在实验室内部的各实验分室可根据自身特点和教学实际需要,采取定时开放与网上预约开放两种不同的模式向学生开放。
所谓定时开放是根据教学安排,在指定时间内向学生全面开放。理论课教师和实践课教师根据实验室仪器设备情况,结合课程内容,确定教学计划以外的自选实践项目。学生可以根据自己的兴趣爱好对实践项目进行创新设计组合成综合型、设计型实践课题,在课外独立完成自己的课题方案设计并经指导教师审核通过,在实践过程中学生必须独立完成实践并撰写上传实验报告。
所谓网上预约开放是学生提前申请拟做实践项目和所需仪器设备及元器件,由实验室根据学生人数、实践内容和网上预约时间安排实践设备、器材和指导教师。学生根据实验室的仪器设备的条件自行拟定科技活动课题并提供方案,在网上预约相应的实验室与指导教师,开展创新发明、科技制作、论文撰写等实践活动。在实践过程中学生都必须进行独立的思考,查阅相关文献资料,综合多方面的知识和技能,在实践设备和操作环节上不受任何限制的情况下自行分析、设计和调试实践系统,最终得出实践结果并撰写上传实践报告或论文。
(2) 实践教学组织
联系专业提供工程设计课题,结合前面所讲的教学层面与科研、科技竞赛工作开展学生设计性实践项目,激发学生的创新热情,如将行走机器人的制作分解为语音识别、图像识别、高精密电机进给控制等实践项目。强化实践过程,选派具有实践经验的教师参与指导,有助于培养学生的创新能力,如通过提供的对比示例来启发学生,增强学生的自信心。在实验方法与实验措施上实现多元化,使学生在不断改进、反复锻炼中提高分析问题、解决问题的能力,在实践过程中真正做到举一反三。
学生须进行嵌入式系统的软硬件设计,为了使实践内容和教学内容联系得更紧密,可结合前面所讲的教学层面要求学生设计实践核心板与扩展板。核心板提供相对应微处理器的最小系统,包括了处理器、RAM、ROM、寄存器接口等;扩展板提供电源、LCD显示、串口、USB、以太网口等模块。
改革课程考核方式,加强学生动手能力的培养,单片机技术、DSP技术、EDA技术、嵌入式系统、可视化程序设计等技术课程的考核成绩全部采用实践环节,实验占总成绩的40%,课程设计(要求有硬件和软件制作)占总成绩的40%,创意制作占总成绩的20%。学生在完成实验基础上,完成选定题目的课程设计,实验与课程设计题目每年不断更新,学生可以根据自身掌握的程度选择不同难度的题目,分值依据题目难易程度而定。
这样将“嵌入式系统设计”系列课程实践教学融合到地方理工科院校的人才培养体系中。通过加强开放实验与科技制作及科技竞赛等创新学分的管理,改革相关课程考核方式,综合考虑知识、能力和素质三者的关系,统筹实践教学体系,提供丰富的工程设计课题,加强学生对“嵌入式系统设计”的工程训练,促进大学教育的创新性人才培养。
参 考 文 献
[1] 沈连丰,宋铁成,叶芝慧等. 嵌入式系统及其开发应用[M]. 北京:电子工业出版社,2005.
[2] 沈文斌. 嵌入式硬件系统设计与开发实例详解[M]. 北京:电子工业出版社,2005:8.
[3] 伍宗富,陈日新,王建君. 基于Web的开放实验教学管理系统[J]. 高校实验室工作研究,2007,(2):78-80.
作者:伍宗富 李 敏 李晓峰 杨如曙 陈日新 王建君 王南兰
摘 要:随着电子技术的发展,?嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一。本文通过对嵌入式技术的分析,?提出了嵌入式系统课程体系建设的基本方法,包括专业培养计划、嵌入式系统教学实践平台建设以及嵌入式系统教学模式与教学方法创新等。
关键词:嵌入式系统;实践性;创新能力
随着电子技术和信息技术的快速发展及嵌入式硬件技术与软件技术的不断成熟,嵌入式系统的应用越来越广泛,目前嵌入式技术被广泛应用于通信、交通、电子、医疗、军事等众多领域,已成为国内?IT产业发展的核心方向。小到智能卡、手机、水表,大到信息家电、汽车,甚至飞机、宇宙飞船,我们的生活已经被嵌入式软件所包围。我们深感嵌入式软件在整个软件产业发展中所处的举足轻重地位。因此,许多高校都开设了嵌入式系统开发方面的系列课程。于嵌入式系统课程涉及的知识面宽、实践性强,对实验教学的要求较高,包括实验教师、硬件配置、实验项目的设置等。因此,作为对新技术研究和探索最活跃的群体,高等院校如何接受嵌入式技术带来的挑战,尽快开设嵌入式系统的相关理论与实验课程,并逐渐形成较规范的教学体系已成为一个重要的研究课题。
一.嵌入式系统教学的特点
设置嵌入式系统课程的目的是让未来的软硬件开发人员了解和掌握必要的嵌入式系统设计方法的概念、方法和工具。同时由于嵌入式系统对其他学科领域的渗透,其他相关专业的学生也有学习该课程的需求与必要。如其他电子、自动化专业都可开设相应的选修课程,在某种程度上可以提升毕业学生的就业率。嵌入式系统课程的教学内容应包括嵌入式系统体系结构、硬件构架、软件编程及外围设备接口和驱动等,注重培养学生的设计能力和软件开发能力。
嵌入式系统课程的特点是涉及知识面广、综合性强、实践性强,并且学科发展快,因而学习难度大,难以形成一个简单明确的知识体系。同时该课程讲授难度很大,它要求教师不仅具备一般的计算机系统的软硬件知识,而且需要真正从事过嵌入式系统的开发实践,才能对嵌入式系统中的实时性等抽象概念和系統调试过程有感性认识。嵌入式系统教学主要有以下三个特点:(1)基础性。嵌入式系统技术涉及多个专业,如计算机工程、软件工程、工业自动控制、机电工程、精密仪器和电子工程等,嵌入式技术与各个专业相互渗透融合,将逐渐形成新的学科研究方向,因此,嵌入式系统可作为上述各专业的基础平台课,以强化专业基础知识。(2)综合性。嵌入式系统是软件和硬件设计的完美结合。它涉及电子信息、计算机、自动控制等诸多专业相关课程的内容,如语言、微机原理、单片机设计和操作系统等课程,有很强的综合性。因此,可以有效地对学生进行综合能力的培养。(3)实践性。嵌入式系统是理论与实践结合密切的课程。实验是嵌入式系统课程的重要组成部分,缺乏实验的嵌入式系统课程学习是纸上谈兵,因此,学生必须通过大量的实验和实践环节,来加深对嵌入式系统理论知识的理解。
二、适合计算机专业的嵌入式系统课程体系
嵌入式系统涉及电子、计算机、自动控制等诸多专业知识,专业性强,包括了操作系统、微机原理、编程语言程序设计、计算机网络和接口设计等内容,是软件、硬件的完美结合。因此,嵌入式系统的设计原理与技术不是一门课程所能讲授的,需要建立一个课程体系。由于嵌入式系统涉及的知识面广、应用层面广,所以应针对嵌入式系统设计与应用的不同层面的需求,设置不同层面的课程体系。从狭义上划分,嵌入式系统课程体系可以有以下三个不同的层面:
第一层面:针对将来只是应用嵌入式系统硬件、软件平台来进行二次开发的学生而言,应侧重培养其基于某个嵌入式系统平台上(包括硬件平台和软件平台)进行应用系统设计和开发的能力。
第二层面:针对将来从事嵌入式系统平台设计及合作开发的学生而言,还必须开设《嵌入式系统结构》课程。该课程重点介绍某个具有代表性的嵌入式CPU(如ARM系列)的系统结构、汇编指令系统、中断管理机制、常用外围接口,使学生掌握嵌入式平台设计的基础知识。
第三层面:针对将来从事SOC(systemonChip)系统设计及开发的学生而言。主要课程有数字逻辑设计与应用、电子电路原理与PCB技术、EDA技术(FPGA设计及应用)、嵌入式系统结构、嵌入式操作系统等,偏重于底层的设计。
通过以上分析可以看出,第一层至第三层分别是嵌入式系统中由软到硬、由高层至底层的三个不同应用层次,对应不同的知识结构需求。第一层偏软,对底层的系统结构及接口等要求较低,是在当前比较容易实现的一个培养方向。在计算机本科专业中,软件方向比较适合开展第一个层面的嵌入式系统教学,应用方向比较适合开展第二个层面的嵌入式系统的教学。
三、嵌入式系统课程体系的实践
实验是嵌入式系统教学的一个比较重要的环节,实验大纲的制定是保证课程教学大纲目标实现的一个重要环节,制定出符合学生实际的实验大纲对计算机科学与技术专业培养目标的实现至关重要。按难易程度的不同,实验内容分为两个层次:基本实验与综合应用实验。基本实验目的是让学生了解嵌入式软件和硬件的一般开发环境与流程,进行基本的嵌入式程序开发。综合应用实验目的是让学生综合运用前面所学到的知识,按照指定的题目,自行设计开发嵌入式应用程序。基本实验包括嵌入式软件开发基础实验、人机接口实验、通信与音频接口实验、简单驱动程序实验和嵌入式操作系统移植实验等。对于综合应用实验,给出多个题目,选择其一,学生也可以自选题目。
课程设计及毕业设计中对所学知识的运用与提高在理论学习结束后,学生对嵌入式系统开发的各个环节有了较深入的理解与掌握。课程设计中,可以结合实验用开发平台,选择了如MP3模拟控制系统等在实际中真正是嵌入式大行其道的应用领域。在毕业设计中,可以布置诸如“嵌入式智能控制器”,“嵌入式音频控制器”设计等工作,这些设计要求学生从软硬件协同设计到软硬件的测试方法等有深刻的掌握,同时组织学生参加大学生嵌入式设计竞赛等教学活动。
参考文献:
[1]田泽.嵌入式系统开发与应用教程[M].北京:北京航空航天大学出版社,2005.
[2]柳翔.嵌入式软件工程人才培养的探索与实践[J].计算机教育,2005,5.
作者简介:
李月辉(1983年1月),性别:男 ,学历:研究生 ,单位职称:讲师 ,研究方向:软件工程.
作者:李月辉
【摘 要】嵌入式的应用已深入到国民经济的各个方面,在工业控制、家用电器、智能仪器仪表、消费类电子产品等领域,已不断展现出其独特魅力。社会对于嵌入式人才的需求量越来越大,一些高校也陆续开设了《嵌入式系统》的课程,针对该课程教学过程中所出现的问题,笔者提出自己的观点,以期可以提高嵌入式系统教学的效率,使希望从事嵌入式开发的学生能够进入到这个领域,成为嵌入式方面的人才。
【关键词】嵌入式系统;嵌入式技术;ARM微处理器;开发板;软件
一、目前嵌入式系统教学概况
嵌入式系统概念的提出已经有相当长的时间,其历史几乎和计算机的历史一样长。但在以前,它主要用于军事和工业控制领域,所以很少被人们关注和了解。随着数字技术、大规模及超大规模集成电路的发展和功能更强的操作系统的出现,它才被广泛应用于航天、航空、工业控制、智能手机、消费类电子产品、信息家电、安防监控、医疗仪器、汽车电子等领域。目前,嵌入式系统产品正不断渗透各个行业,并以其应用领域广、人才需求大等优势,获得更大的关注,特别是将来3G和物联网的普及与推广,应用前景非常好。基于此,我国一些高校的信息类专业相继开设了有关《嵌入式系统》的课程,但大多数是以选修课的形式开设的,课时量少,学校、教师和学生也没有对该课程的教学和学习给于足够的重视,导致教学效果不理想。尽管社会对嵌入式人才需求大,但因为我们的不重视,使得学生在激烈的就业竞争中失去了很多机会。
二、嵌入式系统教学现状分析及对策
《嵌入式系统》课程一般作为选修课开设且一般在大四开设,学生接触嵌入式技术时间较晚,对其没有基本的认识,在有限的课时内也只能对其有一个大致的了解,相比大三、大四学生们学习JAVA、C++的热情,嵌入式的学习气氛就显得很冷清。加之嵌入式系统课程要求的知识面广,涉及基础课程多(与电子类专业相关的基础课程有数字电子技术、电子设计自动化(EDA)、单片机原理、可编程逻辑器件、DSP原理及应用等,与计算机类专业相关的课程有C语言程序设计、计算机组成原理、计算机系统结构、微机原理、数据结构、操作系统等,如果要进行嵌入式应用软件开发的还应掌握计算机网络、网络编程、数据库原理及软件工程等课程),所以,学生学习嵌入式系统课程就存在一定的难度,学习热情也不高。对此,我们应该给与足够的重视,积极帮助学生能在嵌入式领域占有自己一席之地。首先,在对学生进行入学教育专业介绍时,要强调嵌入式方面的就业前景,目前国内外这方面的人都很稀缺,与应用软件开发的行业不同,嵌入式领域人才的工作强度通常低一些,但收入却高一些,利用这样的好的就业前景刺激同学们好好学习。再者,要强调嵌入式系统课程涉及的先行课程多,一定要打好基础;还有,学生在学校学习期间,老师们可以多开展期嵌入式技术的讲座及嵌入式产品的展示,比如无线点餐系统、车载GPS定位、智能家居等;最后,在学生大一、大二学习期间,各科任课教师要督促学生扎扎实实的学好每一门课程,以便为后续课程打好基础。在竞争如意激烈的今天,学生们也该从进入大学就逐步规划自己的职业生涯。
三、《嵌入式系统》课程教学的内容、教学方法的改进
嵌入式系统融合了电子、计算机、微电子等多种学科和技术。对于什么是嵌入式系统,还没有一个明确的定义。嵌入式系统一般定义为以应用为中心,以计算机技术为基础,软硬件可裁减,应用系统对功能、可靠性、成本、体积、功耗和应用环境有特殊要求的专用计算机系统。
1.《嵌入式系统》课程教学的内容
《嵌入式系统》的教学通常以32位微处理器为平台,32位的微处理器主要有ARM、MIPS、POWER PC,目前国内的大多数高校都是以介绍ARM微处理器为主,教学的内容主要包括ARM微处理器内核的介绍、ARM的汇编指令和汇编程序设计、嵌入式系统的C语言设计和嵌入式操作系统、嵌入式Linux开发环境及其在ARM上的移植、设备驱动程序和用户图形界面GUI等内容。在试验内容的安排上,通常包括ARM汇编语言的程序设计、BootLoader的移植、嵌入式操作系统内核的移植、UCOS II、LINUX、WINCE等嵌入式操作系统下的C语言驱动程序设计和应用程序设计等。
2.教学方法的改进
对于嵌入式课程的学习,很多同学都认为很难,除了前面提及到的它涉及的基础学科较多以外,一个很重要的原因是以传统的教学模式讲述的内容学生完全不理解,比如宿主机、目标板、交叉开发环境、GCC交叉编译器arm-Linux-gcc、引导装载程序BOOTLOADER、Linux内核裁减等。这就需要教师在上课时将嵌入式Linux开发流程给学生作演示,包括建立开发环境,下载相应的GCC交叉编译器进行安装(例如arm-Linux-gcc、arm-μclibc-gcc),或者安装产品厂家提供的交叉编译器;配置开发主机;建立引导装载程序BOOTLOADER;下载针对所使用的CPU的Linux操作系统内核、再添加自己的特定硬件的驱动程序;建立根文件系統;开发应用程序;烧写内核、根文件系统、应用程序;发布产品。学校还可聘请企业讲师讲述部分课程以使学生们可以了解到嵌入式的最新的技术。关于嵌入式系统的实验部分,需要有相应的开发板,有的学校实验条件还不成熟或实验设备不足,那么可以在主机上安装模拟器来模拟开发板,使学生了解将嵌入式的开发流程即可。
四、教学保障
前面已提及,嵌入式的教学过程及实验环节都离不开计算机及开发板,这就需要学校投入一定的资金来改善教学和实验条件。因为嵌入式这方面的人才较少,高校教师中也有很多人从未接触过嵌入式相关技术,所以,对于高校要积极寻求与嵌入式相关的企业的合作,以进行师资的培训,从企业吸收最新的嵌入式的技术和成果用于教学过程中。
五、就业及培训
嵌入式系统是一个软件与硬件紧密结合的学科,从事嵌入式开发的人员主要有两类。一类是电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系密切的最底层软件,如BootLoader、Board Support Package,最初级的硬件驱动程序等。另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作,越是智能设备越是复杂系统,软件越起关键作用,而且这是目前的趋势。
从事嵌入式开发的好处是:(1)目前国内外这方面的人都很稀缺。一方面,是因为这一领域入门门槛较高;另一方面,是因为这一领域较新,目前发展太快,掌握这些新技术的人当然很难找。嵌入式人才稀缺,身价自然就高,越有经验价格就越高。其实嵌入式人才稀少根本原因可能是大多数人无条件接触,这需要相应的嵌入式开发板和软件,另外需要有经验的人进行指导开发流程。(2)与应用软件开发领域不同,嵌入式领域人才的工作强度通常低一些,但收入却高于普通的应用软件开发人员。搞嵌入式系统的公司,所开发的产品通常是通用的,不会因客户的不同而修改。另外,从事嵌入式软件的每个人工作范围相对狭窄,所涉及的专业技术范围基本上固定,时间越长越有经验。
如果以后想从事嵌入式技术方面的工作,那就需要进行这方面的培训,因为教学计划中的很少的课时量只是让学生们对嵌入式系统有一个大致的认识,而自学的话又不知道该从哪里下手。现在很多培训机构都有脱产的嵌入式就业班,大概学习四五个月的时间就可推荐就业,对于想从事嵌入式开发的学生来说,无疑是一个比较好的途径。
六、总结
嵌入式是一个有很大发展潜力的学科,各个高校也相继开设了嵌入式系统的课程,笔者仅从自己多年的嵌入式教学的角度上提出自己的一些看法,希望能够抛砖引玉,听到同行们更精彩的见解。
参考文献:
[1]刘艺,许大琴,万福编著.嵌入式系统设计大学教程[M].人民邮电出版社,2008(11).
作者简介:相岁女(1981—),女,大学本科,讲师,现供职于西安外事学院工学院。
作者:相岁女
《嵌入式系统概论》综合设计报告书
设计题目:用键盘控制LED显示不同图形
中央民族大学 二零零八年十月三十一日
一、 设计目的
了解LED点阵和矩阵键盘的工作原理。
二、 设计内容
编写程序控制用矩阵键盘控制LED点亮,产生不同的图形。
三、 设计方案
功能概述:
本设计要实现的功能是通过键盘控制LED点阵图形显示,如果键盘输入0-9十个数字时显示相应的数字,如果输入其他的键,则显示“+”号。
1、程序设计思路
本设计要实现键盘控制LED点阵图形显示,就必须要编写键盘和LED点阵的程序。先通过扫描矩阵键盘,得到键盘值,然后再调用点阵显示子函数,根据扫描的键盘值,在LED点阵上显示不同的图形。
2、主程序设计
主程序要实现的功能是矩阵键盘扫描,得到键盘值,然后把值传给LED显示函数。
程序流程图如下:
3、LED点阵显示函数设计
本函数要实现的功能是根据键盘的值,在LED点阵上显示不同的图形。 如果键盘的输入值为0-9则显示相应的数字,如果输入的是其他值,则显示“+”。本程序采用二维数组存放要显示的图形的字模,然后再通过逐行扫描LED点阵,把要显示的图形分8次显示,一次显示一行,利用人眼的视觉暂留效应,是人看到的是一个图形一次显示出来,通过一个循环控制图形显示的时间。 程序流程图如下:
4、点阵图形设计
根据8*8 LED点阵的原理,8X8 点阵共需要64 个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1 电平,某一行置0 电平,则相应的二极管就亮;
先绘制出要显示的图形如下:
根据图形中点亮的LED灯的位置,得到相应图形的16进制数,存放在二维数组Buf1[11][8]中。
所以要显示的图形的字模如下:
buf1[11][8]={ {0x3c,0x24,0x24,0x24,0x24,0x24,0x3c,0x00},
//0
{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},
//1
{0x3c,0x20,0x20,0x3c,0x04,0x04,0x3c,0x00},
//2
{0x3c,0x20,0x20,0x3c,0x20,0x20,0x3c,0x00},
//3
{0x24,0x24,0x24,0x3c,0x20,0x20,0x20,0x00},
//4
{0x3c,0x04,0x04,0x3c,0x20,0x20,0x3c,0x00},
//5
{0x3c,0x04,0x04,0x3c,0x24,0x24,0x3c,0x00},
//6
{0x3c,0x20,0x20,0x20,0x20,0x20,0x20,0x00},
//7
{0x3c,0x24,0x24,0x3c,0x24,0x24,0x3c,0x00},
//8
{0x3c,0x24,0x24,0x3c,0x20,0x20,0x3c,0x00},
//9
{0x08,0x08,0x08,0x3e,0x08,0x08,0x08,0x00}
//+
};
四、 程序源代码
//*************************************************************** #include #include #include #include // open() close() #include // read() write() #include
#define DEVICE_NAME "/dev/led_ary_ctl" #define DEVICE_NAME1 "/dev/keypad"
void Key(unsigned char b[]);
//------ main ---- int main(void) {
int fd;
int ret;
unsigned char buf[2] ;
double x;
char pre_scancode = 0xff;
printf(" start keypad_driver test ");
fd = open(DEVICE_NAME1, O_RDWR);
printf("fd = %d ",fd);
if (fd == -1) {
printf("open device %s error ",DEVICE_NAME1); }
else {
buf[0]=0x22;
while (1)
{
read (fd,buf,1);
if(buf[0]!= pre_scancode)
{
if(buf[0]!=0xff)
{
printf("key =%x ",buf[0]);
Key(buf);
}
}
pre_scancode = buf[0];
usleep(50000);
}
// close
ret = close(fd);
printf ("ret=%d ",ret);
printf ("close keypad_driver test "); }
return 0; }// end main //***************************************************************************** //--------------- void Key(unsigned char b[]) { int fd;
int ret;
int i,j,k;
unsigned char buf[2] ;
unsigned char buf2[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f}; unsigned char buf1[11][8]={{0x3c,0x24,0x24,0x24,0x24,0x24,0x3c,0x00},
//0
{0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08},
//1
{0x3c,0x20,0x20,0x3c,0x04,0x04,0x3c,0x00},
//2
{0x3c,0x20,0x20,0x3c,0x20,0x20,0x3c,0x00},
//3
{0x24,0x24,0x24,0x3c,0x20,0x20,0x20,0x00},
//4
{0x3c,0x04,0x04,0x3c,0x20,0x20,0x3c,0x00},
//5
{0x3c,0x04,0x04,0x3c,0x24,0x24,0x3c,0x00},
//6
{0x3c,0x20,0x20,0x20,0x20,0x20,0x20,0x00},
//7
{0x3c,0x24,0x24,0x3c,0x24,0x24,0x3c,0x00},
//8
{0x3c,0x24,0x24,0x3c,0x20,0x20,0x3c,0x00},
//9
{0x08,0x08,0x08,0x3e,0x08,0x08,0x08,0x00}
//+
};
// begin of led ary
buf[0]= 1;
buf[1]= 0;
if(b[0]<=9) i=b[0]; else
i=10;
fd = open(DEVICE_NAME, O_RDWR);
printf("fd = %d ",fd);
if (fd == -1)
printf("open device %s error ",DEVICE_NAME);
else {
for(j=0;j<=5;j++)
{
for(k=0;k<8;k++)
{
buf[0]=buf1[i][k];buf[1]=buf2[k];
write(fd,buf,2);
}
usleep(1);
}
// close
ret = close(fd);
printf ("ret=%d ",ret);
printf ("close led_driver test "); } } //-
五、 设计结果
实现键盘控制LED点阵显示,输入0-9十个数字时显示相应的数字,如果输入其他的键,则显示“+”号。
六、 心得体会
通过本次实验,我们对linux下的实验更加熟悉了,对LED点阵显示和矩阵键盘的原理有了深入的了解,掌握了点阵图形的设计方法和键盘的输入的读取,并把二者结合起来,实现了键盘控制点阵图形现实。
在实验过程中,我们也出现了问题,最开始时,由于不清楚点阵的C,R的高低位的对应情况,经过试验,才确定。然后就是点阵的显示是一闪即过的,然后我们通过循环控制了点阵的显示时间。总之,通过这次设计,我们都学到了很多东西。
《嵌入式系统》
课程设计题目及要求
2013年12月24日
设计报告要求:
1. 课题研究意义、现状及应用分析; 2. 课题总体方案设计及功能模块介绍; 3. 系统硬件平台及接口设计;
4. 系统软件功能设计,程序流程图及代码实现,包括必要的注释; 5. 实验测试、结果分析; 6. 总结、心得体会; 7. 附主要的参考文献。
课程设计题目:(以下题目仅供参考,可自拟题目)
基于ARM的LED点阵显示系统的设计与实现
要求:在ARM开发平台下,实现接收串口发送的数据,在16*16的点阵屏上显示,按键上设置几个固定显示内容,当按下相应的按键时,点阵屏上显示相应的内容。
基于ARM的环境监测系统的设计与实现
要求:在ARM开发平台下,实现采集环境的温度、湿度、烟雾等参数的设
1 定,在液晶屏上显示出来。
基于ARM的步进电机控制系统的设计与实现
要求:在ARM开发平台下,实现步进电机的驱动,可通过实验平台上的电位器调整电机的转速,或者用按键控制电机的运转。 ARM实验平台的Android移植
要求:将开源的Android平台移植到ARM实验平台下。
基于ARM的CAN总线通讯系统设计与实现
要求:在嵌入式ARM平台CAN通信程序,实现两个ARM平台或ARM与其它设备的CAN通信。可将CAN总线接收到的数据通过串口输出,同时可将串口接收到的数据通过CAN总线接口发送出去。
基于ARM的RS485通讯系统设计与实现
要求:在嵌入式ARM平台及Linux环境下编程RS485通信程序,实现两个ARM平台或ARM与PC机之间RS485通信。
基于ARM的嵌入式Web服务器设计与实现
要求:在嵌入式ARM平台及Linux环境下移植一个嵌入式Web服务器(如BOA或THTTPD),并实现基于ARM平台的Web动态网页监测系统。
基于ARM的嵌入式数据采集系统设计与实现
2 要求:在嵌入式ARM平台下编写ADC接口的模入/模出程序,实现基于ARM平台的嵌入式3路模拟信号的数据采集,并将采集到的数据通过串口或液晶输出结果。
基于ARM的无线数据终端设计
要求:用ARM处理器作为主控器,与GPRS模块进行通信,能够实现收发短信、拨打接听电话、连接数据服务器等功能。 基于ARM的无线数据采集系统设计
要求:用ARM处理器作为主控器,与GPRS模块进行通信,通过发送短信到平台上获取平台采集到的数字量信息(温度、湿度、电压等信息)。 基于嵌入式系统的无线传感器网络的应用研究
要求:(无线传感器网络是集成了传感器、嵌入式系统、网络和无线通信四大技术而形成的一种全新的信息获取和处理技术,它是一种新型的无基础设施的无线网络,能够实时监测、感知和采集各种环境或监测对象的信息,并对其进行处理、传送到需要这些信息的用户) 基于UcosII在ARM平台上的移植 要求:将UcosII移植到ARM9或者ARM11平台上
MPlayer播放器在ARM9(或ARM11)平台上的移植与实现
基于ARM的建议GUI的设计
要求:设计一个简易的GUI界面,在ARM平台下运行,并实现简单的交互。
3 要求:将MPlayer播放器移植到ARM平台上,并且能够运行 基于ARM的TCP网络通讯系统设计与实现
要求:在嵌入式ARM平台及Linux环境下编写以太网接口的TCP通讯程序,实现两个ARM平台或ARM与PC机之间的TCP协议通讯系统。
基于ARM的UDP网络通讯系统设计与实现
要求:在嵌入式ARM平台及Linux环境下编写以太网接口的UDP通讯程序,实现两个ARM平台或ARM与PC机之间的UDP协议通讯系统。
基于ARM和MiniGUI的嵌入式图形用户界面设计与实现
要求:在嵌入式ARM平台及Linux环境下,采用MiniGUI图形界面编程方法,实现基于ARM平台和MiniGUI图形界面的嵌入式测控操作平台。
基于ARM和QT的嵌入式图形用户界面设计与实现
要求:在嵌入式ARM平台及Linux环境下,采用QT图形界面编程方法,实现基于ARM平台和QT图形界面的嵌入式测控操作平台。
基于ARM和Linux的步进电机控制系统设计与实现
要求:在嵌入式ARM平台及Linux环境下,编程实现基于ARM平台的步进电机控制系统方案。
基于ARM和Linux的直流电机控制系统设计与实现
要求:在嵌入式ARM平台及Linux环境下,编程实现基于ARM平台的直流
4 电机控制系统方案。
基于ARM和Linux的CAN总线通讯系统设计与实现
要求:在嵌入式ARM平台及Linux环境下编写CAN总线通信程序,实现两个ARM平台或ARM与PC机之间CAN总线通信。
基于ARM和Linux的CAN总线远程监控系统研究与设计
要求:在嵌入式ARM平台及Linux环境下编写CAN总线通信程序,并设计和实现一个基于ARM平台CAN总线远程监控系统。
基于ARM的视频监控系统设计与实现
要求:在嵌入式ARM平台及Linux环境下,采用USB接口的摄像头模块,设计和实现基于ARM平台视频监控系统。
基于ARM的Modbus/TCP主站协议程序设计与实现
要求:在嵌入式ARM平台及Linux环境下,基于ARM平台的RJ-45以太网接口,设计和实现基于ARM平台Modbus/TCP主站协议程序,该Modbus/TCP主站协议可与基于ARM平台或PC机的Modbus/TCP从站协议实现通讯。
基于ARM的Modbus/TCP从站协议程序设计与实现
要求:在嵌入式ARM平台及Linux环境下,基于ARM平台的RJ-45以太网接口,设计和实现基于ARM平台Modbus/TCP从站协议程序,该Modbus/TCP
5 从站协议可与基于ARM平台或PC机的Modbus/TCP主站协议实现通讯。
基于ARM和Linux的嵌入式测控系统研究与设计
要求:在嵌入式ARM平台及Linux环境下,可在ARM平台的AD/DA、串口、以太网接口、CAN总线接口等基础上,采用QT或MiniGUI图形用户编程方法,设计和实现基于ARM平台和Linux的嵌入式综合测控系统。
Mplay在Linux平台下的移植与实现
要求:将Mplayer移植到嵌入式实验平台下,可实现视频和音频文件的播放。
基于S3C2410/S3C2440的嵌入式Web服务器Boa移植
要求:将实验箱或开发板连接到网络中,可以通过计算机访问到开发板上的静态网页。
《嵌入式系统设计》课程设计大纲
【课程编号】:11278131
【适用专业】:电子、电信
【学 分 数】:1
【总 学 时】:30
一、课程设计的目的
1、 通过“嵌入式系统”课程设计,学习、体会、熟悉嵌入式系统相关的项目研究开发的完整过程:课题的提出与论证、调研、文献阅读、方案比较与选择、嵌入式系统程序编写与调试,报告撰写、课题答辩。
2、 掌握综合运用所学知识分析、解决实际问题的一般方法。
3、 培养学生综合分析问题、解决问题和独立工作的能力。
4、通过课程设计及答辩全过程的训练,加强老师与学生之间学生与学生之间知识的相互交流,互相渗透,培养勤奋求实的良好学风。
二、课程设计要求
1、要求同学们以满腔的热情、科学的态度,严谨的作风、高度的责任感从事课程设计工作;不得敷衍了事、马马虎虎、得过且过;提倡周密思考、大胆创新,反对生搬硬套、墨守陈规;提倡共同研究,反对相互抄袭。
2、要求遵守作息时间,遵守学校的各项规章制度,确保设计顺利、高质量地完成。
三、课程设计安排
学生每人选择一个题目,每个题目为1个学分。
1. 题目1:基于嵌入式系统下的室内温度/湿度调节系统设计
2. 题目2:嵌入式智能家居系统:图像采集与存储
3. 题目3:嵌入式系统下的MP3制作
4. 题目4:嵌入式系统GPS定位系统
5. 题目5:嵌入式GPRS短信收发
6. 题目6:嵌入式IC卡读写系统设计
7. 题目7:蓝牙无线通信系统设计
8. 题目8:红外通信系统设计
9. 题目9:基于CAN总线的现场总线网络设计
10. Web远程监控系统1: -web嵌入式服务器设计
11. Web远程监控系统2: -远程控制接口
四、选题原则:学生根据自己的实际情况在给定题目中选一个题目(1学分)进行设计,或者自行选择感兴趣的课题。若题目相同,内容不可雷同。
五、成绩评定:
指导教师依课程设计说明书撰写情况及整个课程设计中学生的表现,综合给出成绩。
六、相关参考资料
教材:
Rick Grehan等.32位嵌入系统编程,中国电力出版社,2001.
参考书:
桑楠.嵌入式系统原理及应用开发技术,北航出版社,2002.
课程名称:嵌入式系统A课程(Embedded Systems) 课程编号:1310778236 设计时数:1周 学
分:1 开课单位:信息电子技术学院通信工程教研室 适用专业:通信工程 适用对象:本科
一、课程的性质、类型、目的和任务
作为电子信息工程、通信工程专业本科生的必修实践环节,嵌入式系统课程设计要求学生有扎实的理论基础并具备一定动手能力。进入课程设计前要认真复习微处理器类课程中的相关知识和汇编语言、C语言的编程方法。课程设计采用课堂讲述、自学、分组实践相结合的方式,通过分析典型的例子,使学生熟悉并掌握嵌入式系统的开发流程和基本的编程方法。课程设计要求2—3人组成课设小组,在指定范围内选定题目,每组选一题,题目应侧重一个嵌入式系统的具体应用方面。题目选定后,在教师的指导下,学生理解设计原理,分析重要电路单元,计算必要的参数并在此基础上编写程序,最后,在课程设计结束时独立写出理论分析完善、文理通顺、字迹工整的课程设计报告并上交软件程序。教师可根据作品的难易程度、参数指标、编程水平等进行评分。
二、本课程与其它课程的联系与分工
学习该课程之前,学生应学习过《C语言程序设计》、《数字电子技术》,《单片机原理与应用》基础知识。嵌入式系统是它们的总结和提高。
三、课程内容及教学基本要求
[1]表示“了解”;[2]表示“理解”或“熟悉”;[3]表示“掌握”;
学生可从下列题目中任选一个作为嵌入式课程设计题目,也可以根据个人兴趣及实验室现有条件,自己确定题目经教师审核后作为课程设计题目。
(一)单片机控制数码管显示系统的设计
AVR单片机的工作原理[1],嵌入式系统实际开发过程[2],单片机控制数码管的方法[3],师编写程序[3],实现单片机控制数码管显示系统的设计[3]。
(二)矩阵式按键控制LED显示系统
AVR单片机的工作原理[1],嵌入式系统实际开发过程[2],矩阵式按键输入控制信号[3]、通过单片机控制LED显示的过程[3]。单片机定时/计数器的工作原理及使用[3],汇编程序的下载及固化的过程[3] ,
(三)汉字显示系统设计
了解AVR单片机的工作原理[1] ,液晶驱动芯片的工作原理[1],嵌入式系统实际开发过程[2],单片机控制液晶显示模块的方法[3],编写程序,单片机控制汉字显示系统的设计[3]。
(四)交通灯控制
AVR单片机的工作原理,嵌入式系统实际开发过程[2],ARM7核的LPC2106的管脚功能和特点[1], I/O控制寄存器的设置方法[3];ARM7应用系统编程开发方法[3],能用C语言编写应用程
序[3]; ADS1.2软件的使用以及PROTEUS仿真调试的方法[3];
(五) 交通灯设计
ARM芯片[1]; ARM芯片各个引脚的功能[2],工作方式[2],计数/定时[2],I/O口[2],中断[2];利用ARM芯片模拟实现交通灯控制[3]。,工作方式,计数/定时,I/O口,中断等相关原理,通过软硬件设计实现利用ARM芯片完成交通灯的模拟控制[3]
(六)温度采集系统
ARM芯片各个引脚功能[1],工作方式[1],计数/定时[1],I/O口[1],中断[1]。通过软硬件设计实现利用ARM芯片对周围环境温度信号的采集及显示[3] 其他课题见附录:
四、考核方式及要求
1.考核方式:考查;
2.考核方法:平时考勤+设计报告+ 设计答辩; 3.成绩评定:
平时成绩:应根据学习纪律、出勤、等方面综合评定,占10%;
设计报告:根据学生设计报告各部分的完整性和优劣情况评定,占70%; 设计答辩:应根据答辩结果评定,占20%. 按优、良、中、及格、不及格五级分制记分。 设计报告内容:
1.封面;2. 摘要;3. 目录;4. 总体方案设计分析 ;5. 软件框图及程序设计(汇编语言源程序必须加注释说明);6. 硬件原理图设计(最好使用电子设计CAD软件绘制);7. 设计总结和心得体会。
五、实验教材(指导书)及参考书(资料)
1.王田苗,《嵌入式系统设计与实例开发》,清华大学出版社 2.马忠梅,《ARM嵌入式微处理器体系结构》,北航出版社 3.陈章龙,《嵌入式技术与系统-Intel XScale 结构与开发》,北航出版社
嵌入式系统设计 (Design of Embedded Systems )
一、课程教学目的和基本要求
教学目的:
嵌入式系统技术已被广泛地应用于工业控制系统、信息家电、通信设备、医疗仪器、智能仪器仪表等众多领域。如手机、PDA、MP
3、手持设备、智能电话、机顶盒等,可以说嵌入式系统无处不在。本课程讲述当前主流的嵌入式处理器—ARM的微处理器和实时操作系统µC/OS,介绍嵌入式系统的基本原理和应用及设计方法。通过本课程的学习,着重培养学生的实际动手能力,使学生掌握ARM的系统结构、指令系统、程序设计方法、系统扩展方法、应用及开发技术等。使学生在工作中具有利用嵌入式系统开发产品和解决实际问题的基本能力。
基本要求:
1、掌握嵌入式系统技术的基本原理。
2、了解并掌握ARM的系统结构、指令系统、程序设计方法、系统扩展方法、应用及开发技术等。
3、比较熟练地用ADS进行ARM实验箱的编程及调试。
4、了解并掌握实时操作系统µC/OS,并学会用µC/OS开发小型应用系统。
二、先修课程及本课程总学时
先修课程:C程序设计语言、单片机原理 本课程总学时:36
三、课程章节及各章节学时安排
第一章 嵌入式系统概述(2学时)
第二章 嵌入式系统硬件基础(2学时)
第三章 设计方法及ADS集成开发环境(4学时)
第一节 嵌入式系统的设计方法(2学时) 第二节 ADS集成开发环境(2学时) 第四章 ARM7体系结构(4学时)
第一节ARM7体系结构介绍(2学时) 第二节ARM7TDMI(-S)指令集简介。(2学时) 第五章 ARM指令集(8学时)
第一节 ARM处理器寻址方式。(2学时) 第二节ARM指令集。(2学时) 第三节ARM汇编程序设计。(2学时) 第四节C与汇编混合编程。(2学时) 第六章 硬件结构与功能(12学时) 第一节 LPC2106/2105/2104结构(2学时) 第二节 GPIO及引脚连接模块。(2学时)
第三节 UART0和UART
1、I2C接口、SPI接口。(2学时) 第四节 定时器0和定时器1。(2学时) 第五节 脉宽调制器(PWM)。(2学时)
第六节 看门狗及Flash存储器系统和编程。(2学时) 第七章 µC/0S-II程序设计(4学时)
第一节 µC/0S-II简介及移植(2学时) 第二节 移植µC/0S-II。(2学时)
四、课程主要内容
第一章 嵌入式系统概述(2学时)
1、嵌入式系统简介(包括什么是嵌入式系统,嵌入式系统的特点,嵌入式系统的分类)。
2、嵌入式系统的应用领域。
3、嵌入式系统的现状和发展趋势。
4、嵌入式微处理器和嵌入式操作系统。
5、嵌入式系统中的一些重要概念。 难点:什么是嵌入式系统。
第二章 嵌入式系统硬件基础(2学时)
1、嵌入式系统的总体结构。
2、与嵌入式系统相关的硬件知识。 难点:总体结构。
第三章 设计方法及ADS集成开发环境(4学时) 第一节 嵌入式系统的设计方法
包括嵌入式系统的设计流程,嵌入式系统的一般设计方法,嵌入式系统的硬件/软件协同设计技术。 第二节 ADS集成开发环境
1、ADS 1.2 集成开发环境的组成
2、工程的编辑
3、工程的调试
4、仿真器的安装与应用 难点:调试、仿真器。
第四章 ARM7体系结构(4学时) 第一节ARM7体系结构介绍
1、处理器模式。
2、内部寄存器。
3、程序状态寄存器。
4、异常。
第二节ARM7TDMI(-S)指令集简介。 难点:异常。
第五章 ARM指令集(8学时) 第一节 ARM处理器寻址方式。 第二节ARM指令集。
第三节ARM汇编程序设计。 第四节C与汇编混合编程。 难点:ARM汇编程序设计。
第六章 硬件结构与功能(12学时) 第一节 LPC2106/2105/2104结构
1、存储器寻址。
2、系统控制模块。
3、存储器加速模块。
4、向量中断控制器。
第二节 GPIO及引脚连接模块。
第三节 UART0和UART
1、I2C接口、SPI接口。 第四节 定时器0和定时器1。 第五节 脉宽调制器(PWM)。
第六节 看门狗及Flash存储器系统和编程。
难点:存储器重新映射,编程实现功能部件的初始化和控制。 本章实验:LPC2106/2105/2104功能部件基础实验。
第七章 µC/0S-II程序设计(4学时) 第一节 µC/0S-II简介及移植
1、移植规则。
2、编写LPC2106/2105/2104的启动代码。 第二节 移植µC/0S-II。 难点:移植µC/0S-II。 本章实验:学习移植µC/0S-II。
五、教材及主要参考书
教材:
《嵌入式系统设计与开发》,马文华,科学出版社,2006年
主要参考书:
[1] 田苗苗.嵌入式控制系统.北京航空航天大学出版社,2002年 [2] 吕 骏 译.嵌入式系统设计.电子工业出版社,2002年
[3] 周立功等.ARM微控制器基础与实战.北京航空航天大学出版社,2003年
[4] 李驹光等.ARM应用系统开发祥解.清华大学出版社,2003年
[5] 劭贝贝译.uCOS-II-源代码公开的实时嵌入式操作系统.中国电力出版社,2001年 [6] 田苗苗.嵌入式系统设计与实例开发.清华大学出版社,2002年 [7] 袁勤勇等译.嵌入式系统构件.机械工业出版社,2002年 [8] 田苗苗.《实用嵌入式系统设计与开发—基于ARM微处理器与μCOS-II实时操作系统》(第二版),清华大学出版社,2003.9 [9] 邵贝贝译.《源代码公开的实时嵌入式操作系统——μCOS-II》,北京航空航天大学出版社,2003年
六、其他需要说明的情况
1.采用多媒体教学。
2.实验课单列,每周2学时。
3.每周作业量2~3小时,主要针对基本概念、开发环境的操作和编程。
七、成绩评定
1. 理论考核
占60% 2. 实践考核
占40%(其中包括:实验、作业、课堂提问、学生自行设计制作的作品)。
(一)说明
1、 课程概述
(1) 课程属性及课程介绍
《嵌入式系统设计原理及应用》课程是计算机类、电子工程类、通信工程类的专业基础课。该课系统地描述了嵌入式系统设计原理及方法,对嵌入式系统的设计过程进行了完整地介绍。书中采用了自底向上的方法来介绍嵌入式系统,首先介绍了ARM7微处理器核这一典型的用于嵌入式系统开发的微处理器嵌入式系统相关硬件平台,然后介绍了嵌入式系统设计原理及方法,以及嵌入式操作系统及嵌入式网络技术,培养学生了解有关嵌入式系统的基本原理、设计方法以及嵌入式系统的最新发展,初步掌握嵌入式系统开发的过程和常用方法,掌握实时操作系统的基本功能和设计方法,了解和熟悉一些常用的实时嵌入式操作系统。
(2)适用对象:计算机专业学生(专业选修课)。 (3)先修课程与后续课程:
先修课程:计算机组成原理、微机原理 后续课程:
2、教学目的、意义、任务
培养学生了解有关嵌入式系统的基本原理、设计方法以及嵌入式系统的最新发展,初步掌握嵌入式系统开发的过程和常用方法,掌握实时操作系统的基本功能和设计方法,了解和熟悉一些常用的实时嵌入式操作系统。培养应用型人才。
3、主要教学方法、手段 :
理论教学采用启发式、互动式、案例驱动、讲解式等多种教学方法结合,实践教学采用任务式、参与式;利用黑板与实践结合。
4、教学中注意的问题:
教材中的理论与实际问题的有机结合
5、学时与分配 总学时: 60 理论教学 40学时 占全部学时的66.7% 实验教学 20学时 占全部学时的33.3%
6、实践教学:无
7、课程考核要求:
闭卷 占80% 试验、考试及平时表现占20%
(二)本文
第一章 什么是嵌入式系统 4学时
(1)教学目的 :通过本章的学习,要求学生对嵌入式系统有一个总体的认识,了解嵌入式系统的特点,为以后章节的学习做好准备。 (2)教学重点和难点:嵌入式系统、特点 (3)主要教学方法、手段:通过板书解 (4)教学内容
1.1 什么是嵌入式系统 1.2 嵌入式计算的特点 1.3 嵌入式系统的设计过程 1.4 本书内容简介 第2章 ARM体系结构 6学时
(1)教学目的 :通过本章的学习,要求了解嵌入式系统ARM体系结构。 (2)教学重点和难点:嵌入式系统ARM体系结构、特点 (3)主要教学方法、手段:通过板书解 (4)教学内容
2.1 ARM微处理器结构 2.2 ARM处理模式和状态 2.3 ARM存储器组织 2.4 异常 2.5 ARM寻址方式 第3章 ARM指令系统 3学时
(1)教学目的 :通过本章的学习,要求了解嵌入式系统ARM指令系统。 (2)教学重点和难点:嵌入式系统ARM指令系统、特点 (3)主要教学方法、手段:通过板书解 (4)教学内容
3.1 ARM指令集 3.2 Thumb指令集 3.3 ARM汇编程序设计 第4章 嵌入式计算平台 7学时
(1)教学目的 :通过本章的学习,要求了解嵌入式计算平台原理。 (2)教学重点和难点:嵌入式计算平台原理 (3)主要教学方法、手段:通过板书解 (4)教学内容
4.1 CPU总线 4.2 存储器及存储系统机制 4.3 接口控制方式 4.4 I/O设备 4.5定时器和计数器 第五章 系统设计和分析 7学时
(1)教学目的 :通过本章的学习,要求了解嵌入式计算系统设计和分析原理。 (2)教学重点和难点:嵌入式计算系统设计和分析原理 (3)主要教学方法、手段:通过板书解 (4)教学内容
5.1系统设计的形式化方法 5.2嵌入式系统设计范例 5.3 编程模型 5.4程序执行时间的分析与优化 5.5能量的功率分析与优化 5.6程序长度的分析与优化 第六章 嵌入式操作系统 7学时
(1)教学目的 :通过本章的学习,要求了解嵌入式操作系统 (2)教学重点和难点:嵌入式操作系统 (3)主要教学方法、手段:通过板书解 (4)教学内容
6.1嵌入式系统的进程 6.2嵌入式系统网络 6.3进程间通讯机制 6.4嵌入式操作系统其他功能 6.5嵌入式操作系统 第七章 嵌入式网络技术 7学时
(1)教学目的 :通过本章的学习,要求了解嵌入式网络技术 (2)教学重点和难点:嵌入式网络技术 (3)主要教学方法、手段:通过板书解 (4)教学内容
7.1 分布式嵌入式体系结构 7.2嵌入式系统网络 7.3 USB网络 7.4嵌入式TCP/IP技术 7.5基于网络设计的性能分配
(三)附录
1、教材及教学参考资料 理论教材:
《嵌入式系统设计原理及应用》符意德主编,2004年,清华大学出版社。 教学参考资料:
《嵌入式系统设计原理与实力开发》 王田苗主著, 2003年, 清华大学出版社. 《嵌入式系统原理与接口技术》, 贾志平主编, 2005年, 北京航空航天大学出版社。
2、相关信息
制定单位:信息技术学院 计算机应用教研室 制定人: 姚玉霞 审核人: 陈桂芬
制定时间:2007年3月18日
推荐阅读:
嵌入式课程设计总结(通用6篇)03-27
嵌入式课程设计初稿(精选9篇)11-23
基于嵌入式系统的电机调速控制系统设计探究09-12
基于嵌入式实时操作系统的EPS系统设计09-12
嵌入式系统课程是面向双创教育的改革与实践05-12
基于嵌入式系统的逻辑分析仪设计09-14
《嵌入式系统在医学仪器中的应用》的课程教学研究与探索02-28
建筑设计嵌入稳定供水和排水系统研究09-13
嵌入式课程总结(精选6篇)03-27