嵌入式课程设计基于ARM9的视频监控系统讲解_第1页
嵌入式课程设计基于ARM9的视频监控系统讲解_第2页
嵌入式课程设计基于ARM9的视频监控系统讲解_第3页
嵌入式课程设计基于ARM9的视频监控系统讲解_第4页
嵌入式课程设计基于ARM9的视频监控系统讲解_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

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

文档简介

1、第I页课程设计说明书基于 ARM9的视频监控系统摘要论述了基于 ARM 微核的微处理器上的嵌入式 Linux 操作系统的移植技术 ,结合具体实例 给出了在特定硬件平台上的实现过程 ,并且详细说明了如何建立交叉开发环境的方法。 对 其他嵌入式操作系统的开发同样具有参考意义。关键词 :操作系统 ;ARM;LinuxAbstractPortingtechniqueofembeddedLinuxoperatingsystembasedonARMisdiscussedinthispaper.Thep ortingprocessonthespecialhardwareplatformisimplement

2、edandcross2compileenvironmentisbui ldedwiththeconcreteexamples.TheembeddedLinuxportingishelpfultoexploitotherembededoper atingsystem.Keywords: operatingsystem;ARM;Linux第 II 页课程设计说明书目录1. 课程设计目的 12. 课程设计题目描述和要求 12.1 设计的意义 12.2 设计实现功能要求 12.3 设计用到的设备 13. 课程设计报告内容 23.1系统的工作原理 23.2 建立 Linux 开发环境 23.2.1安装

3、Fedora9.0 23.2.2建立交叉编译环境 23.2.3解压安装源代码和工具 33.2.4配置网络文件系统 NFS服务 33.3 定制 Linux 内核 43.4 制作目标文件系统映象 113.5 移植 bootloader 113.6 移植 Linux 内核 123.7 移植根文件系统 13总 结 14参考文献 15课程设计说明书1. 课程设计目的1) 掌握 Linux 开发坏境的搭建;2) 了解 Linux 内核的配置和文件系统的制作;3) 掌握 bootloader 、内核和文件系统的移植;4) 巩固本学期所学的关于“嵌入式 Linux 操作系统”方面的知识。2. 课程设计题目描述

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

5、打下坚实的基础 1。2.2 设计实现功能要求1) 利用 USB 摄像头进行采集图像数据的采集;2) 利用 S3C2440 对所采集到图像数据进行压缩;3) 通过以太网卡模块将压缩后的图像信息发送到网络上2.3 设计用到的设备1) 带有串口和并口的计算机2) 友善之臂开发板3) USB摄像头4) JTAG调试器5) 串口线课程设计说明书3. 课程设计报告内容3.1 系统的工作原理系统可以分为 4 个模块:图像采集模块、 图像存储模块、图像处理与系统控制模块、 图像数据发送模块。系统在S3C2440 的控制下从 USB 摄像头采集图像数据, 然后经过DMA 方式将图像数据传输到内存缓冲区中, 由软

6、件将图像数据读出并对图像数据进行压缩和 打包处理后存入 Flash 中, 最后经过以太网络发送到远程接收端服务器。本系统的设 计难点是如何保证内存中图像数据的读取与 USB 摄像头的同步以及图像数据的实时处 理。系统采用 S3C2440 作为嵌入式处理器, 由于 S3C2440 高达 400MHz 的处理能力,完 全可以完成图像数据的实时处理需求, 比一般采用添加图像硬件处理模块减少了系统的 成本2。3.2 建立 Linux 开发环境3.2.1 安装 Fedora9.03.2.2 建立交叉编译环境搭建交叉编译环境是嵌入式开发的第一步,也是必备的一步。搭建交叉环境的方法 很多,不同的体系结构、不

7、同的操作内容甚至是不同版本的内核,都会用到不用的交叉 编译器,选择合适的交叉编译器对于嵌入式开发是非常重要的。由于我们本次用到的是 linux 内核,故我们选择了编译器 arm-linux-gcc-4.3.23 。以下安装交叉编译器的 步骤:1、下载交叉编译器 arm-linux-gcc-4.3.2,下载地址: /download/projects/toolchain/arm-linux-gcc-4.3.2.tar.bz22、复制 arm-linux-gcc-4.3.2.tar.bz2 到目录 tmp/下并解压:# cd /tmp

8、# tar xvzf arm-linux-gcc-4.3.2.tar.bz23、把编译器路径加入系统环境变量,运行命令#gedit /root/.bashrc课程设计说明书编辑 /root/.bashrc 文件,在最后一行设置:export PATH=$PATH:/usr/local/arm/4.3.2/bin3.2.3 解压安装源代码和工具1、下载 linux 内核源代码下载地址: /pub/linux/kernel/v2.6/linux-.tar.gz2、复制内核代码至目录 /tmp/linux 并解压# tar x

9、vzf linux-.tar.gz3、解压目标文件系统 这里我们使用现有的根文件系统资源 root_qtopia-20100108.tgz,将它复制至目录 /usr/src 并解压# tar xvzf root_qtopia-20100108.tgz4、安装目标文件系统映象制作工具 mkyaffs2image要把上一步中的 root_qtopia 目录烧写入目标板中使用, 就需要使用相应的 mkyaffs2image 工具,它是一个命令行的程序,使用它可以把主机上的目标文件系统目 录制作成一个映象文件,以烧写到开发板中 4 。#tar xvzf /tmp/linux/mkyaf

10、fs2image.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 表示允许挂接此

11、目录的客户机享有该主 机的root 身份 52、启动 NFS 服务课程设计说明书在命令行下运行:#/etc/init.d/nfs start3.3 定制 Linux 内核Linux 内核是一个社区共同开发的作品,具备一个现代操作系统的所有功能,并能 对绝大多数硬件提供支持。然而,我们本次设计有很多功能都没有用到的,为了尽可能 减少编译出来的内核体积,在配置内核时,只需要配置需要用到的模块。常用的配置内 核的方法有 make config ,make menuconfig和 make xconfig 这里我们使用最广泛的 make menuconfig6 。执行“ make menuconfig

12、”,可进入配置内核界面:1、配置 CPU平台选项在主菜单里面,选择 System Type,按回车进入 , 使用上下方向控制键一直找到 S3C2440 机器平台选项,可以进入 S3C2400 Machines 子菜单, 可以看到里面有很多常见的使用 S3C2440 的目标板平台选项,在此选“ FriendlyARM Mini2440 development board ”7课程设计说明书2、配置万能驱动 USB摄像头在 Device Drivers 菜单里面,选择 Multimedia devices,回车进入 ,选择如图“* ”号选项,并选择 Video capture adapters 进

13、入出现如图菜单,找到如图选项并进入课程设计说明书第 6 页出现如图菜单,选择如图“ * ”号选项,再选 GSPCA based webcams进 入这里我们选择所有类型 USB 摄像头的支持课程设计说明书1) 配置网卡驱动要配置网卡驱动,首先要配置网络协议支持 . 在主菜单中,选择 Netwoking support,回车进入子菜单 , 选择 Networking options 并进入下一级菜单 , 如图配置选项课程设计说明书选择完毕,一直退回到主菜单,并选择进入 Device Drivers 菜单。找到 Network device support,选择进入下一级菜单 , 找到并进入 Et

14、hernet (10 or 100Mbit) 选项 8, 选中: Generic Media Independent Interface device support DM9000 support2) 配置串口驱动在 Character devices 菜单中,选择进入 Serial drivers - - -,选择如图选项,来配置串口 驱动课程设计说明书3) 配置 yaff2s 文件系统的支持要使用 yaffs2 文件系统,需要先配置 nand flash 驱动支持,在 Device drivers 菜单中选 择MTD 选项,按回车进入 , 找到 NAND Device Support 选项

15、并进入 , 如图选择 NandFlash 驱动支持课程设计说明书第 10 页filesystems 并进入 , 再找到 YAFFS2 支持选项,如图选择返回到内核配置主菜单,找到 File systems 选项进入 , 然后找到选项 Miscellaneous4) 配置 NFS文件系统在 File System 菜单中,选择 Network File Systems 文件系统的支持且进入 , 选择如图 选项,这样配置编译出的内核就可以通过 NFS 启动系统了。第 11 页课程设计说明书完成内核的配置并保存好,接着执行命令 :#make dep;生成依赖文件#make zImage ;生成压缩的

16、内核影象文件3.4 制作目标文件系统映象进入 /opt/FriendlyARM/mini2440 工作目录,执行以下命令: #cd /opt/FriendlyARM/mini2440#mkyaffs2image root_qtopia root_qtopia.img3.5 移植 bootloader(1) 打开 DNW程 序,接上 USB 电缆,根据菜单选择功能号 v 开始下载 supervivi第 12 页课程设计说明书(2) 点击“ USB Port-Transmit/Restore”选项,并选择打开文件 supervivi开始下载。(3) 下载完毕, BIOS 会自动烧写 supervi

17、vi 到 Nand Flash 分区中,并返回到主菜单3.6 移植 Linux 内核(1) 在 BIOS 主菜单中选择功能号 k ,开始下载 linux 内核 zImage第 13 页课程设计说明书(2) 点击“ USB Port-Transmit ”选项,并选择打开相应的内核文件 zImage 开始下载 .(3) 下载完毕, BIOS 会自动烧写内核到 Nand Flash 分区中,并返回到主菜单3.7 移植根文件系统(1) 在 BIOS 主菜单中选择功能号 y,开始下载 yaffs 根文件系统映象文件(2) 点击“ USB Port-Transmit/Restore ” 选项, 并选择打开

18、相应的文件系统映象文 件(3) 下载完毕, BIOS 会自动烧写内核到 Nand Flash 分区中,并返回到主菜单第 14 页课程设计说明书总结本次设计参考了众多书籍及网络上的理论知识,在理解的基础上结合思考及实践, 根据现有的硬件设备,对完整的内核代码进行了相应的裁减,配置出适合我们所设计的 系统的内核。整个过程看似有点按部就班,但真正操作起来并没有那么简单,很多时候 都会出现一些莫名其妙的错误,以致无法进行下一步的操作。这时就需要回归到理论方 面的知识中去,经过多次尝试及同学的帮助才能得以解决。第 15 页课程设计说明书参考文献1 李新峰、何广生。基于 ARM9 的嵌入式 Linux 开发技术。电子工业出版社, 20082 孙天泽。嵌入式 Linux 操作系统。人民邮电出版社。

温馨提示

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

评论

0/150

提交评论