嵌入式系统开发技术课程设计指导书.doc_第1页
嵌入式系统开发技术课程设计指导书.doc_第2页
嵌入式系统开发技术课程设计指导书.doc_第3页
嵌入式系统开发技术课程设计指导书.doc_第4页
嵌入式系统开发技术课程设计指导书.doc_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

嵌入式系统开发技术课程设计一、课程设计目的嵌入式系统的教学可以分为课堂理论教学、实验教学和课程设计三个层面。这三个层面的目标有所不同。理论学习的主要目标是掌握嵌入式系统的一般原理,例如实时调度策略、自动控制算法等;实验教学的主要目的是掌握嵌入式系统的主要开发流程和基本方法,例如开发工具链的使用、小型应用开发等;课程设计的主要目的是通过实际的嵌入式应用系统开发实例掌握嵌入式系统设计和开发的技能和专门知识,积累实践和工程经验。二、课程设计要求1、学生按题目分组参加课程设计,要求每个学生有明确的分工,每组成员4-6人;2、必须按照工程化开发流程,撰写相应的文档和代码,最后还必须通过课设答辩。课设成果包括设计文档、程序代码等。文档必须按照规定的格式撰写(具体见“五、课程设计写作细则”,否则必须调整好格式才能参加答辩。3、课设答辩必须撰写PPT,简要阐述所完成的主要工作,自我阐述时间控制在8分钟之内;自我阐述之后,还需回答指导教师所提的2-3个问题。4、考核办法及评分比例:设计文档占30%,程序代码占30%,答辩占20%,考勤占20%。三、课程设计流程1、准备阶段针对题目所涉及的基本实验(详见“四、课程设计参考题目”),进行分析研究,掌握课题所需要的基本知识,包括理论部分及实验部分的基础知识。2、需求分析根据课设题目进行需求分析,各小组组织召开需求分析研讨会,充分挖掘潜在的需求。3、设计阶段根据需求分析,进行系统设计,可以分为两步:(1)概要设计概要设计主要完成系统软件模块的划分,给出软件总体框图,分析数据之间的关系,确定所需要的数据结构。(2)详细设计详细设计阶段针对概要设计所划分出的软件模块,设计函数原型、数据结构,确定函数之间的接口,并细化每个函数的设计,给出函数的流程图。4、编码阶段根据设计阶段所提交的系统设计说明书,编写程序。要注意采用统一的编程规范,注重代码的合理注释;在保证功能的基础上,提高算法的效率。5、程序调试利用实验室的实验箱,对所编写的代码进行调试,从而实现在需求分析说明书中所提出的需求。在调试过程中,应将所遇到的问题记录下来,分析产生的原因,提出解决的办法。6、撰写课设综合论文及答辩课件综合课程各步所得成果,对课程进行总结,撰写设计论文,并撰写答辩PPT,准备答辩。四、课程设计参考题目要求以下各课题都基于嵌入式Linux操作系统来设计。1、网络聊天程序的设计网络聊天程序是目前应用极为广泛的一种网络软件,对于方便人们的交流沟通非常有效,同时,作为一种典型的网络应用,编写网络聊天程序是学习基于Linux的网络编程的有效方法。(1)课程设计目的本课题设计是在使用Linux线程和Socket接口的基础上,编写网络聊天程序,从而掌握Linux应用程序开发的基本方法,练习Linux线程及Socket编程的方法,从而将所学知识融会贯通。(2)课程设计要求本课题所设计的系统要求实现以下功能。l 实现在服务器的控制下,完成多人聊天,鉴于实验条件的限制,采用单机多终端模拟方式。l 在服务器端,使用多线程机制,为多个用户服务。l 服务器能够对要求接入的客户端进行身份识别,完成聊天数据的转发,并能够将不同用户聊天记录存档。l 要求给出编译所用到的makefile文件。(3)课题人数:2人2、守护进程的设计守护进程是Linux中一类特殊的进程,是实现系统服务的常见方式,也是需要长时间运行于后台的用户程序所常采用的一种形式,因此,学习如何编写守护进程,对于全面掌握Linux程序设计具有重要意义。(1)课程设计目的本课程设计在掌握Linux进程的创建的基础上,掌握守护进程的实现方式,掌握文件的操作方法,还应掌握日志文件的操作方法。(2)课程设计要求l 实现守护进程功能。l 每隔10秒将当前运行的进程信息记录到日志文件中。l 创建进程,将上述信息在屏幕上显示出来。l 要求给出编译所用到的makefile文件。(3)课题人数:1人3、多进程程序的设计嵌入式系统软件的实时性是其非常重要的特性,采用多进程设计可以提高系统的效率,增强系统的实时性,因此,掌握多进程编程,是学习嵌入式Linux必须达到的目标(1)课程设计目的本课程设计通过设计多进程程序,掌握创建多进程的方法,掌握通过有名管道实现进程之间的通信,掌握进程中运行现有程序的方法。(2)课程设计要求本课题所设计的系统要求实现以下功能。l 创建子进程1及子进程2。l 子进程1创建子进程A、B,子进程1等待子进程A、B退出后退出。l 子进程A、B之间通过有名管道FIFO1进行通信,实现生产者-消费者功能。l 子进程2创建子进程C、D,子进程C运行“ls l”命令,子进程D通过有名管道FIFO1作为消费者与进程A通信。l 要求给出编译所用到的makefile文件。(3)课题人数:2人4、进程通信机制的应用进程管理是操作系统的重要功能,进程之间要完成相互之间的同步与互斥,实现相互之间的通信,Linux中有多种进程间通信的方式,掌握进程间通信程序的设计,是开发多进程实时应用软件必须的目标。(1)课程设计目的通过本课程设计,掌握进程的创建方法,掌握消息队列、信号量等通信机制的实现方法。(2)课程设计要求本课题所设计的系统要求实现以下功能。l 编写3段程序,分别使用1个终端运行它们,使用下面的通信机制完成所需功能。l 程序1:接受用户输入的信息,包括:help、alarm1、alarm2、quit,并将这些信息分别发送给程序2和程序3。l 程序2与程序1通过消息队列1进行通信,当收到help信息后,打开帮助文件helpfile,读取其中的内容,显示出来;当收到quit后,退出程序。l 程序3创建2个子进程。程序3与程序1通过消息队列2进行通信,当收到alarm1时,通过信号量1通知子进程1报警(向屏幕输出报警信息);当收到alarm2时,通过信号量2通知子进程2报警(向屏幕输出报警信息)。l 要求给出编译所用到的makefile文件。(3)课题人数:3人5、读者-写者问题一个数据文件可以被多个进程共享,其中,有些进程要求读(reader进程),而另一些进程要求对数据进行写或修改(writer进程)。允许多个reader进程同时读一个共享对象,因为读操作不会使数据文件混乱,但绝不允许一个writer进程和其他reader进程或writer进程同时访问共享对象。所谓“读者-写者问题”是指保证一个writer进程必须与其他进程互斥访问共享对象的同步问题。(1)课程设计目的通过本课程设计,要求掌握Linux进程的创建方法,掌握文件的操作方法,掌握信号量的使用方法。(2)课程设计要求本课题所设计的系统要求实现以下功能。l 创建一个文件sharefile作为共享数据存放的文件。l 创建2个reader进程及2个writer进程,4个进程共享使用文件sharefile。l 使用信号量机制,编写“读者-写者问题”的实现代码,使得每个writer进程与其他进程互斥访问共享文件sharefile。l 要求给出编译所用到的makefile文件。(3)课题人数:1人6、过桥问题一座小桥(最多只能承重2个人)横跨南北两岸,任意时刻同一方向只允许一个人过桥,南侧桥段和北侧桥段较窄只能通过一人,桥中央一处宽敞,允许两个人通过或歇息。因此,过桥问题就是采用某种机制,使得两岸的人可以顺利地过桥,同时又能保证桥的安全性。(1)课程设计目的本课题设计根据上述对于过桥问题的描述,使用Linux的信号量机制编程解决该问题。通过本课设掌握Linux进程创建的方法,掌握信号量使用方法。(2)课程设计要求本课题所设计的系统要求实现以下功能。l 编写2段程序,程序1创建3个子进程,分别编号A、B、C,用于模拟从南岸前往北岸的人;程序2创建3个子进程,分别编号C、D、E,用于模拟从北岸前往南岸的人。l 通过向屏幕输出语句模拟过桥过程,如输出“南往北-到桥中间”表示从南岸前往北岸的人到达了桥中间;输出“南往北-到达北岸”表示从南岸前往北岸的人到达了北岸。通过观察输出语句,可以发现过桥时是否发成冲突。l 使用Linux的信号量机制,编写解决过桥问题的代码。l 要求给出编译所用到的makefile文件。(3)课题人数:1人7、和尚挑水问题某寺庙中有小和尚、老和尚若干人。庙内有一水缸,由小和尚提水入缸,供老和尚饮用。水缸可容纳30桶水,每次入水、取水仅为1桶,不可同时进行。水取自同一水井,水井路窄,每次只能容纳一个水桶取水,设水桶个数为5个。和尚挑水问题就是使用某种机制,能够使得若干名老和尚可以顺利地喝到水,若干名小和尚之间能够有条不紊地往水缸中入水。(1)课程设计目的本课题设计根据上述对于和尚挑水问题的描述,使用Linux的信号量机制编程解决该问题。通过本课设掌握Linux进程创建的方法,掌握信号量使用方法。(2)课程设计要求本课题所设计的系统要求实现以下功能。l 编写2段程序,程序1创建3个子进程,分别编号A、B、C,用于模拟3名老和尚;程序2创建3个子进程,分别编号C、D、E,用于模拟3名小和尚。l 通过向屏幕输出语句模拟过桥过程,如输出“目前水缸水量为10桶”表示目前水缸中有存水10桶;输出“小和尚取水成功”表示从水井中成功取到1桶水;输出“小和尚倒1桶水到水缸中”表示小和尚将1桶水倒入水缸中。通过观察输出语句,可以发现执行过程是否发成冲突。l 使用Linux的信号量机制,编写解决和尚挑水问题的代码。l 要求给出编译所用到的makefile文件。(3)课题人数:2人8、图书管理系统设计图书馆通常采用电子化的管理系统,可以有效地提高工作效率,减少人为因素造成的错误,可以促进资源的有效利用。(1)课程设计目的通过本课程设计,掌握C语言应用程序的开发方法,掌握常用数据结构的定义、操作等方法。(2)课程设计要求本课题所设计的系统要求实现以下功能。l 图书管理信息包括:图书名称、图书编号、单价、作者、存在状态、借书人姓名、性别、学号等。l 新进图书基本信息的输入。l 图书基本信息的查询。l 对撤消图书信息的删除。l 为借书人办理注册。l 办理借书手续。l 办理还书手续l 使用二进制文件方式存储数据,系统以菜单方式工作(3)课题人数:3人9、学生成绩记录簿设计学生成绩管理是学校的一项重要工作,采用电子化的管理方式,有助于提高工作效率,方便师生的查询与统计,所以,应用非常广泛。(1)课程设计目的通过本课程设计掌握C语言应用程序的设计方法和步骤,掌握使用C语言对文件的操作方法,掌握常用数据结构的使用方法。(2)课程设计要求本课题所设计的系统要求实现以下功能。l 创建信息链表并以磁盘文件保存;l 读取磁盘文件并显示输出所有学生的成绩;l 按学号或姓名查询成绩;l 添加成绩记录;l 修改指定姓名或学号的学生的成绩并可存盘;l 显示输出60分以下、6079、8089、90分以上各分数段的学生信息(可选项)。(3)课题人数:3人10、职工工作量统计系统设计职工工作量是每个企业进行绩效考核的依据,也影响到职工的实际收入,采用计算机统计和计算工作量,可以减少人为的差错,提高职工的积极性。(1)课程设计目的通过本课程设计掌握C语言应用程序的设计方法和步骤,掌握使用C语言对文件的操作方法,掌握常用数据结构的使用,掌握C语言中简单菜单的编程方法。(2)课程设计要求本课题所设计的系统要求实现以下功能。l 编写有一个程序,该程序输入职工工号和完成的产品数量,程序允许同一职工有多次输入,由程序对其完成的产品数量实现累计。l 程序按完成数量对他们排序,并确定他们的名次。l 按完成的产品数量由多到少的顺序,输出名次、同一名次的职工人数及他们的工号(工号由小到大顺序输出)。l 要求程序用有序链表存储数据信息。(3)课题人数:3人11、销售管理系统设计公司销售管理是一个比较复杂的工作,设计到多种产品,关联到多个销售员,采用计算机来进行管理,可以提高工作效率,避免人为错误,为公司节省管理成本。(1)课程设计目的通过本课程设计掌握C语言应用程序的设计方法和步骤,掌握使用C语言对文件的操作方法,掌握常用数据结构的使用,掌握C语言中简单菜单的编程方法。(2)课程设计要求某公司有四个销售员(编号:1-4),负责销售五种产品(编号:1-5)。每个销售员都将当天出售的每种产品各写一张便条交上来。每张便条包含内容:1)销售员的代号,2)产品的代号,3)这种产品的当天的销售额。每位销售员每天上缴1张便条。试设计一个便条管理系统,使之能提供以下功能:l 系统以菜单方式工作l 便条信息录入功能(便条信息用文件保存)输入l 收集到了上个月的所有便条后,读取销售情况n 计算每个人每种产品的销售额。n 按销售额对销售员进行排序,输出排序结果(销售员代号)(3)课题人数:3人五、课程设计写作细则1、书写格式A4纸打印,正文中任何部分不得超出边框。页面设置:上、下、左2.5厘米,右2厘米。采用单倍行距,标准字符间距,西文、数字等符号采用times new roman字体。论文题目用小2号黑体字如:U-BOOT在嵌入式实验箱上的移植正文:小4号宋体字参考文献:5号宋体字。图表字号:5号宋体字2、标题层次全部标题层次有条不紊,整齐清晰。章节号采用阿拉伯数字编号方法,第一级为1,2,3等,第二级为2.1,2.2,2.3等,第三级为2.1.1,2.1.1等,如此类推。各层标题均单独占行书写第一级标题(章)用3号黑体字,居中。第二级标题(节)用4号黑体字,居左顶格。第三级标题用小4号黑体字,居左顶格。3、页眉页脚页眉:奇数页书写“江西理工大学应用科学学院课程设计”,偶数页书写“姓名:设计题目”,均采用小5号宋体字。页脚:页码居中。4、参考文献书写格式按国标GB7714-87顺序为:序号.著者.文献题名.文献类型标识.出版地.出版者.出版年.起止页码。包括:设计用到的专业课、专业基础课课本,课程设计知道书,工具书,查阅、引用过的书籍、资料,电子文献等。5、公式公式应居中书写,有编号,编号用圆括号包括后放在公式右边行末。6、插图每幅插图应有图序和图题,图题5号字。六、课程设计内容要求1、封面及评分表封面格式内容见下页例。要求封面后的第一页为评分表。2、目录全部标题层次有条不紊,整齐清晰。章节号采用阿拉伯数字编号方法,第一级为1,2,3等,第二级为2.1,2.2,2.3等,第三级为2.1.1,2.1.1等, 标题后应对应开始页码。3、正文正文结构形式不做具体要求,内容可根据不同题目自行调整,但至少包括:A、设计题目B、对设计题目的分析C、按照工程化开发方法对设计课题展开论述,包括需求分析、系统设计(包括概要设计和详细设计)、编码、调试等。D、需求分析部分必须给出功能需求分析、性能需求分析、课题任务目标、输入输出的要求、数据需求、系统运行环境等内容。E、系统设计部分包括概要设计和详细设计两个部分。概要设计要根据需求划分任务模块,给出系统的软件构架图;详细设计要针对每个软件模块设计函数原型,定义入口参数及出口参数,采用流程图或伪代码的形式给出每个函数的流程图,分析模块之间的关系及限定条件等。F、编码部分不应将代码全部贴到正文中,而应将代码放到“6、附录”部分。在设计文档的正文中,可以给出函数之间的调用关系图,简要介绍编码中用到的关键技术等。G、调试及测试部分应论述所设计的调试及测试方案,调试及测试过程中遇到的问题,分析问题产生的原因,给出处理方法。4、总结设计说明书最后要给出设计总结,包括:对设计效果的分析、设计过程的心得体会、设计中发现的问题、关于课程设计的意见建议等。5、参考文献包括:设计用到的专业课、专业基础课课本,课程设计知道书,工具书,查阅、引用过的书籍、资料,电子文献等。6、附录在附录中列出主要程序清单,流程图可保留在正文中。江西理工大学应用科学学院嵌入式系统开发技术课程设计专 业: 班 级: 学 号: 姓 名: 设计题目: 2011年11月课程设计评分表姓 名班 级学 号课设题目指导教师评分项目满分分值得分设计文档(30分)文档格式封面2页面布局4目录格式3图表质量2页眉页脚2文档内容内容完整性6内容逻辑性5内容正确性6程序代码(30分)程序功能15编程规范7编程文档8答辩(20分)课题陈述7问题答辩10是否超时3考勤(20分)20总评成绩指导教师评语签名: 年 月 日教研室意见签名: 年 月 日职工信息管理系统需求分析编写目的:通过对用户需求进行调查分析,写出需求分析文档作为项目设计的基本准则要求,以及作为系统分析员进行系统分析和测试人员进行测试时的手册需求概述:设计一个职工信息管理系统,使之能提供以下功能:1)录入职工信息并保存2)显示所有职工信息3)查询职工信息4)修改职工信息并保存5)删除职工信息需求说明:职工信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,并且要求职工号不重复;录入的职工信息要求用文件形式保存,并可以对其进行浏览、查询、修改、删除等基本操作;职工信息的显式要求有一定的规范格式;对职工信息应能够分别按工资及按学历两种方式进行,要求能返回所有符合条件的职工的信息;对职工信息的修改应逐个地进行,一个职工信息的更改不应影响其他的职工记录;所设计的系统应以菜单方式工作,应为用户提供清晰的使用提示,依据用户的选择来进行各种处理,并要求在此过程中能够尽可能的兼容用户使用过程中的异常情况总体设计编写目的:根据需求分析文档,初步提出问题的解决方案,以及软件系统的体系结构和数据结构的设计方案并写出书面文档总体设计说明书,为下一步进行详细设计做准备。总体设计:1. 1.该系统可以按功能进行模块划分,其模块图如下:系统模块图其中:信息输入模块完成职工信息的输入功能,输入信息包括职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等;信息浏览模块完成已录入职工信息的显示;信息查询模块完成职工信息的查询,查询时对应有按工资查询和按学历查询两种方式;信息修改模块完成职工信息的修改功能;信息删除模块完成职工信息的删除功能;菜单选择模块完成用户命令的接收,此模块也是职工信息管理系统的入口,用户所要进行的各种操作均需在此模块中进行选择并进而调用其他模块实现相应的功能;2. 2. 数据结构本系统中主要的数据结构就是职工的信息,包含职工号、姓名、性别、出生年月、学历、职务、工资、住址、电话等,在处理过程中各项可以作为一个职工的不同属性来进行处理3. 3.程序流程系统的执行应从功能菜单的选择开始,依据用户的选择来进行后续的处理,直到用户选择退出系统为止,其间应对用户的选择做出判断及异常处理。系统的流程图如下:程序流程图详细设计编写目的:根据项目概要设计说明书,在项目概要设计的基础之上,对系统进行详细设计,以便下一步进行程序编码工作。详细设计:对应于总体设计时的系统功能模块图,各个功能模块的处理逻辑如下: 信息输入模块:打开职工信息文件;while (继续输入 ) 读入职工信息;将读入信息添加到职工信息文件中;提示是否继续输入;关闭职工信息文件; 信息浏览模块:打开职工信息文件;while ( 不到文件结束 ) 从文件中顺序读出一个职工的信息;按指定格式输出该职工的信息;关闭职工信息文件; 信息查询模块:while ( 仍继续查询 ) if( 按工资查询 ) 读入查询的职工工资条件; 打开职工信息文件;while( 不到文件结束 ) 顺序读出一个职工的信息;if( 该职工信息的工资符合条件 ) 输出该职工的信息;关闭职工信息文件;提示共有几条符合条件的记录; else if ( 按学历查询 ) 读入学历查询的条件; 打开职工信息文件;while( 不到文件结束 ) 顺序读出一个职工的信息;if( 该职工信息的学历符合条件 ) 输出该职工的信息;关闭职工信息文件;提示符合条件的记录数; else 提示输入不合适;提示是否继续查询; 信息修改模块:while( 继续修改 )从给出信

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论