您的位置:首页 > 运维架构

韦东山第三期视频监控编译华美路由器A100固件问题----已经编译通过

2015-12-28 13:28 267 查看
按照视频笔记上是如此编译的:

给HAME A100刷固件

目的:

1. 给HAME A100刷固件

2. 配置上UVC驱动

3. 修改内核自带的UVC驱动,使其支持我们自制的二合一摄像头

4. 移植mjpg-streamer

5. 实现开机自启动、热拔插功能

便携的无线监控设备 = 路由器(HAME A100) + USB摄像头(二合一摄像头) + 手机

HAME A100:

CPU: RT5350

FLASH: 8M SPI FLASH

SDRAM: 32M

固件:

可以理解为我们自己的内核和文件系统

一,环境的搭建

a,解压100ask_toolchain.bz2:

tar xjvf 100ask_toolchain.bz2

b,安装工具连:

cd toolchain/

sudo tar jxf buildroot-gcc342.tar.bz2 -C /opt

c,安装内核压缩工具:

cd lzma-4.32.0beta5

./configure

make

sudo make install

d,安装rootfs工具:linux 2.6

cd ..

cd mksquash_lzma-3.2

make

sudo make install

二,配置与编译固件

tar xjvf 100ask.bz2

cd 5350_source/

vim .config

-- CONFIG_CROSS_COMPILER_PATH="/opt/buildroot-gcc342/bin"

make clean

make

注意在编译这个固件的时候顺序不能够有所改变,也就是说应该先配置再make clean

结果:

flash_100ask_IP_Camera_debug_V1.0.4.bin

但是如果我按照这样的编译方式将出现如下问题:

错误是这样的:

smbd/chgpasswd.c: In function `change_oem_password':

smbd/chgpasswd.c:973: warning: assignment makes pointer from integer without a cast

smbd/chgpasswd.c:991: warning: passing arg 1 of `chgpasswd' makes pointer from integer without a cast

make[5]: *** [smbd/chgpasswd.o] Error 1

make[5]: Leaving directory `/work/nfs_root/fs_mini_mdev_new/video_surveillance_source/1.1_14/hame_a100/source/5350_source/user/samba-3.0.2/source'

make[4]: *** [all] Error 2

make[4]: Leaving directory `/work/nfs_root/fs_mini_mdev_new/video_surveillance_source/1.1_14/hame_a100/source/5350_source/user/samba-3.0.2/source'

make[3]: *** [all] Error 2

make[3]: Leaving directory `/work/nfs_root/fs_mini_mdev_new/video_surveillance_source/1.1_14/hame_a100/source/5350_source/user/samba-3.0.2'

make[2]: *** [samba-3.0.2] Error 2

make[2]: Leaving directory `/work/nfs_root/fs_mini_mdev_new/video_surveillance_source/1.1_14/hame_a100/source/5350_source/user'

make[1]: *** [all] Error 2

make[1]: Leaving directory `/work/nfs_root/fs_mini_mdev_new/video_surveillance_source/1.1_14/hame_a100/source/5350_source/user'

make: *** [user_only] Error 2

book@book-desktop:/work/nfs_root/fs_mini_mdev_new/video_surveillance_source/1.1_14/hame_a100/so14/hame_a100/source/5350_source$

为了好看些,这里截图一份:



从上面的错误可知是在编译smbd软件时出现了错误,如果把该软件的目录从Makefile文件中去除掉就能够编译通过,但是这并不是解决之道,

经过请教韦东山老师,老师给出了下面最佳的解决方法:

错误的原因是这样的:samb的Makefile会用gawk命令来制作一些头文件;如果没有这个命令,那些头文件就是空的,会导致编译错误

所以解决办法如下:

安装 gawk

如果ubuntu里没有gawk命令,需要自己安装。(可以执行 gawk 确认是否有此命令)

有2种方法:

e.1 sudo apt-get install gawk

e.2

tar xjf gawk-3.1.8.tar.bz2

cd gawk-3.1.8

./confiure

make

sudo make install

做完能后,再到5350_source里执行:

make clean

make

其实就是安装上gawk软件,装上之后编译通过

本实验中注意事项:

解压固件的时候可能会解压出错,可以用这个命令解压:sudo tar xjvf 100ask.bz2

华美路由器串口波特率:57600

华美路由器引出线的名称: 棕:远离网卡近USB GND 绿:紧挨GND RX->TX 黑:远离GND TX->RX

实验步骤是这样的:插上网线-》下载固件-》拔掉网线-》运行程序 这里要用手机来看视频就要拔掉网线,否则不知道路由器的IP,但是要用网线来下载,所以要有顺序

有图有真相:







现在把资料上传上来。注意这里只有libjpeg和mjpg-streamer和生成的固件,因为内核源代码真的太大了没法上传:
http://download.csdn.net/detail/chengdong1314/9380563
最后把华美A100的拆机图片打包上传:
http://download.csdn.net/detail/chengdong1314/9381909
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: