ARM技术论坛
直播中

陈义

11年用户 357经验值
擅长:模拟技术 嵌入式技术 控制/MCU 蓝牙
私信 关注
[经验]

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

本文摘录于本人博客:http://blog.csdn.net/chengdong1314/article/details/50418344

按照视频笔记上是如此编译的:
给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
但是如果我按照这样的编译方式将出现如下问题:
[color=rgb(153,153,153)!important]错误是这样的:



[color=rgb(153,153,153)!important]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



更多回帖

发帖
×
20
完善资料,
赚取积分