嵌入式dvr系统设计_毕业设计论文(编辑修改稿)内容摘要:

都有不同的 bootloader的发展也趋于支持多种体系结构,现在比较成熟的有一下几种: (1)vivi vivi是由韩国 Mizi公司专门针对基于 ARM处理器的嵌入式系统开发的一种 Boot Loader, 因为 VIVI 目前只支持使用串口和主机通信,所以必须使用一条串口电缆来连接目标板和主机。 VIVI一 般有如下作用。 1) 把内核( kernel)从 Flash复制到 RAM,然后启动它; 2) 初始化硬件; 3) 下载程序并写入 Flash; 4) 检测目标板。 (2)RedBoot RedBoot也称红帽子嵌入式调试引导程序。 RedBoot 是一个专门为嵌入式系统定制的引导启动工具,最初由 Redhat开发,它是基于 eCos( Embedded Configurable Operating System)的硬件抽象层,同时它继承了 eCos的高可靠性、简洁性、可配置性和可移植性等特点。 RedBoot集 Bootloader、调试、 Flash烧写于一体,支持串口、网络下载,执行嵌入式应用程序。 既可以用在产品的开发阶段(调试功能),也可以用在最终的产品上( Flash更新、网络启动)。 RedBoot支持下载和调试应用程序,开发板可以通过 BOOTP/DHCP协议动态配置 IP地址,支持跨网段访问。 用户可以通过 tftp毕业 设计论文 9 协议下载应用程序和 image,或者通过串口用 xmodem/ymodem下载。 RedBoot支持用GDB( the GNU debugger)通过串口或者网卡调试嵌入式程序,可对 gcc编译的程序进行源代码级的调试。 相比于简易 jtag调试器,它可靠、高速( CPU的 cache打开后,通过网卡 tftp下载能达到 1Mbps, GDB下载的速度能达到 2Mbps)、稳定,用户可通过串口或网卡,以命令行的形式管理 Flash上的 image,下载 image到 Flash。 动态配置RedBoot启动的各种参数、启动脚本,上电后 RedBoot可自动从 Flash或 tftp服务器上下载应用程序执行。 ( 3) UBoot U Boot是德国 DENX小组开发的用于多种嵌入式 CPU的 BootLoader程序,它可 以运行在基于 PowerPC、 ARM、 MIPS等多种嵌入式开发板上。 本 linux系统的启动代码用的是 UBoot。 UBoot移植 要移植 UBoot到嵌入式产品中,首先要在宿主机上编译配置 UBoot,将 UBoot源代码编译成为可以在 ARM上执行的二进制文件,并烧写到实验箱上才能执行。 本实验系统采用将 UBoot烧写到 Nand Flash(SMC卡 )中进行启动。 移植过程如下: (1)在工作目录下解压 U- Boot 输入命令: tar xjvf (2)进入 UBoot目录,修改 Makefile 输入以下命令: cd Vim Makefile 为 tekkaman2440建立编译项: sbc2410x_config: unconfig @$(MKCONFIG) $(@:_config=) arm arm920t sbc2410x NULL s3c24x0 tekkaman2440_config:unconfig @$(MKCONFIG) $(@:_config=) arm arm920t tekkaman2440 tekkaman s3c24x0 毕业 设计论文 10 各项的意思如下 : arm: CPU的架构 (ARCH) arm926EJ: CPU的类型 (CPU),其对应于 cpu/arm926EJ子目录。 tekkaman2440: 开发板的型号,对应于 board/tekkaman/tekkaman2440目录。 tekkaman: 开发者 /或经销商 (vender)。 s3c24x0: 片上系统 (SOC)。 同时在“ ifndef CROSS_COMPILE ”之前加上自己交叉编译器的路径,比如我使用 ARM9TDMI交叉编译器,则: CROSS_COMPILE=/home/tekkamanninja/working/arm9tdmilinuxgnu/bin/arm9tdmilinuxgnu (3)在 /board子目录中建立自己的开发板 tekkaman2440目录 由于我在上一步板子的开发者 /或经销商 (vender)中填了 tekkaman ,所以开发板 tekkaman2440目录一定要建在 /board子目录中的 tekkaman目录下 ,否则编译会出错。 [tekkamanninja@ARM9Host ]$ cd board [tekkamanninja@ARM9Host board]$ mkdir tekkaman tekkaman/tekkaman2440 [tekkamanninja@ARM9Host board]$ cp arf sbc2410x/* tekkaman/tekkaman2440/ [tekkamanninja@ARM9Host board]$ cd tekkaman/tekkaman2440/ [tekkamanninja@ARM9Host tekkaman2440]$ mv 还要修改自己的开发板 tekkaman2440目录下的 Makefile文件,不然编译时会出错: [tekkamanninja@ARM9Host tekkaman2440]$ kwrite Makefile COBJS := 在 include/configs/中建立配置头文件 [tekkamanninja@ARM9Host tekkaman2440]$ cd ../../.. [tekkamanninja@ARM9Host ]$ cp include/configs/ include/configs/ 毕业 设计论文 11 (4)测试编译能否成功 1)配置 [tekkamanninja@ARM9Host ]$ make tekkaman2440_config Configuring for tekkaman2440 board... 2)测试编译 [tekkamanninja@ARM9Host ]$make 测试通过后进行下一步 内核移植 移植环境 交叉编译器: armlinuxgcc 安装交叉编译器 内核移植过程 (1)下载压缩包: (2)解压: tar – xjvf (3)配置及编译内核 make menuconfig:提供基于 Ncurses图形界面的用户配置界面是字符的图形界面 , 出现如图所示的界面 . (4)修改屏幕偏移 由于视频监控系统还设计到 LCD屏的显示,所以要修改一下屏幕的偏移: 打开: /home/.c 将寄存器 3做如下修改即可: .lcdcon3 = S3C2410_LCDCON3_HBPD(55) | \ S3C2410_LCDCON3_HOZVAL(319) | \ 毕业 设计论文 12 S3C2410_LCDCON3_HFPD(5), 完成内核配置后,执行如下命令: make ulmage:创建内核镜像文件 ulmage,再下载到 TFTP中。 在超级终端中执行以下命令即可: run installkernel 图 内核配置界面 文件系统移植 移植步骤: (1)拷贝制作 yaffs文件下载镜像文件的工具 mkyaffsimage到虚拟机/utuLinux/s3c2440下; (2)拷贝文件系统源代码压缩包 /utuLinux/s3c2440目录下; (3)解压缩 /utuLinux/s3c2440下; (4)输入命令: ./mkyaffsimage s3c2440_recover 生成 ,将 TFTP中。 在超级终端中执行以下命令即可: run installfilesystem 毕业 设计论文 13 4 图像采集程序设计 Video4Linux 简介 Video4Linux是 linux中关于视频设备的内核驱动,他针对视频设备的应用程序编程提供一系列接口函数,配合适当的视频采集设备和相应的驱动程 序,可以实现影像采集、 AM/FM广播、频道切换等功能,在远程会议、可视电话、视频监控系统中有着广泛的应用。 在 linux下,所有外设都被看成是一种特殊的文件,称之设备文件,这里只要针对的设备文件是 /dev/video0,进行视频图像采集方面的程序设计。 基于 Vide04Linux的图像采集的程序流程如图。 图 图像采集流程图 开始 开启设备 获取设备信息和图像信息 对采集缓冲区进行内存映射 捕捉视频数据 图像数据处理 采集中止。 关闭设备 结束 N Y 毕业 设计论文 14 Video4linux 编程指南 流程 (1)打开视频设备: (2)读取设备信息 (3)更改设备当前设置(可以不做) (4)进行视频采集,两种方法 : 1) 内存映射 2) 直接从设备读取 (5)对采集的视频进行处理 (6)关闭视频设备。 定义的数据结构及使用函数 struct _v4l_struct { int fd。 struct video_capability capability。 struct video_buffer buffer。 struct video_window window。 struct video_channel channel[8]。 struct video_picture picture。 struct video_mmap mmap。 struct video_mbuf mbuf。 unsigned char *map。 }。 typedef struct _v4l_struct v4l。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。