首页 > 范文大全 > 正文

应用型本科院校嵌入式课程体系建设的探索

开篇:润墨网以专业的文秘视角,为您筛选了一篇应用型本科院校嵌入式课程体系建设的探索范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!

摘要:该文分析了嵌入式领域对应用型本科院校计算机专业学生掌握该领域知识的要求,提出了本校嵌入式课程体系建设的方案及教学方法的综合运用。

关键词:应用型本科;嵌入式课程体系;教学方法

中图分类号:G434 文献标识码:A 文章编号:1009-3044(2013)36-8340-01

嵌入式是一门从上层应用到底层内核开发的软硬件结合,对综合技术要求较高的技术领域,各高校近年来普遍开设嵌入式方向或专业,我校也已经在计算机科学与技术系设置嵌入式专业。目前我校计算机科学与技术系已经开设的嵌入式课程的前续课程有数字电路,计算机体系结构、计算机组成原理、微机原理与接口技术、程序设计语言I及面向过程程序设计、操作系统、数据结构与算法等。考虑到嵌入式课程建设的连续性、层次性和前沿性的需要,形成了包含嵌入式系统、嵌入式内核编程与驱动开发和嵌入式软件设计在内的嵌入式专业课程体系。下面主要介绍这三门课程的建设。

1 嵌入式课程设置

我系首次开设的嵌入式系统课程是偏硬件系统设计的一门课程,目标是通过对本门课程的学习,使学生了解ARM体系结构,掌握ARM伪操作及伪指令,掌握嵌入式Linux系统的构建能力,包括嵌入式交叉编译环境搭建,bootloader移植,文件系统制作,内核的编译过程;掌握Linux下C与汇编混合编程,同时理解嵌入式系统驱动程序编写思想。

考虑到实际的嵌入式系统设计过程中,对特定的微处理器内部结构的知识要求淡化的同时,对处理器接口知识的要求却在增加。因此,嵌入式系统课程增加了嵌入式系统中常用的接口的基本原理和接口协议部分,学生可以通过本门课程的学习,自己动手搭建定制的嵌入式操作系统,并通过对实际的硬件接口学习及操作,增强学生的嵌入式系统设计的能力。

嵌入式驱动开发要求学生掌握驱动开发方法、开发流程;掌握内核关键数据结构及中断机制等内容,但是由于学时限制,起初开设的嵌入式系统课程,这部分内容仅要求学生掌握驱动设备的类型及驱动开发流程。本次将嵌入式驱动开发部分的内容独立设置为一门课程——嵌入式内核编程与驱动开发,目标是通过学习本门课程,学生能够理解嵌入式驱动开发基本概念、理论和方法;了解嵌入式Linux驱动工作原理,熟悉Linux内核关键数据结构和机制;掌握交叉编译工具的使用和嵌入式驱动开发整体流程。使学生在学完本门课程后,能够自己动手开发驱动程序,并进行内核编程开发。

嵌入式系统经过系统设计和底层开发后,仅是一个具备了硬件、驱动及操作系统的设备,还需要在该系统上开发大量的应用软件,才能称之为有用的受人们欢迎的系统。所以嵌入式系统的软件开发同样重要。起初的嵌入式系统课程仅介绍了Linux下C与汇编混合编程方法,这仅适用于底层开发驱动的要求,但这远远不能满足当今企业对嵌入式软件开发人员的要求。本次将嵌入式软件开发独立设置为一门课程,目标是通过本课程学习掌握Linux常用命令及Linux下C编程及开发流程,掌握Linux操作系统编程关键技术,包括进程控制,多线程编程及网络通信等。使学生在学完本门课程后,能够进行多进程、多线程编程及网络通信编程等功能,实现操作系统应用软件的开发。

嵌入式系统,其前期课程为计算机体系结构,计算机组成原理,微机原理与接口技术;嵌入式内核编程及驱动开发,其前期课程为操作系统,数据结构与算法,嵌入式系统;嵌入式软件设计,其前期课程为程序设计语言I、面向过程程序设计、操作系统,编译原理,嵌入式系统及嵌入式内核编程与驱动开发。

2 教学方法的运用

2.1 嵌入式系统课程

1)嵌入式Linux常用开发工具及GNU工具链生成部分采用案例教学法。通过搭建GNU工具链任务,让学生在完成任务的同时达到熟练掌握常用命令及工具的作用。

2)嵌入式Linux系统的构建部分采用项目驱动法,学生在完成每节的学习后,完成Linux系统构建的一部分功能,最终完成Linux系统构建,通过综合运用以上知识点,自己动手定制一个U盘上的最小系统,实现从U盘启动系统。

3)嵌入式系统基础接口的原理及协议部分,每部分内容都有丰富的案例,由于这部分涉及的内容比较多,采用案例分析法与分组讨论法,通过设置设计型实验项目,让学生先讨论,提出一个可行性方案,并最终在设备上实现各种功能。

2.2 嵌入式内核编程及驱动开发课程

1)Linux设备驱动概述及开发环境构建及硬件基础部分采用案例分析法,理解嵌入式驱动开发的方法; (下转第8354页)

2)Linux内核及内核编程、Linux内核模块、Linux文件系统与设备文件系统部分采用任务驱动法,通过对模块的加载卸载、模块参数和编译模块等任务的操作使学生熟练掌握Linux内核模块的操作;

3)字符设备驱动部分采用案例分析法,了解嵌入式Linux驱动工作原理;

4)并发与竞态、LINUX设备驱动中的阻塞、非阻塞I/O与异步通知、Linux异常处理体系结构部分采用案例分析法进行讲解,熟悉Linux内核关键数据结构和机制。

2.3 嵌入式软件设计课程

每部分都配有相应的任务或项目,各重点知识点都配有案例进行分析,便于学生理解和掌握。具体需要完成的项目包括:Linux下服务器配置项目;简单程序开发项目;多进程及守护进程程序编写任务;管道通信及共享内存任务;生产者消费者项目;NTP协议项目。最终实现一个嵌入式Web应用系统的设计与开发项目。

3 结束语

综上所述,嵌入式课程由原来的一门课程,即嵌入式系统课程,通过教学内容的扩充及调整为三门课程。将课程分为系统设计类课程,即嵌入式系统;底层开发类课程,即嵌入式内核编程及驱动开发;软件开发应用类课程,即嵌入式软件设计。通过综合运用项目驱动教学法、分组讨论法、任务驱动法、案例分析法等教学方法开展教学,引导和激发学生的主动学习和探究意识,引导和激发学生的动手实践意识,达到学以致用。

参考文献:

[1] 邓春健,李丈生,杨亮,等.ARM嵌入式系统课程教学方法研究[J].计算机教育,2010(3):94-96.

[2] 张林,刘辉,孙启龙,等.嵌入式系统教学方法改革实践[J].电器电子教学学报,2010,32(4):59-60,72.