嵌入式系统课程建设。
北京大学信息科学技术学院(100871)王志军、杨延军。
嵌入式系统课程是北京大学电子信息科学基础实验中心(以下简称实验中心)在多年教学改革的基础上,为信息科学技术学院电子类高年级本科生和研究生新开设的一门选修课,目的是培养学生的综合创新能力。2024年秋季正式开课。
一、信息科学技术学院本科生电子类实验课程体系。
实验中心承担信息科学技术学院本科生电子类实验教学任务。几年来,实验中心本着“保证基础、体现先进、加强实践、着眼创新”的原则,大力推动、稳步实施实验教学改革,大致形成了包含基础型、提高型和创新型三个层次的实验课程体系(见表一)。
表一电子类本科生实验课程体系。
基础实验课为必修课,属于学生必须掌握的内容;提高实验课为选修课,为了提高学生的实验技能;创新实验课也为选修课,目的是培养学生的综合创新能力。随着课程层次的提高,实验内容从单元电路实验、综合电路实验,向系统电路实验转变。
创新实验课注重对学生进行科研综合方法的培养,包括:需求分析、方案论证、资料搜集、系统设计、电路调试、系统测试、报告撰写等等。除了培养学生的分析问题、解决问题的能力外,还要引导学生发挥想象力,提出问题或见解,即培养创新能力。
对于没有学过的或跨学科的知识,引导学生学会主动学习、理解,最终用于系统中去。建议每个本科生至少选修一门创新实验课程。
嵌入式系统课程即属于创新实验课程,其总的目的是通过对嵌入式系统组成和原理的学习及专题实验的训练,最终在intel sitsang开发平台上实现一个实际的应用系统,从而达到对学生进行综合创新能力的训练。
二、嵌入式系统课程介绍。
1、学时学分:
总课时:60学时(理论课:16学时,实验课:44学时),学分:2学分。
2、参考教材:
1)《嵌入式技术与系统- intel xscale 结构与开发》,北京航空航天大学出版社;
2)《gnu/linux 编程指南 》,清华大学出版社;
3)《arm soc体系结构》,北京航空航天大学出版社;
4)《嵌入式系统实验讲义》,北京大学电子学系;
5)**资料等。
3、课程内容:
理论课共授课8次,每次2学时,共需4周时间。具体内容如下:
1) 嵌入式系统的概述。
2) arm体系结构与嵌入式cpu
3) 嵌入式系统平台-- sitsang board
4) 嵌入式系统软件开发。
5) 嵌入式操作系统基本原理。
6) 嵌入式linux系统开发原理。
7) 嵌入式wince系统开发。
8) 嵌入式应用系统设计开发。
通过上述理论课的学习,使学生基本掌握嵌入式系统的基本理论、计算机体系结构的基本知识、操作系统的基本原理、嵌入式系统的开发过程,以及intel sitsang开发平台的组成、嵌入式linux和wince的开发原理,为下一步的实验课程打下基础。
实验课又分为两个阶段,专题实验和项目实验。专题实验共有6次,每次4学时,共24学时(6周)。专题实验具体内容如下:
实验一 sitsangboard组成和原理
实验二 arm汇编程序设计
实验三嵌入式linux内核
实验四嵌入式linux程序设计
实验五嵌入式linux驱动程序设计
实验六嵌入式liunx图形程序设计
在专题实验中,学生自由组合成3人一组,每次实验又分为验证性实验、修改性实验和设计性实验三个层次。硬件开发平台采用intel sitsang(pxa255)板。第一个实验用来熟悉开发平台的硬件,第二个实验用来了解比较底层的arm汇编程序的开发方法,其它4个实验都是围绕 linux 操作系统来进行的。
嵌入式linux 操作系统下有功能非常强大的开发工具,完全可以胜任嵌入式开发的各个方面,它们不但可以免费获得,对硬件的要求也不高,每次实验都是在奔3-550的计算机上完成的。其内核-- zimage采用的是经过intel公司修改的2.4.
19 版本。
嵌入式文件系统采用的是jffs2,它是专门为flash设备设计的文件系统,具有日志和压缩功能,读写速度都比较快。为了避免频繁的flash读写和节省将文件系统烧录到flash中的时间,在实验中我们主要采用网络文件系统(nfs)。nfs的方式使目标系统在运行的时候通过网络在主机上得到文件系统的内容,而不需要访问flash设备,而且由于所有的文件都保存在开发主机,对它们操作非常方便,大大提高了开发效率。
图形界面程序的开发是实验的重要组成部分,我们选择qtopia-1.7.0作为sitsang板的图形开发软件平台,开发工具主要使用qt-embedded-2.
3.7。qt由于其良好的跨平台性,在嵌入式开发中应用很多,开发工作可以大部分在主机完成,qt甚至提供了一个framebuffer的**环境,**运行qtopia和自己开发的应用程序。
驱动程序的设计主要涉及了加速度计、测试led和面板按钮,希望学生对驱动有初步的了解,在专题实验中并没有设计很复杂的驱动。
项目实验仍为3人一组,共20学时,需5周时间。实际操作上,项目实验被安排在开放实验室,学生可以自由安排其实验时间,每个学生实际花费的时间都多于20学时。项目实验的命题由教师推荐和学生自选,这样可以调动学生的创造潜能,达到培养学生综合创新能力的目的。
推荐的项目实验题目如下:
1) *****器。
2) 简单pda(记事、通信录、备忘等)
3) 简单email编辑、收发器。
4) 简单游戏(游戏杆控制)
在项目实验的管理中,每个实验教师负责几组学生,每周至少一次对学生进行检查、督导。同时,设有两个检查时间点:一个是项目实验开始的一周后,要求学生提供一份项目方案设计报告,包括需求分析,方案论证、系统功能、资源分配,任务分工及任务时间表等;另一个检查点为项目实验结束时的答辩验收,每组答辩时间为15分钟,包括project系统演示5分钟,ppt讲演5分钟和提问5分钟,届时应准备好:
project实验报告、ppt讲演稿和project演示系统。
4、成绩评定:
专题实验:40分(实验表现:20,实验报告:20);
项目实验:60分(系统演示:30,实验报告:20,答辩:10)。
三、嵌入式系统课程教学效果。
嵌入式系统课程按照理论授课、专题实验和项目实验这条线开下来,绝大部分学生能跟得上,并能完成规定的课程内容,效果是令人满意的。在课程结束后,教师听取了学生对该课程的反馈。同学们普遍认为从该课程中学到了很多知识,训练了实际动手能力,更重要的是综合创新能力上的提高。
通过理论课的学习,学生们基本掌握了嵌入式系统的组成和基本原理、arm体系结构、嵌入式系统的开发过程,以及嵌入式操作系统的基本原理等。
通过实验课的训练,学生们不仅得到了实验技能的提高,更重要的是得到了综合创新能力的提高。实验中学生被分为3人一组,这使得学生学到了任务划分和相互合作,培养了学生的团队精神;课程内容具有一定的深度,很多知识点学生们都是第一次接触,这使得学生们学会了主动学习、广泛搜集资料,综合能力得到训练;碰到问题,学生们敢于面对,并积极努力去解决,培养了学生的顽强拼搏精神;项目实验中,学生们开动脑筋,完成了很多他们感兴趣的题目,并力求将项目做得完美,这些培养了学生的创新能力;项目实验最后的答辩验收,则训练了学生讲演、快速反应和推销自己的能力。
以下是学生完成的、具有代表性的项目题目:
1)便携式*****器;
2)便携式mpeg4**器(使用了intel ipp库);
3)便携式email收发终端;
4)便携式旅游信息终端;
5)基于linux的pda的设计与实现;
6)基于linux的可视**的设计与实现。
四、课程的进一步改进方面。
通过该课程对两届学生的开设,我们积累了一些经验,同时也存在着一些需要继续改进的方面。从学生的反馈上看,该课程对于三年级的本科生来说,涉及的知识面广、内容偏深:既要求学生有硬件电路知识,又要有计算机体系结构、操作系统等方面的知识,还要熟悉编程语言及应用系统组成。
在有限的学时内,学生们很难完全掌握和消化,往往占用了他们很多的课余时间。因此,如何在有限的学时内,让学生基本掌握嵌入式系统的基本知识,培养他们的综合创新能力,是课程进一步改进的重点。
1、进一步系统化理论课程内容:
目前,理论课由几位教师分别以讲座的形式向学生授课。在课程内容上,虽然大体上有重点划分,但仍需要进一步统筹规划、突出重点。重点讲授需要学生掌握的基本知识,而不是面面俱到,进一步的提高可由学生凭个人兴趣自学完成。
课程内容中多增加一些实例,以帮助学生理解和消化。
2、加快理论课教材建设:
嵌入式系统涉及的知识面广,参考资料也非常之多,泛泛地为学生指定几本参考书,这使得学生无时间遍览,也很难抓住重点。该课程的进一步建设,应该根据该课程的目标和内容的需要,编写一本理论课教材。这样既可以帮助学生掌握嵌入式系统的基本知识,又节省了学生的时间。
这项工作目前正在进行。
3、增加演示项目实验:
对于专题实验,学生可以按照实验讲义一步步地完成。但到了项目实验阶段时,学生普遍感觉跨度较大,往往无从下手,需要教师多次的引导和帮助。这是因为学生习惯于单元实验,而缺少系统实验的训练。
为了帮助学生项目实验的迅速上手,该课程准备在专题实验结束后,增加一个演示项目实验。在项目的方案设计、理论推导、系统功能、性能测试等方面为学生提供一个完整的实例,相信一定会对学生有所帮助。
嵌入式ARM嵌入式系统设计
摘要 本系统设计了基于arm系统的嵌入式硬件平台,其中主要介绍了系统母版的具体电路实现,其硬件电路已经通过了信号完整性分析。中国 网 关键词 arm 嵌入式系统 中图分类号 tp368.1 文献标识码 a 文章编号 1007 9416 2012 12 0104 01 1 序言 本系统是设计一款基于a...
嵌入式系统
期末作业考核。满分100分。一 判断题 每题3分,共30分 1.嵌入式系统中的软件系统主要由嵌入式操作系统和应用软件组成,其中嵌入式微处理器属于嵌入式软件系统的核心。答 错。2.运行在智能手机或平板电脑中的android系统是一种嵌入式操作系统。答 对。3.windriver公司所提供的软件开发包是...
嵌入式系统
关于嵌入式系统 献给热爱此道的初学者们前言。网上看到众多网友都问了关于嵌入式系统方面的很多问题,很多都可在这里找到答案,希望我的这篇文章能给他们以启发。也请大家不要轻易 一 嵌入式系统的概念。着重理解 嵌入 的概念。主要从三个方面上来理解。1 从硬件上,将基于cpu的处围器件,整合到cpu芯片内部,...