最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

lxm嵌入式Linux操作系统课程设计报告so

来源:动视网 责编:小OO 时间:2025-10-01 18:06:39
文档

lxm嵌入式Linux操作系统课程设计报告so

嵌入式课程设计专业:11级计算机科学与技术班级:1班姓名:刘晓满学号:100304011122指导老师:基于ARM9的视频监控系统1.课程设计目的1)掌握Linux开发坏境的搭建;2)了解Linux内核的配置和文件系统的制作;3)掌握bootloader、内核和文件系统的移植;4)巩固本学期所学的关于“嵌入式Linux操作系统”方面的知识。2.课程设计题目描述和要求2.1设计的意义:伴随着嵌入式技术、图像处理技术和无线网络传输技术的发展,传统模拟视频监控系统和基于PC的远程视频监控系统由于自身
推荐度:
导读嵌入式课程设计专业:11级计算机科学与技术班级:1班姓名:刘晓满学号:100304011122指导老师:基于ARM9的视频监控系统1.课程设计目的1)掌握Linux开发坏境的搭建;2)了解Linux内核的配置和文件系统的制作;3)掌握bootloader、内核和文件系统的移植;4)巩固本学期所学的关于“嵌入式Linux操作系统”方面的知识。2.课程设计题目描述和要求2.1设计的意义:伴随着嵌入式技术、图像处理技术和无线网络传输技术的发展,传统模拟视频监控系统和基于PC的远程视频监控系统由于自身


嵌  入  式

专业:11级计算机科学与技术

班级:1班

姓名:刘晓满

学号:100304011122

指导老师: 

基于ARM9的视频监控系统

1. 课程设计目的

1)掌握Linux开发坏境的搭建;

2)了解Linux内核的配置和文件系统的制作;

3)掌握bootloader、内核和文件系统的移植;

4)巩固本学期所学的关于“嵌入式Linux操作系统”方面的知识。

2. 课程设计题目描述和要求

2.1  设计的意义:

伴随着嵌入式技术、图像处理技术和无线网络传输技术的发展,传统模拟视频监控系统和基于PC的远程视频监控系统由于自身的不足,已经无法满足现代社会应用中不断涌现出来的新需求,于是基于嵌入式技术的无线网络数字视频监控系统就应因而生了。例如远程监控、远程教学、远程医疗诊断、远程购物、远程探视、电视电话会议等应用都迫切需要高质量的网络视频传输的支持。考虑到了所用的硬件设备大部分都已经具备和我们所学到的知识及本身的能力有限,选择基于ARM9的视频监控系统作为我们本次的课程设计题目是比较实际而且比较容易掌握嵌入式开发的基本方法,这也为将来实现无线视频监控系统打下坚实的基础。

2.2  设计实现功能要求:

1)利用USB摄像头进行采集图像数据的采集;

2)利用S3C2440对所采集到图像数据进行压缩;

3)通过以太网卡模块将压缩后的图像信息发送到网络上。

2.3 设计用到的设备

1)带有串口和并口的计算机

2)友善之臂开发板

3)USB摄像头

4)JTAG调试器

5)串口线

3. 课程设计报告内容

3.1系统的工作原理

系统可以分为4 个模块:图像采集模块、图像存储模块、图像处理与系统控制模块、图像数据发送模块。系统在S3C2440 的控制下从USB 摄像头采集图像数据,然后经过DMA 方式将图像数据传输到内存缓冲区中,由软件将图像数据读出并对图像数据进行压缩和打包处理后存入Flash 中, 最后经过以太网络发送到远程接收端服务器。本系统的设计难点是如何保证内存中图像数据的读取与USB 摄像头的同步以及图像数据的实时处理。系统采用S3C2440 作为嵌入式处理器, 由于S3C2440 高达400MHz 的处理能力,完全可以完成图像数据的实时处理需求,比一般采用添加图像硬件处理模块减少了系统的成本。

3.2建立Linux开发环境

3.2.1安装Fedora9.0

3.2.2建立交叉编译环境

搭建交叉编译环境是嵌入式开发的第一步,也是必备的一步。搭建交叉环境的方法很多,不同的体系结构、不同的操作内容甚至是不同版本的内核,都会用到不用的交叉编译器,选择合适的交叉编译器对于嵌入式开发是非常重要的。由于我们本次用到的是linux 2.6.32.2内核,故我们选择了编译器arm-linux-gcc-4.3.2。以下安装交叉编译器的步骤:

1)下载交叉编译器arm-linux-gcc-4.3.2,下载地址:http://www.handhelds.org/download/projects/toolchain/arm-linux-gcc-4.3.2.tar.bz2

2)复制arm-linux-gcc-4.3.2.tar.bz2到目录 tmp/下并解压:

# cd /tmp

# tar xvzf arm-linux-gcc-4.3.2.tar.bz2

3)把编译器路径加入系统环境变量,运行命令

 #gedit /root/.bashrc

编辑/root/.bashrc 文件,在最后一行设置:

export PATH=$PATH:/usr/local/arm/4.3.2/bin

3.2.3解压安装源代码和工具

1)下载linux 2.6.32.2内核源代码

下载地址:http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.32.2.tar.gz

2)复制内核代码至目录/tmp/linux 并解压

# tar –xvzf linux-2.6.32.2.tar.gz

3)解压目标文件系统

这里我们使用现有的根文件系统资源root_qtopia-20100108.tgz,将它复制至目录/usr/src 并解压

# tar –xvzf root_qtopia-20100108.tgz

4)安装目标文件系统映象制作工具mkyaffs2image

要把上一步中的root_qtopia 目录烧写入目标板中使用, 就需要使用相应的mkyaffs2image 工具,它是一个命令行的程序,使用它可以把主机上的目标文件系统目录制作成一个映象文件,以烧写到开发板中。

 #tar xvzf /tmp/linux/mkyaffs2image.tgz –C /

3.2.4配置网络文件系统NFS服务

1)设置共享目录

运行命令 #gedit /etc/exports

编辑 nfs 服务的配置文件,添加以下内容:

/opt/FriendlyARM/mini2440/root_qtopia *(rw,sync,no_root_squash)

其中:/opt/FriendlyARM/mini2440/root_qtopia 表示nfs 共享目录,它可以作为开发板的根文件系统通过nfs 挂接;* 表示所有的客户机都可以挂接此目录rw 表示挂接此目录的客户机对该目录有读写的权力;no_root_squash 表示允许挂接此目录的客户机享有该主机的root 身份

2)启动NFS 服务

在命令行下运行:

#/etc/init.d/nfs start

3.3 定制Linux内核 

Linux 内核是一个社区共同开发的作品,具备一个现代操作系统的所有功能,并能对绝大多数硬件提供支持。然而,我们本次设计有很多功能都没有用到的,为了尽可能减少编译出来的内核体积,在配置内核时,只需要配置需要用到的模块。常用的配置内核的方法有make config ,make menuconfig和make xconfig这里我们使用最广泛的make menuconfig。执行“make menuconfig”,可进入配置内核界面:

1)配置CPU平台选项

在主菜单里面,选择System Type,按回车进入,使用上下方向控制键一直找到 S3C2440 机器平台选项,可以进入 S3C2400 Machines 子菜单,可以看到里面有很多常见的使用 S3C2440 的目标板平台选项,在此选“FriendlyARM Mini2440 development board”

2)配置万能驱动USB摄像头

在Device Drivers 菜单里面,选择 Multimedia devices,回车进入,选择如图“*”号选项,并选择Video capture adapters 进入

出现如图菜单,找到如图选项并进入

出现如图菜单,选择如图“*”号选项,再选GSPCA based webcams 进入

这里我们选择所有类型USB 摄像头的支持

3)配置网卡驱动

要配置网卡驱动,首先要配置网络协议支持.在主菜单中,选择 Netwoking support,回车进入子菜单, 选择 Networking options 并进入下一级菜单,如图配置选项

选择完毕,一直退回到主菜单,并选择进入 Device Drivers 菜单。找到 Network device support,选择进入下一级菜单, 找到并进入 Ethernet (10 or 100Mbit) 选项, 选中:

<*> Generic Media Independent Interface device support

<*> DM9000 support

4)配置串口驱动

在 Character devices 菜单中,选择进入Serial drivers - - ->,选择如图选项,来配置串口驱动

5)配置yaff2s文件系统的支持

要使用 yaffs2 文件系统,需要先配置nand flash 驱动支持,在Device drivers 菜单中选择MTD 选项,按回车进入,找到 NAND Device Support 选项并进入,如图选择 Nand Flash 驱动支持

返回到内核配置主菜单,找到 File systems 选项进入,然后找到选项 Miscellaneous filesystems 并进入,再找到 YAFFS2 支持选项,如图选择

6)配置NFS文件系统

在 File System 菜单中,选择Network File Systems 文件系统的支持且进入, 选择如图选项,这样配置编译出的内核就可以通过 NFS 启动系统了。

完成内核的配置并保存好,接着执行命令:

#make dep       ;生成依赖文件

#make zImage    ;生成压缩的内核影象文件

3.4 制作目标文件系统映象

进入/opt/FriendlyARM/mini2440 工作目录,执行以下命令:

#cd /opt/FriendlyARM/mini2440

#mkyaffs2image root_qtopia root_qtopia.img

3.5 移植bootloader

(1) 打开DNW 程序,接上USB 电缆,根据菜单选择功能号[v]开始下载supervivi

(2)点击“USB Port->Transmit/Restore”选项,并选择打开文件supervivi开始下载。

(3)下载完毕,BIOS 会自动烧写supervivi 到Nand Flash 分区中,并返回到主菜单。

3.6 移植Linux内核

(1)在BIOS 主菜单中选择功能号[k],开始下载linux 内核zImage

(2) 点击“USB Port->Transmit”选项,并选择打开相应的内核文件zImage开始下载.

(3) 下载完毕,BIOS 会自动烧写内核到Nand Flash 分区中,并返回到主菜单

3.7移植根文件系统

(1)在BIOS 主菜单中选择功能号[y],开始下载yaffs 根文件系统映象文件

(2) 点击“ USB Port->Transmit/Restore ” 选项, 并选择打开相应的文件系统映象文件

root_qtopia.img开始下载。

(3)下载完毕,BIOS 会自动烧写内核到Nand Flash 分区中,并返回到主菜单

4.小结

在网上可以找到很多关于视频监控方面的资料,甚至是现成的设计论文,我们本次设计参考了众多书籍及网络上的理论知识,在理解的基础上结合思考及实践,根据现有的硬件设备,对完整的内核代码进行了相应的裁减,配置出适合我们所设计的系统的内核。整个过程看似有点按部就班,但真正操作起来并没有那么简单,很多时候都会出现一些莫名其妙的错误,以致无法进行下一步的操作。这时就需要回归到理论方面的知识中去,经过多次尝试及同学的帮助才能得以解决。

参考文献:

[1]李新峰、何广生、赵秀文。基于ARM9的嵌入式Linux开发技术。电子工业出版社,2008

[2]孙天泽。嵌入式Linux操作系统。人民邮电出版社。2009

[3]ARM9 Linux 实验教程。深圳英蓓特公司出品,2005

[4]杨水清、张剑、施云飞。ARM嵌入式Linux系统开发技术详解。电子工业出版社,2008

[5]俞建新、王健、宋健建。嵌入式系统基础教程。机械工业出版社,2009

文档

lxm嵌入式Linux操作系统课程设计报告so

嵌入式课程设计专业:11级计算机科学与技术班级:1班姓名:刘晓满学号:100304011122指导老师:基于ARM9的视频监控系统1.课程设计目的1)掌握Linux开发坏境的搭建;2)了解Linux内核的配置和文件系统的制作;3)掌握bootloader、内核和文件系统的移植;4)巩固本学期所学的关于“嵌入式Linux操作系统”方面的知识。2.课程设计题目描述和要求2.1设计的意义:伴随着嵌入式技术、图像处理技术和无线网络传输技术的发展,传统模拟视频监控系统和基于PC的远程视频监控系统由于自身
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top