logo资料库

jz2440开发板实现视频监控.docx

第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
资料共6页,全文预览结束
1.u-boot 移植 tar xjf u-boot-2012.04.01.tar.bz2 //解压 cd u-boot-2012.04.01 //进入目录 patch -p1 < ../u-boot-2012.04.01_100ask.patch 板) make smdk2440_config make //配置 //生成 u-boot.bin //打补丁(修改以适合移植到开发 2.linux 内核移植 tar xjf linux-3.4.2.tar.bz2 cd linux-3.4.2 patch -p1 < ../linux-3.4.2_camera_jz2440.patch //打补丁(修改以适合移植开发板, 内含摄像头驱动,LCD4.3 驱动以及网卡 dm9000 驱动) cp config_ok .config make menuconfig //解压 //进入目录 //配置 //配置内核以支持 uvc 摄像头 -> Device Drivers <*> Multimedia support ---> <*> Video For Linux [*] Video capture adapters (NEW) ---> [*] V4L USB devices (NEW) ---> <*> USB Video Class (UVC) //配置内核以支持 usb 总线驱动(板上只有一个 usb 口,会使用 usb hub 分线器) Device Drivers ---> [*] USB support ---> {*} Support for Host-side USB [*] USB device filesystem (DEPRECATED) [*] USB device class-devices (DEPRECATED) <*> OHCI HCD support <*> USB Mass Storage suppo [*] HID Devices ---> {*} Generic HID support [*] /dev/hidraw raw HID device support SCSI device support ---> <*> SCSI device support [*] legacy /proc/scsi/ support <*> SCSI disk support <*> SCSI tape support
配置内核以支持无线网卡(使用的是课程配套的网卡) Networking support -*- Wireless ---> <*> cfg80211 - wireless configuration API <*> Generic IEEE 802.11 Networking Stack (mac80211) library routines {*} CRC-CCITT functions Device Drivers ---> [*] Network device support ---> [*] Wireless LAN ---> <*> IEEE 802.11 for Host AP (Prism2/2.5/3 and WEP/TKIP/CCMP) [*] Support downloading firmware images with Host AP driver [*] Support for non-volatile firmware download Ralink driver support ---> Ralink rt27xx/rt28xx/rt30xx (USB) support 推荐将 Ralink driver support 和 Ralink rt27xx/rt28xx/rt30xx (USB) support 配置 成 M,从而编译成模块。 将 wifi 模块的驱动编译成模块,可以避免“冷启动的问题”(开发板启动时已经 插入了 usb-wifi 模块,但是无法正常使用,只能重新热插拔一次才能正常工 作)。 make uImage//编译内核(内核 uImage 在 arch/arm/boot 中) make modules //编译模块 cd drivers/net/wireless/rt2x00 ls *.ko //查看相应模块文件 rt2800lib.ko rt2800usb.ko cp rt2x00usb.ko rt2x00lib.ko //拷贝.ko 文件到文件系统中(在第 3 步中完成) *.ko /home/book/work/system/nfs_root/fs_mini_mdev_new/lib/modules/3.4.2/ 同时将 usb-wifi 模块的固件文件 rt2870.bin 复制到到/lib/firmware 目录中 注:在 make uImage 之前,注意 u-boot 与 Linux 的机器码匹配问题,否则在后 面启动 u-boot,用 boot 命令引导内核时会出现如下问题: Error: unrecognized/unsupported machine ID (r1 = 0x000000c1). Available machine support: ID (hex) 000000a8 详细问题及解决方法,见:u-boot 和 linux 的机器码问题分析 NAME SMDK2440
http://www.52rd.com/Blog/Detail_RD.Blog_liweikui_22426.html 3.制作根文件系统 cd /home/book/work/system/nfs_root tar xjf fs_mini_mdev_new.tar.bz2 3.1 若想先实现在开发板上的 lcd 上显示图像,可将事先制作好的 video2lcd 工 具拷贝到文件系统的 bin 目录中。 3.2 若实现在网页上观看采集的视频,可移植 mjpg-streamer(实现视频的采集 与传输) 3.2.1 libjpeg 的移植 tar xzvf libjpeg-turbo-1.2.1.tar.gz cd libjpeg-turbo-1.2.1 mkdir tmp ./configure --prefix=/work/jz2440/libjpeg-turbo-1.2.1/tmp --host=arm-linux make make install cp tmp/lib/*so* /home/book/work/system/nfs_root/fs_mini_mdev_new/lib/ -d 3.2.2 mjpg-streamer 的移植 tar xvf mjpg-streamer-r63.tar.gz cd mjpg-streamer-r63 --(1) 修改所有的 Makefile 将 CC=gcc 修改为 CC=arm-linux-gcc --(2) 修改 plugins/input_uvc/Makfile a. 将 CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC 改为 CFLAGS += -O2 -DLINUX -D_GNU_SOURCE -Wall -shared -fPIC -I /home/book/work/syetem/libjpeg-turbo-1.2.1/tmp/include 注意: -I /work/jz2440/libjpeg-turbo-1.2.1/tmp/include // 是编译 libjpeg 生成的 文件 b. 将 jpeg_utils.lo dynctrl.lo input_uvc.so: $(OTHER_HEADERS) input_uvc.c v4l2uvc.lo jpeg_utils.lo dynctrl.lo $(CC) $(CFLAGS) -ljpeg -o $@ input_uvc.c v4l2uvc.lo
jpeg_utils.lo dynctrl.lo /work/jz2440/libjpeg-turbo-1.2.1/tmp/lib -o $(CC) $(CFLAGS) $@ input_uvc.c -ljpeg -L v4l2uvc.lo jpeg_utils.lo 改 为 input_uvc.so: $(OTHER_HEADERS) input_uvc.c v4l2uvc.lo dynctrl.lo make cp mjpg_streamer /home/book/work/system/nfs_root/fs_mini_mdev_new/bin/ cp *so* /home/book/work/system/nfs_root/fs_mini_mdev_new/lib/ -d USB 摄像头 2440 开发板 路由器 电脑 有线 无线 3.3 使用无线网卡 tar xjf fs_mini_mdev_new_auto_wifi_ap.tar.bz2 将第 2 步中要复制的.ko 文件以及 3.2 中 mjpg-streamer 的移植同样在这个文 件系统中操作。 4.烧写调试 4.1 用 OpenJTAG 烧写 u-boot.bin 文件到 nor flash 中,上电启动后,在 SecureCRT 命令界面中:
#SMDK2410 set ipaddr 192.168.1.104 //设置开发板 IP 地址 set serverip 192.168.1.105 //设置 windows 地址(tftp 烧写工具在 Windows 中) set gatewayip 192.168.1.1 save set bootargs //设置网关 IP root=/dev/nfs nfsroot=192.168.1.107:/home/book/work/system/ nfs_root/fs_mini_mdev_new ip=192.168.1.104 console=ttySAC0,115200 文件系统(文件系统在 Ubuntu 系统中,192.168.1.107 为其 ip 地址) //挂载根 save tftp 30000000 uImage bootm 附:1.NFS 服务设置 NFS 挂载文件系统 安装 nfs 服务:$ sudo apt-get install nfs-kernel-server portmap 修 改 配 置 文 件 : $ sudo vi /home/book/work/system/nfs_root //用 tftp 下载内核 //启动内核 /etc/exports *(rw,sync,no_root_squash) 最 后 一 行 修 改 为 重启:$ sudo /etc/init.d/nfs-kernel-server restart 2.在 Ubuntu 中使用 NFS 下载并启动内核 Set bootcmd 'nfs 32000000 192.168.1.107:/home/book/work/system/nfs_root/uIma ge; bootm 32000000' 4.2 lcd 显示图像 / # ls /dev/vid* /dev/video0 /# video2lcd /dev/video0 //查看摄像头设备节点 //打开设备节点 4.3 有线实现视频传输 /#mjpg_streamer -i "input_uvc.so -f 10 -r 320*240" -o "output_http.so -w www" //执 行此命令后,在火狐浏览器上输入 http://192.168.1.104:8080/?action=stream 可 实时浏览视频 4.3 无线网卡实现视频传输 set bootargs root=/dev/nfs nfsroot=192.168.1.107:/home/book/work/system/ nfs_root/fs_wifi_ap ip=192.168.1.104 console=ttySAC0,115200(注意这里挂载的 文件系统目录位置和之前的不同)
注:ubuntu 中更改文件夹所有子目录的所有者权限 sudo chown -R book:book 目标目录 效果:暂未实现 2018.1.15 无线网卡配置视频 1.1.15 节 后期看
分享到:
收藏