嵌入式系统原理与设计课程设计
- 格式:docx
- 大小:23.82 KB
- 文档页数:12
嵌入式系统原理与设计课程设计
《嵌入式系统原理与设计》课程设计
一、课程设计目的
嵌入式系统的教学可以分为课堂理论教学、实验教学和课程设计三个层面。这三个层面的目标有所不同。理论学习的主要目标是掌握嵌入式系统的一般原理,例如嵌入式系统的基本概念、ARM指令、驱动设计和应用设计的一般方法等等。实验教学的主要目的是掌握嵌入式系统的主要开发流程和基本方法,例如开发工具链的使用、驱动程序开发和小型应用开发等。课程设计的主要目的是通过实际的嵌入式应用系统开发实例掌握嵌入式系统设计和开发的技能和专门知识,积累实践和工程经验。
二、课程设计要求
1、学生按题目分组参加课程设计,要求每个学生有明确的分工,每组成员最多不超过4人;
2、必须按照工程化开发流程,撰写相应的文档和代码,最后还必须通过课设答辩。课程设计成果包括设计文档、程序代码等。文档必须按照规定的格式撰写(具体见“五、课程设计写作细则”,否则必须调整好格式才能参加答辩。
3、考核办法及评分比例:设计文档占60%,程序代码占40%。
三、课程设计流程
1、准备阶段
针对题目所涉及的基本实验(详见“四、课程设计参考题目”),进行分析研究,掌握课题所需要的基本知识,包括理论部分及实验部分的基础知识。
2、需求分析
根据课设题目进行需求分析,各小组组织召开需求分析研讨会,充分挖掘潜在的需求。
3、设计阶段
根据需求分析,进行系统设计,可以分为两步: (1)概要设计
概要设计主要完成系统软件模块的划分,给出软件总体框图,分析数据之间的关系,确定所需要的数据结构。
(2)详细设计
详细设计阶段针对概要设计所划分出的软件模块,设计函数原型、数据结构,确定函数之间的接口,并细化每个函数的设计,给出函数的流程图。
4、编码阶段
根据设计阶段所提交的系统设计说明书,编写程序。要注意采用统一的编程规范,注重代码的合理注释;在保证功能的基础上,提高算法的效率。
5、程序调试
利用实验室的实验箱,对所编写的代码进行调试,从而实现在需求分析说明书中所提出的需求。在调试过程中,应将所遇到的问题记录下来,分析产生的原因,提出解决的办法。
6、撰写课设综合论文及答辩课件
综合课程各步所得成果,对课程进行总结,撰写设计论文,并撰写答辩PPT,准备答辩。
四、课程设计参考题目
要求以下各课题都基于嵌入式Linux操作系统来设计。
1、串口驱动程序的设计(字符设备驱动)
(1)课程设计目的
通过本课程设计,了解串口驱动程序的架构及编程方法,掌握串口的使用方法。
(2)课程设计要求
本课题所设计的系统要求实现以下功能。
●理解基于Linux的嵌入式系统交叉开发环境,对嵌入式系统的开发流程有
详细的了解;
●掌握开发工具链的构建方法,能独立进行系统开发操作; ●掌握Linux的常用命令,在linux系统下能熟练的使用这些常用命令;
●熟悉linux内核的知识以及原理,掌握定制Linux内核的方法;
●基于Linux操作系统,以及GEC2440实验箱一套,编写串口驱动程序,把
串口挂载目标板上并通过串口进行通信。
(3)课题人数:4人
2、USB接口驱动程序的设计(块设备驱动)
(1)课程设计目的
掌握Linux 系统下USB 内核及USB 主控制器驱动模块的配置及编译,了解Linux 系统下USB 主机的软件结构,掌握在GEC2440B 教学试验箱下的U 盘的使用方法。。
2.了解Linux 系统下USB 主机的软件结构。
(2)课程设计要求
本课题所设计的系统要求实现以下功能。
●理解基于Linux的嵌入式系统交叉开发环境,对嵌入式系统的开发流程有
详细的了解;
●掌握开发工具链的构建方法,能独立进行系统开发操作;
●掌握Linux的常用命令,在linux系统下能熟练的使用这些常用命令;
●熟悉linux内核的知识以及原理,掌握定制Linux内核的方法;
●基于Linux操作系统,以及GEC2440实验箱一套,编写USB驱动程序,
把USB挂载目标板上并进行文件读写操作测试。
(3)课题人数:4人
3、有线网卡驱动程序的设计(网络设备)
(1)课程设计目的
掌握基本的网络设备的驱动程序设计,熟悉常用网络服务,熟悉常用网络服务。 (2)课程设计要求
本课题所设计的系统要求实现以下功能。
●理解基于Linux的嵌入式系统交叉开发环境,对嵌入式系统的开发流程有
详细的了解;
●掌握开发工具链的构建方法,能独立进行系统开发操作;
●掌握Linux的常用命令,在linux系统下能熟练的使用这些常用命令;
●熟悉linux内核的知识以及原理,掌握定制Linux内核的方法;
●基于Linux操作系统,以及GEC2440实验箱一套,编写有线网卡驱动程序;
●学习linux 内核中对网卡驱动进行配置,对根文件系统和应用程序的相应
文件进行配置。
(3)课题人数:4人
4、网络聊天程序的设计
网络聊天程序是目前应用极为广泛的一种网络软件,对于方便人们的交流沟通非常有效,同时,作为一种典型的网络应用,编写网络聊天程序是学习基于Linux 的网络编程的有效方法。
(1)课程设计目的
本课题设计是在使用Linux线程和Socket接口的基础上,编写网络聊天程序,从而掌握Linux应用程序开发的基本方法,练习Linux线程及Socket编程的方法,从而将所学知识融会贯通。
(2)课程设计要求
本课题所设计的系统要求实现以下功能。
●实现在服务器的控制下,完成多人聊天,鉴于实验条件的限制,采用单机
多终端模拟方式。
●在服务器端,使用多线程机制,为多个用户服务。
●服务器能够对要求接入的客户端进行身份识别,完成聊天数据的转发,并
能够将不同用户聊天记录存档。
●要求给出编译所用到的Makefile文件。
(3)课题人数:4人
5、守护进程的设计
守护进程是Linux中一类特殊的进程,是实现系统服务的常见方式,也是需要长时间运行于后台的用户程序所常采用的一种形式,因此,学习如何编写守护进程,对于全面掌握Linux程序设计具有重要意义。
(1)课程设计目的
本课程设计在掌握Linux进程的创建的基础上,掌握守护进程的实现方式,掌握文件的操作方法,还应掌握日志文件的操作方法。
(2)课程设计要求
●实现守护进程功能。
●每隔10秒将当前运行的进程信息记录到日志文件中。
●创建进程,将上述信息在屏幕上显示出来。
●要求给出编译所用到的Makefile文件。
(3)课题人数:4人
6、多进程程序的设计
嵌入式系统软件的实时性是其非常重要的特性,采用多进程设计可以提高系统的效率,增强系统的实时性,因此,掌握多进程编程,是学习嵌入式Linux必须达到的目标
(1)课程设计目的
本课程设计通过设计多进程程序,掌握创建多进程的方法,掌握通过有名管道实现进程之间的通信,掌握进程中运行现有程序的方法。
(2)课程设计要求
本课题所设计的系统要求实现以下功能。
●创建子进程1及子进程2。
●子进程1创建子进程A、B,子进程1等待子进程A、B退出后退出。 ●子进程A、B之间通过有名管道FIFO1进行通信,实现生产者-消费者功能。
●子进程2创建子进程C、D,子进程C运行“ls –l”命令,子进程D通过有
名管道FIFO1作为消费者与进程A通信。
●要求给出编译所用到的Makefile文件。
(3)课题人数:4人
7、进程通信机制的应用
进程管理是操作系统的重要功能,进程之间要完成相互之间的同步与互斥,实现相互之间的通信,Linux中有多种进程间通信的方式,掌握进程间通信程序的设计,是开发多进程实时应用软件必须的目标。
(1)课程设计目的
通过本课程设计,掌握进程的创建方法,掌握消息队列、信号量等通信机制的实现方法。
(2)课程设计要求
本课题所设计的系统要求实现以下功能。
●编写3段程序,分别使用1个终端运行它们,使用下面的通信机制完成所需
功能。
●程序1:接受用户输入的信息,包括:help、alarm1、alarm2、quit,并将
这些信息分别发送给程序2和程序3。
●程序2与程序1通过消息队列1进行通信,当收到help信息后,打开帮助
文件helpfile,读取其中的内容,显示出来;当收到quit后,退出程序。
●程序3创建2个子进程。程序3与程序1通过消息队列2进行通信,当收到
alarm1时,通过信号量1通知子进程1报警(向屏幕输出报警信息);当收 到alarm2时,通过信号量2通知子进程2报警(向屏幕输出报警信息)。
●要求给出编译所用到的Makefile文件。
(3)课题人数:4人
8、读者-写者问题
一个数据文件可以被多个进程共享,其中,有些进程要求读(reader进程),而另一些进程要求对数据进行写或修改(writer进程)。允许多个reader进程同时读一个共享对象,因为读操作不会使数据文件混乱,但绝不允许一个writer进程和其他reader进程或writer进程同时访问共享对象。所谓“读者-写者问题”是指保证一个writer进程必须与其他进程互斥访问共享对象的同步问题。
(1)课程设计目的
通过本课程设计,要求掌握Linux进程的创建方法,掌握文件的操作方法,掌握信号量的使用方法。
(2)课程设计要求
本课题所设计的系统要求实现以下功能。
●创建一个文件sharefile作为共享数据存放的文件。
●创建2个reader进程及2个writer进程,4个进程共享使用文件sharefile。
●使用信号量机制,编写“读者-写者问题”的实现代码,使得每个writer进
程与其他进程互斥访问共享文件sharefile。
●要求给出编译所用到的makefile文件。
(3)课题人数:1人
9、过桥问题
一座小桥(最多只能承重2个人)横跨南北两岸,任意时刻同一方向只允许一个人过桥,南侧桥段和北侧桥段较窄只能通过一人,桥中央一处宽敞,允许两个人通过或歇息。因此,过桥问题就是采用某种机制,使得两岸的人可以顺利地过桥,同时又能保证桥的安全性。
(1)课程设计目的