解构北京大学嵌入式系统课程建设

2006-05-23 08:07王志军杨延军段晓辉赵建业张云峰
计算机教育 2006年5期
关键词:学时嵌入式理论课

王志军 杨延军 段晓辉 赵建业 张云峰

“嵌入式系统”课程是“北京大学电子信息科学基础实验中心”为信息科学技术学院电子类高年级本科生和研究生新开设的一门以实验为主的选修课,目的是通过对嵌入式系统组成原理的学习和专题实验、项目实验的训练,培养学生的综合创新能力。

“嵌入式系统”实验课程的建设注重对学生进行科研综合方法的培养,包括需求分析、方案论证、资料搜集、系统设计、电路调试、系统测试、报告撰写等。除了培养学生的分析问题、解决问题的能力外,还要引导学生发挥想象力,提出问题或见解,即培养创新能力。对于没有学过的或跨学科的知识,引导学生学会主动学习、理解,最终应用于系统中去。

“嵌入式系统”课程介绍

1.学时学分

总课时:60学时(理论课:16学时,实验课:44学时);学分:2学分。

2.课程内容

(1)理论课

共授课8次,每次2学时,共需4周时间。具体内容如下:

* 嵌入式系统概述

* ARM体系结构与嵌入式CPU

* 嵌入式系统平台——SitSang Board

* 嵌入式Linux操作系统原理

* 嵌入式Linux软件开发

* 嵌入式Linux图形程序设计

* 嵌入式Linux驱动程序设计

* 嵌入式应用系统设计开发

通过上述理论课的学习,使学生基本掌握嵌入式系统的基本理论和嵌入式系统的开发过程,以及Intel SitSang开发平台的组成、嵌入式Linux操作系统的开发原理,为下一步的实验课程打下基础。

(2)实验课

实验课分为两个阶段,专题实验和项目实验。专题实验共有6次,每次4学时,共24学时(6周)。专题实验具体内容如下:

实验一 SitSang Board组成和原理

实验二 ARM汇编程序设计

实验三 嵌入式Linux内核

实验四 嵌入式Linux程序设计

实验五 嵌入式Linux图形程序设计

实验六 嵌入式Linux驱动程序设计

在专题实验中,学生自由组队三人一组,每次实验又分为验证性实验、修改性实验和设计性实验三个层次。硬件开发平台采用Intel SitSang(PXA255)板。第一个实验用来熟悉开发平台的硬件,第二个实验用来了解比较底层的ARM汇编程序的开发方法,其他四个实验都是围绕 Linux操作系统来进行的。

嵌入式Linux操作系统内核——zImage采用的是经过Intel公司修改的2.4.19版本;嵌入式文件系统采用的是JFFS2,它是专门为Flash设备设计的文件系统;为了避免频繁的Flash读写和节省将文件系统烧录到Flash中的时间,在实验中我们主要采用网络文件系统(NFS),它使目标系统在运行的时候通过网络在主机上得到文件系统的内容,而不需要访问Flash设备,大大提高了开发效率;图形开发选择qtopia-1.7.0作为软件平台,开发工具主要使用qt-embedded-2.3.7;驱动程序的设计主要涉及了加速度计、测试LED和面板按钮,希望学生对驱动有初步的了解,在专题实验中并没有设计很复杂的驱动。

项目实验仍为三人一组,共20学时,需5周时间。实际操作上,项目实验被安排在开放实验室,学生可以自由安排其实验时间,每个学生实际花费的时间远远多于20学时。项目实验的命题由教师推荐和学生自选,这样可以调动学生的创造潜能,达到培养学生综合创新能力的目的。推荐的项目实验题目如下:

* MP3播放器

* 简单PDA(记事本、通信录、备忘录等)

* 简单E-mail编辑、收发器

* 简单游戏(游戏杆控制)

在项目实验的管理中,每个实验教师负责几组学生,每周至少一次对学生进行检查、督导。同时,设有两个检查时间点:一个是项目实验开始的一周后,要求学生提供一份书面的项目方案设计报告,包括需求分析、方案论证、系统功能、资源分配、任务分工及任务时间表等;另一个检查点为项目实验结束时的答辩验收,每组答辩时间为15分钟,包括项目系统演示5分钟,PPT讲演5分钟和提问5分钟,届时应准备好:项目实验报告、PPT讲演稿和项目演示系统。

(3)成绩评定

专题实验:40分(实验表现:20,实验报告:20);

项目实验:60分(系统演示:30,实验报告:20,答辩:10)。

(4)参考教材

[1] 嵌入式系统实验讲义.北京大学信息科学技术学院内部教材.

[2] 陈章龙等译.嵌入式技术与系统- Intel Xscale 结构与开发[M].北京航空航天大学出版社,2004.

[3] 王勇等译.GNU/Linux 编程指南[M].北京:清华大学出版社,2000.

[4] 田泽等译.ARM SoC体系结构[M].北京航空航天大学出版社,2002.

“嵌入式系统”课程教学效果

通过理论课的学习,学生基本掌握了嵌入式系统的组成和基本原理、ARM体系结构、嵌入式操作系统的基本原理,以及嵌入式系统的开发过程等。

通过实验课的训练,学生不仅提高了实验技能,更重要的是提高了综合创新能力。实验中学生被分为三人一组,这使得学生学到了任务划分和相互合作,培养了学生的团队精神;课程内容具有一定的深度,很多知识点学生都是第一次接触,这使得学生学会了主动学习、广泛搜集资料,综合能力得到训练;碰到问题,学生敢于面对,并积极努力去解决,培养了学生的顽强拼搏精神;项目实验中,学生开动脑筋,完成了很多他们感兴趣的题目,并力求将项目做得完美,这些培养了学生的创新能力;项目实验最后的答辩验收,则训练了学生讲演、快速反应和推销自己的能力。

以下是学生完成的、具有代表性的项目实验题目:

* 便携式MP3播放器

* 便携式MPEG4播放器(使用了Intel IPP库)

* 便携式E-mail收发终端

* 便携式旅游信息终端

* 基于Linux的PDA的设计与实现

* 基于Linux的可视电话的设计与实现

课程的进一步改进

通过“嵌入式系统”课程对两届学生的开设,我们积累了一些经验,同时也存在着一些需要继续改进的方面。从学生的反馈上看,该课程对于四年级的本科生来说,涉及的知识面广、内容偏深:既要求学生有硬件电路知识,又要有计算机体系结构、操作系统等方面的知识,还要熟悉编程语言及应用系统组成。在有限的学时内,学生们很难完全掌握和消化,往往占用了他们很多的课余时间。因此,如何在有限的学时内,让学生基本掌握嵌入式系统的基本知识,培养他们的综合创新能力,是课程进一步改进的重点。

(1)进一步系统化理论课程内容

目前,理论课由几位教师分别以讲座的形式向学生授课。在课程内容上,虽然大体上有重点划分,但仍需要进一步统筹规划、突出重点。重点讲授需要学生掌握的基本知识,而不是面面俱到,进一步的提高可由学生凭个人兴趣自学完成。另外,课程内容中多增加一些实例,以帮助学生理解和消化。

(2)加快理论课教材建设

嵌入式系统涉及的知识面广,参考资料也非常多,泛泛地为学生指定几本参考书,这使得学生无时间遍览,也很难抓住重点。嵌入式系统课程的进一步建设,应该根据该课程的目标和内容的需要,编写一本理论课教材。这样既可以帮助学生掌握嵌入式系统的基本知识,又节省了学生的时间。这项工作目前正在进行中。

(3)增加演示项目实验

对于专题实验,学生可以按照实验讲义一步步地完成。但到了项目实验阶段,学生普遍感觉跨度较大,往往无从下手,需要教师多次的引导和帮助。这是因为学生习惯于单元实验,而缺少系统实验的训练。为了帮助学生项目实验能迅速上手,我们的嵌入式系统课程准备在专题实验结束后,增加一个演示项目实验。在项目的方案设计、理论推导、系统功能、性能测试等方面为学生提供一个完整的实例,相信一定会对学生有所帮助。

“嵌入式系统”课程的建设,适应了当代电子信息科学技术领域对专业技术人才的要求,为高年级本科生及研究生提供了一个较好的高端选修课。四年的开课实践证明:本课程较全面地训练了学生们的综合创新能力,受到了学生们的欢迎。

猜你喜欢
学时嵌入式理论课
改革高校思想政治理论课教学的实践探索
办好思政课铸魂育新人
辩证认识思想政治理论课教师队伍的“两个关键”
学习不是“刷学时”
试论机动车驾驶员培训的学时问题
嵌入式LINUX操作系统的研究
高校理论教学与实践教学的学分/学时换算研究
完善“供应链管理”课程内容体系的建议
嵌入式组件技术的研究及应用
自卑女的大学生活