附件下载硬件改造
硬件改造比较简单,只需要焊接串口就行。
图片见附件
这里需要准备的是 1.27间距的接插件
图片见附件
编译固件
1. 编译内核:
前面已经编译过一次内核了,但是是官方的配置的内核比较大,这次给出已经裁剪过的内核配置文件。(见附件)
#make distclean
#cp hi3516a.config .config
# make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux- menuconfig
#make ARCH=arm CROSS_COMPILE=arm-hisiv400-linux- uImage
#make ARCH=arm CROSS_COMPILE=arm-hisiv300-linux- modules
假如顺利完成,那么在 arch arm boot文件夹 里面已经有你的内核了。
2.编译根文件系统:
进入 busybox 所在目录,进行配置操作需要输入如下命令:
cd osdrv/opensource/busybox/busybox-1.20.2
cp config_v300_soft .config
执行 make menuconfig
busybox 的配置界面和内核配置相似,可以根据自己的需求选择配置。在 Busybox Settings ---> Build Options 中注意下面两个选项:
[ * ]Build BusyBox as a static binary (no shared libs)
[ * ] Build with Large File Support (for accessing files > 2 GB)
(arm-hisiv300-linux-) Cross Compiler prefix
() Path to sysroot
(-mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4) Additional CFLAGS
(-mcpu=cortex-a7 -mfloat-abi=hard -mfpu=neon-vfpv4) Additional
LDFLAGS
() Additional LDLIBS
其中:
第一个选项选择是否把 busybox 编译成静态链接的可执行文件。如果选择该选项,编译出来的 busybox 就是静态链接的,运行时不依赖于动态库,但体积较大;清除该选项将得到动态链接的 busybox,体积较小,但需要动态库的支持。
第二个选项是用于选择 SDK 推荐的交叉编译器,配置好后保存并退出。欲了解 busybox 各选项含义请参考 busybox 配置帮助。
Makefile 的修改
vi Makefile
164行 CROSS_COMPILE ?= arm-hisiv300-linux-
190行 ARCH ?= arm
执行:
make
make install
这个时候,在busybox的根文件夹里面有了一个_install 目录,这就是刚刚编译的内容,现在开始在busybox基础制作文件系统。
#mkdir rootfs
#cd rootfs
#cp ../busybox-1.20.2/_install/. ./ -frd
#mkdir etc dev lib tmp var mnt home proc
然后将busybox目录里面的examples 目录中的etc 文件夹copy过来。其中需要修改一处:
把inittab文件修改如下:
::sysinit:/etc/init.d/rcS
::respawn:-/bin/sh
#ttyAMA0::askfirst:-/bin/sh
::ctrlaltdel:/bin/umount -a -r
接着在dev目录下创建设备文件:
sudo mknod dev/console c 5 1
sudo mknod dev/null c 1 3
sudo chmod 666 dev/console
sudo chmod 666 dev/null
到此 根文件系统也算做好了,现在开始打包根文件系统,使用我提供的工具mkfs.jffs2(附件)
执行下面的命令
./mkfs.jffs2 -d ./rootfs -l -e 0x10000 -o rootfs.jffs2
压缩完成。
烧录
连接串口后,打开串口软件。开发板上电,注意是12V。注意这个时候 要一直按 Ctrl + C 。让系统进入到uboot。
在电脑里安装tftpd64 这个软件,开启服务。(附件)
将编译好的固件放入文件夹。
设置uboot:
setenv serverip xx.xx.xx.xx
setenv ipaddr xx.xx.xx.xx
setenv ethaddr xx:xx:xx:xx:xx:xx
setenv netmask xx.xx.xx.xx
setenv gatewayip xx.xx.xx.xx
save
配置完成后确保Hi3516a能ping通主机即可。
烧写内核和文件系统需要使用TFTP功能。
地址空间说明
| 1M | 1.75M | 13.25M |
| boot | kernel | rootfs |
uboot烧写内核
set serverip 192.168.1.103;mw.b 0x82000000 0xFF 0x1c0000;tftp 0x82000000 uImage;sf probe 0;sf erase 0x100000 0x1c0000;sf write 0x82000000 0x100000 0x1c0000
烧写rootfs文件系统
set serverip 192.168.1.103;mw.b 0x82000000 0xFF 0xd40000;tftp 0x82000000 rootfs.jffs2;sf probe 0;sf erase 0x2c0000 0xd40000;sf write 0x82000000 0x2c0000 0xd40000
设置启动参数和启动命令
setenv bootargs 'mem=57M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),1792K(kernel),13568K(rootfs)';setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'
saveenv
reset
完成 重启:最小的根文件系统就起来了。
以下站长注(2018-08-30):
参考链接1: 海思3516A官方SDK编译填坑
参考链接2: 把淘宝商业用板HI3516改造为你的开发板
参考链接3: 继续编译HI3516 uboot(SDK V1.0.7.0)
参考链接4 摄像头主板: https://item.taobao.com/item.htm?id=546898846981
参考链接5 IR-CUT: https://item.taobao.com/item.htm?id=551672293160
参考链接6 镜头: https://item.taobao.com/item.htm?id=551751798268
参考链接7 配套尾线: https://item.taobao.com/item.htm?id=551866454877
最近编辑记录 qianhao (2018-08-29 17:46:20)
离线
好资料,mark
离线
楼主,你给的那个摄像头主板链接已经失效了:(
我打开了你的附件看了看,附件给的模组手册是Hi3516D+OV4689,但是接口说明的是Hi3516A的。
请问你用的哪一款型号的模组呢?
离线
是Hi3516D+OV4689的模组
离线
链接失效了;(
离线
模组的摄像头接口定义有吗? 图片是我问一个要来的,但不是雄迈的,但是同样是40P的
最近编辑记录 jiangchun9981 (2019-11-17 09:04:02)
离线
是Hi3516D+OV4689的模组
楼主,SDK支持OV2395吗?买到的是这个sensor
离线
主要是很多产品都没引出usart口,芯片又是BGA,没办法
离线
对,这是最坑的
主要是很多产品都没引出usart口,芯片又是BGA,没办法
离线
找了很久刚看见这个帖子,目前在做无人机项目,其中摄像头模块如果能用雄迈的模组,能解决成本上的一大问题。
现在项目中用的是树莓派,三方配件都是狮子大开口,一个IMX307的摄像头要260,整套成本就算树莓派zero也要400+。哪有雄迈模组的50+香啊。。。
非常感谢楼主的帖子。
离线
买了几块雄迈的板子,急需这种教程
离线
这个教程不错,有空我也买块板子试试。
离线
链接失效了:D
离线