《嵌入式操作系统》课程设计.docx

上传人:b****3 文档编号:6543771 上传时间:2023-05-10 格式:DOCX 页数:10 大小:45.31KB
下载 相关 举报
《嵌入式操作系统》课程设计.docx_第1页
第1页 / 共10页
《嵌入式操作系统》课程设计.docx_第2页
第2页 / 共10页
《嵌入式操作系统》课程设计.docx_第3页
第3页 / 共10页
《嵌入式操作系统》课程设计.docx_第4页
第4页 / 共10页
《嵌入式操作系统》课程设计.docx_第5页
第5页 / 共10页
《嵌入式操作系统》课程设计.docx_第6页
第6页 / 共10页
《嵌入式操作系统》课程设计.docx_第7页
第7页 / 共10页
《嵌入式操作系统》课程设计.docx_第8页
第8页 / 共10页
《嵌入式操作系统》课程设计.docx_第9页
第9页 / 共10页
《嵌入式操作系统》课程设计.docx_第10页
第10页 / 共10页
亲,该文档总共10页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

《嵌入式操作系统》课程设计.docx

《《嵌入式操作系统》课程设计.docx》由会员分享,可在线阅读,更多相关《《嵌入式操作系统》课程设计.docx(10页珍藏版)》请在冰点文库上搜索。

《嵌入式操作系统》课程设计.docx

《嵌入式操作系统》课程设计

 

《嵌入式操作系统》

课程设计指导书

专业:

计算机科学与技术

专业方向:

计算机科学与技术

 

计算机科学与工程学院

第一章课程设计指导书

1、目的任务

本设计的目的在于使学生全面理解实践已学的相关课程内容,深刻理解嵌入式系统开发的全过程。

从硬件的角度掌握嵌入式开发板的组成,接口部件的结构和与宿主机间的连接,从软件的角度掌握嵌入式系统软件开发的全过程。

使学生通过自己的实践,初步了解和掌握一个实用嵌入式系统的开发步骤,综合应用所学的基础知识和编程手段独立完成嵌入式系统开发的基础内容。

2、设计内容

基础实验(必做)——嵌入式系统开发环境搭建

扩展实验(从以下三个实验中任选一个)

实验一——利用Autotools工具自动生成Makefile文件

实验二——使用BusyBox制作根文件系统

实验三——使用GTK+进行图形界面编程

3、时间安排

时间:

第17周

第一天确定题目、查找相关资料,安装系统;第二到第四天为实验和程序设计、完善总结、撰写报告,第五天答辩。

4、工作要求

(1)爱护实验开发板,为避免烧坏开发板,对开发板的任何插拔工作,都必须在断电之后进行。

(2)明确实验要求和步骤,在进行实验之前详细阅读开发板配套手册和相关资料。

(3)在本设计过程中,学生应随时做实习笔记,记录每天的工作内容及结果,同时还应规划出次日的实习计划与解决问题的方案。

5、成绩评定

设计结束时,由指导老师对学生进行全面考核,评分按五级分制(优、良、中、及格、不及格)评定成绩,评分依据以下几个方面。

(1)平时成绩

包括遵守纪律情况,实习中的工作态度,实习日记的记录情况等。

(2)设计中实验结果的成绩

教师要把关,确认实验结果是由实验人做出的。

如不能按设计要求做出实验结果的,要予以扣分;对于有创新的实验及结果者,应给予好的成绩。

对于以下情况之一者,要严格进行处理。

1.照抄他人,自己没有消化者,应给予“不及格”。

2.严重迟到早退,应给予“不及格”。

3.实习不认真,违反实验室规定者,应给予“不及格”。

4.缺勤大于整个工作时间的25%以上者,应给予“不及格”。

5.实习报告不认真者,至少不能给“优”和“良”的成绩。

6、参考资料

(1)熊茂华、熊昕编著.嵌入式Linux实时操作系统及应用编程.清华大学出版社.2011年5月第1版

(2)深圳友坚恒天科技公司开发板配套光盘中用户手册:

idea6410开发板linux使用手册

ubuntu-UserManual_v0.18

UT6410-Android2.1_manual

(3)相关国嵌、申嵌视频资料

7、设计说明书(报告)

(1)正文:

正文内容层次序号为:

1、1.1、1.1.1……。

正文内容一般为:

1.选题背景:

说明本课题应解决的主要问题及应达到的技术要求;简述本设计的指导思想。

2.方案论证:

说明设计原理并进行方案选择,阐明为什么要选择这个设计方案以及所采用方案的特点。

3.过程(设计或实验)论述:

对设计工作的详细表述。

要求层次分明、表达确切。

4.结果分析:

对研究过程中所获得的主要的数据、现象进行定性或定量分析,得出结论和推论。

5.结论或总结:

对整个研究工作进行归纳和综合。

(2)图纸要求:

图面整洁,布局合理,线条粗细均匀,圆弧连接光滑,尺寸标注规范,文字注释必须使用工程字书写。

提倡学生使用计算机绘图。

(3)曲线图表要求:

所有曲线、图表、线路图、流程图、程序框图、示意图等不准徒手画,必须按国家规定标准或工程要求绘制(应尽可能采用计算机辅助绘图)。

课程设计说明书(报告)要求文字通顺,语言流畅,无错别字,不得使用铅笔书写。

按教务处印制的统一格式封皮装订。

有条件的可用B5纸打印。

课程设计说明书(报告)中图表、公式一律采用阿拉伯数字连续编号。

图序及图名置于图的下方;表序及表名置于表的上方;说明书(报告)中的公式编号,用括号括起来写在右边行末,其间不加虚线。

第二章嵌入式系统开发流程

2.1嵌入式系统开发的一般流程

当前,嵌入式开发已经逐步规范化,在遵循一般工程开发流程的基础上,嵌入式开发有其自身的一些特点,下图为嵌入式系统开发的一般流程。

主要包括系统需求分析(要求有严格规范的技术要求)、体系结构设计、硬件/软件设计、系统集成、系统测试,最终发布产品。

2.1.1.系统需求分析

确定设计任务和设计目标,并提炼出设计规格说明书,作为正式设计指导和验收的标准。

系统的需求一般分功能性需求和非功能性需求两方面。

功能性需求是系统要实现的基本功能,如输入输出信号、操作方式等;非功能性需求包括系统性能、成本、功耗、体积、重量等因素。

2.1.2.体系结构设计

描述系统如何实现所述的功能性和非功能性需求,包括对硬件、软件和执行装置的功能划分以及系统的软件、硬件选型等。

一个好的体系结构是设计成功与否的关键。

2.1.3.硬件/软件协同设计(硬件、软件、执行装置并行设计)

基于体系结构,对系统的软件、硬件进行详细设计。

为了缩短产品开发周期,设计往往是并行的。

嵌入式系统设计的大部分工作集中在软件设计上,采用面向对象技术、软件组件技术、模块化设计是现代软件工程经常采用的方法。

2.1.4.系统集成

把系统的软件、硬件和执行装置集成在一起,进行调试,发现并改进单元设计过程中的错误。

2.1.5.系统测试

对设计好的系统进行测试,检查是否满足规格说明书中给定的功能要求。

嵌入式系统开发模式最大特点是软件、硬件综合开发。

这是因为嵌入式产品是软硬件的结合体,软件针对硬件开发、固化、不可修改。

2.2基于Linux的嵌入式系统开发

如果在一个嵌入式系统中使用Linux技术开发,根据应用需求的不同有不同的配置开发方法,但是,一般情况下,在遵照一般嵌入式系统开发流程的同时,都需要经过如下的过程。

2.2.1.开发目标板硬件

设计目标板硬件选型及器件布局。

2.2.2.建立一套交叉编译工具

建立一套交叉编译工具,能够在宿主机上产生目标板上运行的目标代码。

通过网络下载相应的GCC交叉编译器进行安装(比如,arm-1inux-gcc、arm-uclibc-gcc),或者安装产品厂家提供的相关交叉编译器;并配置开发主机,使其与目标板建立通信,配置MINICOM,一般的参数为波特率115200Baud/s,数据位8位,停止位为1,无奇偶校验,软件硬件流控设为无。

在Windows下的超级终端的配置也是这样。

MINICOM软件的作用是作为调试嵌入式开发板的信息输出的监视器和键盘输入的工具。

配置网络主要是配置NFS网络文件系统,需要关闭防火墙,简化嵌入式网络调试环境设置过程。

 

2.2.3.移植一个合适的引导加载程序到目标板上,用于初始化目标板和加载内核

从网络上下载一些公开源代码的BOOTLOADER,如U-BOOT、VIVI、ARM-BOOT等,根据具体芯片进行移植修改。

有些芯片没有内置引导装载程序,就需要编写开发板上FLASH的烧写程序,可以在网上下载相应的烧写程序,也有Linux下的公开源代码的J-FLASH程序。

如果不能烧写自己的开发板,就需要根据自己的具体电路进行源代码修改。

这是让系统可以正常运行的第一步。

如果用户购买了厂家的仿真器比较容易烧写FLASH,虽然无法了解其中的核心技术,但对于需要迅速开发自己的应用的人来说可以极大提高开发速度。

 

2.2.4.移植一个合适的Linux内核到目标板上

如果有专门针对所使用的CPU移植好的Linux操作系统那是再好不过,下载后再添加特定硬件的驱动程序,然后进行调试修改,对于带MMU的CPU可以使用模块方式调试驱动,否则只能编译进内核进行调试。

2.2.5.建立一个根文件系统

可以从http:

//下载使用BUSYBOX软件进行功能裁减,产生一个最基本的根文件系统,再根据自己的应用需要添加其他的程序。

由于默认的启动脚本一般都不会符合应用的需要,所以就要修改根文件系统中的启动脚本,它的存放位置位于/etc目录下,包括:

/etc/init.d/rc.S、/etc/profile、/etc/.profile等,自动挂装文件系统的配置文件/etc/fstab,具体情况会随系统不同而不同。

根文件系统在嵌入式系统中一般设为只读,需要使用mkcramfsgenromfs等工具产生烧写映像文件。

2.2.6.开发特定外设的驱动程序

为特定外设编写驱动程序并添加进内核运行。

2.2.7.开发上层的应用程序

开发上层应用程序之后,可以将其放入根文件系统中运行,也可以放入YAFFS、JFFS2文件系统中,有的开发不使用根文件系统,也可直接将应用程序和内核设计在一起。

第三章课程设计内容

基础实验嵌入式系统开发环境搭建

一、实验目的

对嵌入式系统开发而言,配置宿主机-目标板开发环境、建立合适的开发工具链、对内核进行配置和移植等工作是进一步进行上层应用程序开发的不可或缺的重要步骤。

当前Internet上具有丰富的Linux相关开发源代码可供用户下载和使用,其中包括编译器等开发工具链,各种协议的支持软件工具,以及操作系统自身。

如何使用这些资源是本实验的重要内容。

通过本实验,旨在使学生能够:

1.掌握开发主机与嵌入式开发板通信的方法

2.掌握嵌入式开发工具链的构造过程

3.掌握烧写镜像文件到开发板的方法

4.掌握相关镜像文件配置和编译的过程

二、实验环境要求

1)开发板准备:

1.Idea6410开发板

2.交叉串口线(双母头):

用于连接开发板COM0和PC机COM口进行调试用

3.USB数据线:

用于下载镜像

4.电源适配器:

用于给开发板供电

5.SD卡:

用于初次烧写时,从SD启动

6.USB接口SD读卡器:

用于在PC端烧写启动代码至SD卡中

2)主机环境准备:

在虚拟机VMware中安装ubuntu10.04

三、实验准备

1.参照手册UT6410-Android2.1_manual和Ubuntu安装资料中方法在虚拟机VMware中安装ubuntu10.04

2.学习“【申嵌视频】1体验篇”视频,参照“【申嵌视频】1体验篇”中视频的开发板连线方法将目标板与主机相连

四、实验步骤

1.开发主机和嵌入式开发板间的通信

嵌入式内核和应用软件经过编译和链接后,可以下载到嵌入式系统中,同时在程序运行过程中需要用户通过控制终端输入命令,并向用户显示特定信息。

这就需要在开发主机和嵌入式系统之间进行通信。

串行接口是开发主机和嵌入式系统通信的基本手段,可以通过串行接口为嵌入式系统中Linux建立一个控制终端,也可以完成内核和应用程序的下载。

嵌入式系统开发中四种常见串口调试工具有:

超级终端、SecureCRT、DNW、minicom

通过学习“【申嵌视频】1体验篇”视频和相关资料,掌握开发主机和嵌入式开发板间串口的通信的方法。

2.掌握嵌入式开发工具链的构造过程

交叉编译工具链是指在一个体系结构平台下开发另一个平台下运行的程序所需的编译工具集。

目前主机一般采用x86指令系统,而默认的编译器配置是将高级语言程序编译为x86指令系统。

交叉编译工具就是要将高级语言程序编译成为嵌入式系统中特定处理器的指令系统(如ARM指令系统)。

交叉编译工具链包括汇编器,高级语言编译器,连接工具和make工具等。

交叉开发环境的建立实际上就是在通用PC机上安装一个交叉开发工具链,这一过程包括如下步骤:

①创建编译环境,包括准备源文件、建立编译目录、建立内核头文件

②建立二进制工具(binutils)

③建立初始编译器(gcc)

④建立C语言库(glibc)

⑤建立全套编译器

也可直接安装开发板附带光盘中的交叉编译器。

参照“idea6410开发板linux使用手册”和课程设计资料中“s3c6410开发环境配置”进行交叉工具链的安装和环境变量的设置。

3.掌握烧写镜像文件到开发板的方法

嵌入式开发板系统运行需要有bootloader、Linux内核镜像、根文件系统镜像3个部分,参照“idea6410开发板linux使用手册”中“第三章烧写镜像文件到开发板”以及“UT6410-Android2.1_manual”手册中“第五章烧写镜像”和“【申嵌视频】1体验篇”视频内容学习如何将镜像文件烧写到开发板运行。

4.掌握相关镜像文件配置和编译的过程

参照“idea6410开发板linux使用手册”中“第四章编译镜像文件”内容学习u-boot源码包和kernel源码包的编译方法。

五、报告要求

1、简述开发主机与嵌入式开发板通信的方法

2、简述嵌入式开发工具链的构造过程

3、简述烧写镜像文件到开发板的方法

4、简述相关镜像文件配置和编译的过程

5、说明在课程设计过程中遇到的困难和解决方法

 

扩展实验一利用Autotools工具自动生成Makefile文件

一、实验目的

Makefile文件是make工程管理不可缺少的文件,当工程比较庞大时手动建立Makefile文件是不可行的,往往需要借助于相关的工具来实现。

通过本实验,旨在使学生掌握使用Autotools工具自动生成Makefile文件的方法。

二、实验环境要求

主机环境:

在虚拟机VMware中安装ubuntu10.04,Autotools工具

三、实验准备

由于实验环境不能上网,因此我们使用离线安装的方法进行。

①使用ubuntudvd安装盘作为软件源,参照“ubuntudvd软件包读取”中方法,将ubuntudvd安装盘导入,并打开新立得软件包管理器查看添加情况。

如果添加成功,将能够搜索到autotools的相关安装包,使用apt-get命令安装,例如apt-getinstallautotools-dev。

②或参照课程设计资料中“makefile文件的自动生成”中内容,使用apt-getinstallautotools-dev命令在现有环境下安装好autotools。

四、实验步骤

参照教材《嵌入式Linux实时操作系统及应用编程》和课程设计资料中“自动生成Makefile”内容进行。

五、练习

用编辑器至少编写一个.c文件,其中输出你的学号,使用Autotools工具生成对应的makefile文件。

六、报告要求

详细说明练习完成的步骤(包括相应代码的编写和修改,输入的命令等)

 

扩展实验二使用BusyBox制作根文件系统

一、实验目的

根文件系统是Linux内核挂载的第一个文件系统,其中包含系统启动所需的目录、配置文件和一系列Shell命令。

通过本实验,旨在使学生掌握根文件系统制作的方法。

二、实验环境要求

主机环境:

在虚拟机VMware中安装ubuntu10.04

三、实验准备

BusyBox工具

根文件系统相关制作工具(mkyaffsimage或cramfs等)

四、实验步骤

参照教材《嵌入式Linux实时操作系统及应用编程》和课程设计资料中“根文件系统制作”内容进行。

五、练习

制作生成根文件系统。

五、报告要求

说明制作根文件系统的步骤。

 

扩展实验三使用GTK+进行图形界面编程

一、实验目的

通过本实验,旨在使学生掌握GTK+的基本知识,一些基础函数,以及使用GTK+编写一个简单图形界面的方法。

二、实验环境要求

主机环境:

在虚拟机VMware中安装ubuntu10.04,GTK+

三、实验准备

由于实验环境不能上网,因此我们使用离线安装的方法进行。

参照课程设计资料中“gtk+”中内容,使用apt-getinstalllibgtk2.0-dev命令在现有环境下安装好gtk+的相关库。

四、实验步骤

参照教材《嵌入式Linux实时操作系统及应用编程》和课程设计资料中“gtk+”中内容进行。

五、练习

使用GTK+编写一个图形界面,要求至少使用菜单控件、label和按钮。

六、报告要求

详细说明练习完成的步骤(包括相应代码的编写,输入的命令等)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2