您尚未登录。

楼主 #1 2018-05-10 15:02:22

qianhao
会员
注册时间: 2017-12-14
已发帖子: 138
积分: 122

续集 把淘宝商业用板改造为你的开发板

附件下载硬件改造
硬件改造比较简单,只需要焊接串口就行。
图片见附件
这里需要准备的是 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)

离线

楼主 #4 2019-01-28 12:06:50

qianhao
会员
注册时间: 2017-12-14
已发帖子: 138
积分: 122

Re: 续集 把淘宝商业用板改造为你的开发板

是Hi3516D+OV4689的模组

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn