转载请注明来源:https://github.com/lishaoliang/opendvr
雄迈巨峰7004T-LM-V3
淘宝链接
此硬件无法使用FastBoot3.1_BVT.exe工具
https://item.taobao.com/item.htm?spm=a1z0k.7386009.0.d4919233.571ecb24QPBRxj&id=552418283670&_u=t2dmg8j26111
主要硬件
Hi3520Dv200
NVP6134C
Hi3520Dv200
环境:Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-54-generic x86_64)
x86_64需要安装x86支持库
本文档大部分是对海思文档整理
本文档针对SPI Flash,uClibc
一、海思SDK获取
淘宝获取等途径
参考版本:Hi3520D_SDK_V1.0.5.1
文档:Hi3520D_SDK_V1.0.5.1/osdrv/readme_cn.txt
文档:Hi3520D SDK 安装以及升级使用说明.txt
文档: Hi3521/Hi3520A/Hi3520D/Hi3515A/Hi3515C U-boot 移植应用开发指南.pdf
二、解压
tar -vxzf Hi3520D_SDK_V1.0.5.1.tgz
三、安装编译器
cd Hi3520D_SDK_V1.0.5.1/osdrv/toolchain/arm-hisiv100nptl-linux/
./cross.install
四、编译U-boot
cd Hi3520D_SDK_V1.0.5.1/osdrv/uboot
tar -vxzf u-boot-2010.06.tgz
cd u-boot-2010.06/
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- hi3520d_config
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux-
sudo cp ./tools/mkimage /usr/local/bin/
生成220K目标文件:Hi3520D_SDK_V1.0.5.1/osdrv/uboot/u-boot.bin
最后安装mkimage工具,在制作uImage时使用
五、制作U-boot镜像
cd Hi3520D_SDK_V1.0.5.1/osdrv/tools/pc_tools/uboot_tools
cp ../.././../uboot/u-boot-2010.06/u-boot.bin .
cp reg_info_Hi3520D-bvt_No1_660_330_660_ddr_innerFEPHY.bin .reg1
cp reg_info_Hi3520D-bvt_No1_660_330_660_ddr_innerFEPHY.bin .reg2
chmod +x mkboot-hi3520d.sh
./mkboot-hi3520d.sh .reg1 .reg2 u-boot-hi3520d.bin
最终生成:Hi3520D_SDK_V1.0.5.1/osdrv/tools/pc_tools/uboot_tools/u-boot-hi3520d.bin
这里不做任何修改,直接使用默认设置
六、制作kernel镜像
cd Hi3520D_SDK_V1.0.5.1/osdrv/kernel
tar -vxzf linux-3.0.y.tgz
cd linux-3.0.y/
vi kernel/timeconst.pl 修改为:
if (!(@val)) {
@val = compute_values($hz);
}
cp arch/arm/configs/hi3520d_full_defconfig .config
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- menuconfig
make ARCH=arm CROSS_COMPILE=arm-hisiv100nptl-linux- uImage
最终生成:Hi3520D_SDK_V1.0.5.1/osdrv/kernel/linux-3.0.y/arch/arm/boot/uImage
是否修改timeconst.pl文件,取决编译环境
七、制作rootfs
mkdir tmp
cd tmp
cp Hi3520D_SDK_V1.0.5.1/osdrv/tools/pc_tools/mkfs.jffs2 .
cp Hi3520D_SDK_V1.0.5.1/osdrv/tools/pc_tools/mkimage .
cp Hi3520D_SDK_V1.0.5.1/package rootfs_uclibc.tgz .
tar -vxzf rootfs_uclibc.tgz
chmod +x mkfs.jffs2 mkimage
./mkfs.jffs2 -d ./rootfs_uclibc -l -e 0x10000 -o rootfs.jffs2
./mkimage -A arm -T filesystem -C none -n hirootfs -d rootfs.jffs2 rootfs.bin
注意制作文件系统的块大小 -e 0x10000 是指64K块
镜像文件:rootfs.jffs2
USB升级文件:rootfs.bin
八、刷机
Hi3520D SDK 安装以及升级使用说明.txt
| 1M | 4M | 11M |
|—————|—————|—————|
| boot | kernel | rootfs |
1. 烧写u-boot
刷U-boot有风险,刷失败会导致变板砖!
连接好串口、网口
使用串口连接板子,重启板子电源,不停按键盘”Enter”,进入”hisilicon #”模式。
如果”Enter”没反应,查找板子对应进入方式,或者暴力重启+每个按键都试一次。
确保进入”hisilicon # ”
开启ftp服务器:tftpd32.exe
最好每一行一行执行,IP地址由实际实际配置而定
刷U-boot之前可测试一下U-boot是否OK
设置网络环境
setenv serverip 192.168.3.47;
setenv ipaddr 192.168.3.147;
setenv netmask 255.255.254.0;
setenv gatewayip 192.168.3.1;
ping 192.168.3.47;
测试U-boot是否OK
sf probe 0;sf lock 0;
sf probe 0;mw.b 82000000 ff 0x100000;tftp 0x82000000 u-boot-hi3520d.bin;
go 82000000
刷U-boot
sf probe 0;sf lock 0;
sf probe 0;mw.b 82000000 ff 0x100000;tftp 0x82000000 u-boot-hi3520d.bin;
sf probe 0;sf erase 0 0x100000;sf write 0x82000000 0 0x100000;
2. 烧写内核
ping 192.168.3.47;
sf probe 0;mw.b 82000000 ff 0x400000;tftp 0x82000000 uImage;sf probe 0;sf erase 0x100000 0x400000;sf write 0x82000000 0x100000 0x400000;
3. 烧写文件系统
ping 192.168.3.47;
sf probe 0;mw.b 82000000 ff 0xB00000;tftp 0x82000000 rootfs.jffs2;sf probe 0;sf erase 0x500000 0xB00000;sf write 0x82000000 0x500000 0xB00000;
4. 设置启动参数
ping 192.168.3.47;
setenv bootargs mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 mtdparts=hi_sfc:1M(boot),4M(kernel),11M(rootfs)
setenv bootcmd sf probe 0;sf read 0x82000000 0x100000 0x400000;bootm 0x82000000
sa
九、测试
ifconfig eth0 up
ifconfig lo up
ifconfig eth0 192.168.3.147
mkdir /mnt/nfs
mount -t nfs -o nolock 192.168.3.250:/home/lsl/share/nfs /mnt/nfs
cd /mnt/nfs
到这里开发环境已经搭建好了。Letgo!