首页 > 精品范文库 > 4号文库
嵌入式系统课程建设
编辑:枫叶飘零 识别码:13-1125474 4号文库 发布时间: 2024-09-01 23:25:42 来源:网络

第一篇:嵌入式系统课程建设

嵌入式系统课程建设

近年来,我国嵌入式系统产品发展十分迅猛,中国嵌入式系统市场估计每年将直接创造千亿元的效益,所带动的相关工业产值超过万亿元,成为中国信息产业新的市场增长点。与巨大的市场潜力和产业需求相比,我国嵌入式系统工程人才培养相对落后,并进而影响到了该产业的快速发展。在这种背景下,许多高校的计算机、电子、软件等专业针对市场需求,开设了嵌入式系统相关课程。在IEEE计算机协会和ACM共同制定的202_版计算机类课程体系中,嵌入式系统已经被列为核心课程之一。北京航空航天大学计算机学院于202_学年开始开设了“嵌入式系统设计”课程,下面对该课程的建设情况作简单介绍。课程基本情况

该课程是面向计算机学院高年级本科生(或研究生)开设的专业课,是一门以计算机各种专业知识综合应用为主要特色的课程,其指导思想是培养学生从“整体”的角度认识、研究和解决嵌入式计算工程问题的方法和能力,为学生在嵌入式计算工程领域研究和开发奠定相关基础。课程采用理论知识传输与工程能力培养并重的教学方法,教学内容尽量反映该领域内最新的理论和技术成果,使学生了解该学科最新的前沿发展动态和方向,培养出适应社会需求的专业化技术人才。

该课程的教学目标是使学生能够掌握嵌入式系统设计过程中的基本概念和原理,使学生能够掌握和使用最新的嵌入式系统设计方法和典型开发工具。课程在教学内容安排上遵循“面向市场需求、定位人才培养”的原则,强调将计算机系统不同层次专业知识的基础性与实际工程设计思想和架构的前沿性相结合,重视将计算机系统自底向上的各种专业课程内容的有机整合,使得诸如操作系统、体系结构、接口与通信和计算机网络等孤立的课程呈现相互配合的应用场景,让学生进一步认识和掌握上述课程的基本概念和基本规律在实际的综合系统应用中的作用和影响。在课件设计上,采取统一的知识体系结构,涵盖“基础知识+ 基本技能+ 技术讲座+ 项目实践”四大模块,突出注重工程能力培养的特色。通过课程学习和实验,学生应能够熟悉一种典型的微处理器体系结构,掌握一套主流的开发工具和一种嵌入式操作系统,熟练使用一门开发语言,使学生具备嵌入式系统软、硬件开发设计的基本能力。

目前该课程为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教室、低功耗设计教室等),学生根据自己的时间和兴趣选择,并在网上交互学习。电子教室的建设将依托学院教改项目。相关教材介绍

经过近四年的建设,本课程形成了自己的教案、讲义和实验指导书。《嵌入式系统设计》教材也即将编写成稿。课程的实验内容和指导书已被“国家发改委-微软嵌入式系统教学包”收录。

主讲教师个人简历

尚利宏博士,北京航空航天大学计算机学院讲师。主要研究方向为嵌入式系统、嵌入式软件测试、容错计算,主讲《计算机容错技术》、《嵌入式系统设计》等课程。作为技术负责人完成国家自然基金项目一项,国防预研基金项目二项,以及国防重点型号任务多项。获陕西省国防科技进步三等奖一项。202_和202_年连续两年指导的本科生队伍获得微软公司组织的全球大学生嵌入式系统设计大赛优胜奖。北航大学生课外活动优秀指导教师。

第二篇:嵌入式系统 课程感想

《嵌入式系统设计》课程感想 班级:电气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机、计算机网络设备等电子产品中都用到了嵌入式技术。

通用计算机的发展变为功能电脑,普遍进入社会,嵌入式计算机发展的目标是专用电脑,实现“普遍化计算”,因此可以称嵌入式智能芯片是构成未来世界的“数字基因”。正如我国资深嵌入式系统专家——沈绪榜院士的预言,“未来十年将会产生同大小、具有超过一亿次运算能力的嵌入式智能芯片,将为我们提供无限的创造空间“。

总之,“嵌入式微控制器或者说单片机好象是一个黑洞,会把当今很多技术和成果吸引进来”。

第三篇:嵌入式系统

嵌入式系统 实验报告

闻悦 孙恩比 虞淦超 孙德一 滑冰 202_年1月5日

一.选题

我们组的实验题目是:将配制过并且用Open64编译过的linux操作系统移植到ebox中。这个实验是编译原理实验和嵌入式系统实验的结合。我们的小组成员有三位选了董渊老师的编译原理专题训练。当时董渊老师对大实验给出了一个提议,用open64编译器编译busybox,并且和嵌入式系统实验相结合。我们组员感觉这将是一个很好的尝试。另外,在ebox平台上运行linux,网上鲜有现成的案例。我们觉得,虽然ebox运行Embedded WinCE已经可以满足很多商业上的需求,但是linux有它的许多特点是WinCE不具备的。显然最重要的就是它的开源特性,使得功能的开发变得更加灵活,虽然可能没有WinCE容易上手,但是linux可以支持更多的CPU类型,应用的场合也较多。

新的创意往往可以激发我们的干劲。实验刚一开始,我们就为这个前所未有的挑战而激动万分,跃跃欲试。我们也很想通过实验,使得我们在学习嵌入式系统新知识的同时,尝试运用编译知识和巩固以前学过的操作系统知识,以达到使知识融会贯通、学以致用的目的。

在接下来的实验报告中,我们将主要体现嵌入式实验部分的工作。

二.实验过程

嵌入式linux操作系统的三大要素是:bootloader, kernel image和根文件系统。我们也就按照这三点要素来总结我们的实验流程。

1.初选bootloader

在查阅了一些嵌入式linux的资料后,我们把bootloader的备选集定位在了lilo、grub和syslinux上面。根据我们的实验设计,我们希望首先尝试用U盘引导,之后再尝试把U盘的内容写到ebox里面引导linux。明确了需求,我们就对这些bootloader的功能和适用性进行了比较。

Lilo是Grub的前身,grub在很多功能上加强了lilo,在实验设计做好之后,我们进一步询问业内人士并且得到了一些建议:GRUB不像LILO一样使用裸扇区,而是可以从ext2或ext3文件系统中加载Linux内核。这也就是说,如果用U盘做引导,lilo可能不能用,而grub是可以的。syslinux相对于grub是一个更轻量级的引导器,一般用于光盘和U盘。原本我们认为syslinux可能比grub更适合我们的实验,但是由于网上关于grub的参考更多一些,并且我们认为grub是可以胜任预期的工作。于是我们没有实验syslinux,用grub开始了我们的初期实验之旅。

2.编译配制kernel

构建一个根文件系统首先需要的就是加载一个kernel。我们将busybox集成在内核中,这样kernel启动后,再加载initramfs,就可以直接进入带shell的linux环境中了。

kernel我们选择的是Linux2.6.31.6的最新版本。由于ebox使用的Vortex也是x86系统的,因此不需要交叉编译。在编译kernel的时候,我们指定的是自己的initramfs。我们的initramfs只是增加了一个init文件。init是一个hello.c文件,如下: hello.c:

#include #include int main(int argc,char argv[]){ printf(“hello world, from initramfs.n”);sleep(9999999);return 0;}

创建一个initramfs的源文件目录image,把hello程序拷入,并改名为init。在image下,创建一个dev/console的设备文件,否则无法输出helloworld。

mknod-m 600 dev/console c 5 1

在编译kernel时,在general setup配置目录下的initramfs sources配置项下输入image的路径名。为我们的init程序是ELF格式的,所以内核需要支持ELF的可执行文件,否则启动这个init程序会失败。在内核的 Executable file formats配置目录下,选择 kernel support for ELF binaries,则可使内核支持ELF格式的可执行文件。

在编译kernel的时候,需要配置选项。kernel中有很多可选模块,makeallconfig是加载所有模块,这样做编译完kernel会很大。makenoconfig是最小化kernel。我们一开始使用的是makedefconfig,使用默认的配置。但是事实证明这是不可取的。在后来grub加载kernel中,出现了cmov问题。kernel无法加载,这是由于可能ebox的主机不支持kernel中的cmov指令。后来我们从网上查找了相关的资料。http://www.teniu.cc.tw/tech/os-xlinux/详细介绍了在Vortex86上的移植。我们下载了kernel,它的kernel非常小,只有2.1Mb,这个kernel是可以用的,但是缺少了硬盘驱动。我们认为可能是在配置的时候,在device一块少了写什么。我们详细试验了一下几个选项的配置:

Generic Driver Options,Block devices,SCSI device support,Serial ATA and Parallel ATA drivers,Multi-device support(RAID and LVM),Input device support,ATA/ATAPI/MFM/RLL support,经过反复的调试,但是硬盘识别的问题还是没有解决,在进入根目录后,没有找到hd0或是sda文件夹,我们也很困惑。不知道是不是将busybox集成带来的问题。

3.内核中集成Busybox——构造根文件系统一个简单的内核运行在ebox中是没有意义的,我们进而考虑了如何利用busybox构造基于linux的嵌入式根文件系统。Busybox是一种可以提供很多标准的Unix工具的开源软件,它是专门为linux量身打造的一个轻便的软件包,对于嵌入式系统来说是十分合适的。busybox的使用也是我们此次实验与编译原理专题训练相结合的地方,编译实验要求我们利用目前还不完善的Open64编译器对Busybox源码进行编译,这部分在这里不多说。

在构建根文件系统之前,我们并没有使用busybox,而是尝试构建一个最简单的根文件系统。经过查阅资料,我们发现在编译linux内核的过程中,可以将文件系统部分直接编译到内核当中,这样在内核加载到内存中的时候,文件系统也会相应的随之加载。于是仿照一般的linux的文件系统的目录结构,我们尝试构建自己的文件目录(dev, sys, bin等)。linux内核成功加载之后,会首先运行一个根目录中的名字为init程序,于是我们写了一个打印helloworld的程序,编译之后生成名字为init的可执行文件。然后在qemu模拟器中运行,可以看到在内核加载完毕之后在屏幕上打印helloworld,初期的尝试性工作完成。

关于Busybox使用的第二个步骤是尝试将Busybox编译到内核当中,其中涉及到得问题是如何编译与安装Busybox。在安装Busybox的过程中,程序会自动在选定的安装目录中建立linux的目录结构,并且在/bin中加入了linux的命令。这里需要说明一下,Busybox的功能主要体现在/bin目录中的可执行程序,在编译Busybox的过程中,可以选择让Busybox支持什么样的linux指令,这样在编译安装结束后就会在/bin中出现相应的命令,编译好的linux内核也会支持相应的命令。安装Busybox成功之后,按照初期尝试的编译内核方法,将busybox编译到内核中去。这里需要注意一个问题,如果想在新生成的linux中使用busybox命令,就必须在系统初始化的过程中启动busybox的功能,这是就需要修改init程序。我们以shell脚本的方式写了一个init程序,该程序最后会启动/bin/sh命令(进入新的系统的shell程序)。上述工作完成之后,在qemu中进行模拟,可以发现此时的linux已经支持了常用的linux命令。

尝试busybox的第三个过程是如何将rootfs与kernel分离,之前的工作都是将构建好的文件系统直接编译到内核中,这样如果文件系统过大的话会增加内核的负担,另外,如果嵌入在内核中的文件系统就要求我们每次调试过程都要重新编译一边内核,花费比较多的时间。在这个步骤之中我们通过linux中带的cpio命令,该命令可以对指定的目录中的所有文件进行压缩,生成一个initrd文件,恰好达到我们的要求。这样,最终在qemu中模拟时不仅要选择使用的内核,也要指定相应的initrd。

4.第一次尝试

我们把编译完成的kernel image,initrd文件连同grub一起考到U盘里面,进入ebox,在MBR处选择U盘启动,运行grub,定位kernel和initrd,最后boot,但是boot失败,错误在initrd里面,系统意外中止了。随即我们更换了kernel的版本,重新设置kernel选项,尝试了无数种选项的组合,但是每次boot的时候,这个问题始终存在。

5.第二次尝试

在第一次尝试失败后,我们一度有些摸不清问题的所在,有些灰心丧气。元旦之前集体到陶老师处询问,并且也发邮件给ICOP的工作人员询问了关于kernel无法被引导的问题。看着网上众口不一的解决方案,我们也总结出了一些可能有效的办法。既然实验就是上面的几个部分组成,我们不妨试验一下换一换bootloader,或者换一换kernel。

换kernel是一件比较麻烦的事情,因为这个实验的kernel部分和编译的关系最密切。一旦换kernel,光编译就需要很久,编译部分的实验也要返工。我们大胆决定先换一个bootloader试试看,很幸运,我们成功了。

Grub4dos,一位活跃在某国际嵌入式爱好者论坛的外国朋友曾经向我们提到了这个引导工具,在我们最困难的时候,隔壁宿舍的周以苏同学也提议让我们试一试这个。它是一款主要由中国人维护的grub工具,对原始的grub做了许多改进。我们想既然外国朋友都向我们推荐我们自己的准国产工具,那我们不妨试试。

在用grub4dos替换掉了原先的grub之后,我们再次启动ebox,显示成功。

6.告别U盘

U盘引导完成之后,我们就很容易告别U盘了。在ebox自带的WinCE里,我们把U盘里面的linux目录拷贝到ebox的硬盘根目录下。再次启动ebox,通过原始默认的MBR进入DOS,运行刚刚拷贝到硬盘根目录下linux文件夹里面的grub4dos,进入grub4dos,设置好kernel和initrd的位置,boot。linux便可以在没有U盘的情况下,直接运行在ebox上了。

7.用grub4dos做MBR

我们现在完成的linux boot过程可以简要概括为: 利用ebox原有的MBR(Master Boot Record)进入DOS,在DOS中找到ebox硬盘里面的grub4dos,利用grub4dos定位kernel和initrd,完成boot。可是在每次boot之前,都需要做一些引导设置的操作。实际grub4dos是可以省略这个二次引导的。它可以被直接装入MBR里面引导kernel和文件系统。我们尝试了这个装入。通过grub4dos提供的grub> fdisk /mbr命令。装入之后启动ebox,出现error 16并无法继续启动。由于原先的MBR已经被替换,ebox也没办法进入dos下,实验到此结束。

三.进一步工作的设想

1.用grub4dos做MBR

在一些情况下,用grub做二次引导的bootloader会更方便,而另一些情况是,把grub装入MBR内会更方便。我们上面已经提到,在实验的最后,装入MBR的过程没有成功。可能是因为误删除了一些grub的文件所致。这一步工作还可以继续尝试。2.尝试使用syslinux作为bootloader完成实验

这只是一个尝试。因为我们在实验中并没有实测syslinux这个bootloader是否可以很好地工作。实际上grub4dos已经很好了。3.使用支持更多linux功能的kernel

我们编译的kernel只是一个功能简单到不能再简单的kernel。一个实用的kernel必须做得更好,支持更多的功能,新添更多支持ebox的驱动。

四.实验心得体会

我们这次实验完成将配制过并且用Open64编译器编译过的linux操作系统移植到ebox中。工作大致可以分为编译部分和ebox引导部分。编译部分我们完成了用open64编译kernel以及根文件系统。ebox引导部分我们将编译好的linux操作系统移植到了ebox上。在实验中涉及到许多学科的知识,我们将编译原理、嵌入式系统乃至操作系统等课程的知识结合在一起进行实际使用,是嵌入式系统课之前所没有同学尝试过的一次创新性的实验。当然,有创新,就会有很多不确定的因素,这对我们来说是一次风险性的挑战。实验没有现成的文档可以参考,而且有关ebox上移植linux系统的资料也并不多。在我们遇到问题的时候,我们想了很多方法去解决,在一次次失败中磨练了我们,也使我们对我们的实验越来越深入,越来越了解。在一步一步克服困难的努力中,我们都学到了很多。现在我们做到了这个程度,可以说我们基本上赢了。很感谢老师提供的文档帮助我们解决了一些问题,也很感谢隔壁宿舍的张伟达同学和周以苏同学的帮助,更是有网络上很多国内外的嵌入式爱好者们耐心地解答我们用邮件咨询的种种问题。如此的参与规模,可以说这个实验是大学期间最难以忘怀的实验之一。在实验中,我们真切地体会了团队合作精神,大家一起想办法,同时在团队讨论中,我们每个人都学到了很多。我们觉得,这个实验其实是可以做为一个基础实验来给之后的同学做的。相比于基础实验中在ebox上安装WinCE,我们这个linux实验与底层更贴近。整个boot的过程都在实验的每个环节中充分地体现出来。做完实验,我们可以对MBR、bootloader以至加载kernel和文件系统的整体流程更加清晰。实验还残留着上面提到的一些问题,希望以后会有同学可以继续探索这个实验,也希望这个实验可以继续对以后同学有所帮助吧。

第四篇:嵌入式系统实验室建设申请书

【项目八:嵌入式系统实验室项目规划申请立项时间:202_年 】

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.建设项目实施组织及进度安排

我系将成立嵌入式系统实验室建设领导小组负责项目的实施。提供需要购置的设备、场地布线、实验室的维修、改造等相关参数给学院国资处并由其上报市政府,按照政策进行招标。进度安排如下:

202_.6~202_.8:成立嵌入式系统实验室建设领导小组,并对原有的设备进行清查。同时完成对国内其它高校相关实验室的建设进行调研。

202_.9~202_.11:制定嵌入式系统实验室建设的总体规划、建设方案。同时聘请专家对嵌入式系统实验室建设规划进行详细论证。

202_.11~202_.1:制定详细的嵌入式系统实验室设备购置计划并进行实验室建设的招标。完成实验室管理规章制度的制定。

202_.2~202_.4:完成嵌入式系统实验室的建设。完成相关课程的教学大纲、实验教学指导书、实验讲义的编写与修订等。

202_.4-202_.5:各实验室整改发现的问题,提交总结报告。学校组织验收。认真听取专家意见,拟定整改方案并实施。

第五篇:【嵌入式】Linux 嵌入式系统教学课程改革探索

摘要:传统嵌入式系统教学内容容易使学生产生厌学、畏难的现象,严重影响了教学质量。该文提出基于调整实践教学体系的设想,并具有针对性地提出基础课程投入力度、分阶段培养学生Linux下编程能力、改革实践内容的方法,实现即可与传统嵌入式教学方式相结合,又可与当前嵌入式发展趋势相吻合的实践教学改革方案;从而达到提高学生学习兴趣和教学质量的目的。中国论文网

关键词:嵌入式系统;教学内容;教学质量;实践教学;Linux

中图分类号:G642 文献标识码:A 文章编号:1009-3044(202_)28-6733-02 概述

嵌入式系统是面向软件、计算机、通信、电子等专业本科生和研究生的一门普及型技术基础课程。它是一门交叉学科,既与计算机专业课程有关,又与电子电气、通信、自动化、化工、材料等诸多专业课程有关,并且还与具体的应用背景相关联。涉及到的基本知识有:硬件知识(如嵌入式微处理器及其基本的接口知识、扩展的人机接口、网络通信接口等)、Linux操作系统(至少了解Linux操作系统的中断、优先级、任务间通信、同步等知识)、程序设计知识(C、C++、尤其需要精通C语言);同时,还需涉及一定的数字电路知识[1-2]。

嵌入式系统学科的特点决定了学生需要学习大量相关课程方能做出优秀的作品,其成果见效周期长,学生在系统学习过程中会普遍因为缺少相应成绩而丧失学习兴趣。针对这种情况,我院在传统嵌入式系统教学中加入了一些新颖的、能够有效激发学生学习动力的相关课程,以此提高对嵌入式系统学习的兴趣,并且取得了显著的成绩。

嵌入式系统教学课程改革措施

C语言作为学习其他编程语言的基础,同时也是传统嵌入式系统基础学科之一,需要重点强化学生实际动手能力。在嵌入式的高级应用部分我院将其与新兴的智能手机操作系统—Android相结合,取得了良好的教学效果。

2.1 基础课程改造

我院嵌入式系统教学对学生采用“厚基础,宽口径”的教学特色,着重强调学生对基础知识的掌握。为强化学生的实际动手能力,我院将C语言的课时设置为80课时,并辅以大量的实践内容。针对嵌入式系统偏重于Linux编程的特色,在C语言讲授时直接开展基于Linux下编写C语言的教学。通过实践教学表明,学生只需两周即可掌握相应方法;而且学生由于没有Windows下VS编程经历,反而更加容易掌握接受。

在后续课程中重点加强Linux下高级C语言编程学习,如内存问题、宏问题、调试与优化等,部分学生在大二即可做出优秀作品。在刚刚结束的202_年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].计算机应用与软件,202_,26(3):160-162.[2] 邓昀.关于嵌入式系统课程教学改革的探讨[J].中国校外教育(理论),202_(z1):《嵌入式相关资料》 566.[3] 吴磊.嵌入式教学与实验的研究[J].实验室研究与探索,202_,30(11):103-104.[4] 胡沛.JavaScript课程教学改革探索[J].电脑知识与技术,202_,7(32):7944-7945.转载请注明来源。原文地址:

《嵌入式相关资料》

嵌入式系统课程建设
TOP