
安装SDK
1、解压tgz压缩包
将 Hi3519V101_SDK_Vx.x.x.x.tgz 压缩包放入共享文件夹中,并解压到Linux内部如 /sdk 目录下,因为在共享目录中编译容易出现各种错误。tar -zxf Hi3519V101_SDK_Vx.x.x.x.tgz -C /sdk
2、展开SDk
在/sdk 得到一个Hi3519V101_SDK_Vx.x.x.x目录,运行这个目录中的sudo ./sdk.unpack
脚本,将会展开SDK包打包压缩存放的内容。
若无法运行sdk.unpack,需要按下面方法修改脚本,因为SDK中很多sh文件,逐个修改很麻烦,用第二种方式修改系统,一劳永逸。
方法一
1) 将 vim scripts/common.sh
第一行#!/bin/sh 改为 #!/bin/bash
2) 将 vim sdk.unpack
第一行 #!/bin/sh 也改为 #!/bin/bash
方法二
1) sudo dpkg-reconfigure dash
然后选择 no
3、在linux上安装交叉编译器
1) 安装uclibc交叉编译器:
进入osdrv/opensource/toolchain/arm-hisiv500-linux目录,执行sudo ./arm-hisiv500-linux.install
即可。
2) 安装glibc交叉编译器:
进入osdrv/opensource/toolchain/arm-hisiv600-linux目录,执行sudo ./arm-hisiv600-linux.install
即可。
3) 执行 source /etc/profile
, 使安装交叉编译器脚本配置的环境变量生效。
安装、升级DEMO板开发环境(已经有uboot)
1、为Linux配置tftp服务器
配置方法见另一篇博客,也可在windows下用tftpd32操作,将package/image_big-little/image_uclibc_big-little(或image_glibc_xxx)下的相关文件 cp *hi3519v*
拷贝到tftp服务器目录下。
2、参数配置
单板上电后,长按回车键进入u-boot。
设置tftp服务器IP,单板IP,单板MAC地址,掩码及网关。
setenv serverip 10.82.16.231
setenv ipaddr 10.82.16.232
setenv ethaddr C2:3A:00:B3:5B:31
setenv netmask 255.255.255.0
setenv gatewayip 10.82.16.1
设置好后 ping serverip
,确保网络畅通。
3、烧写映像文件到SPI Flash,以16M SPI Flash为例。
1) 地址空间说明
| 1M | 3M | 12M |
|---------------|---------------|---------------|
| boot | kernel | rootfs |
以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。
2) 烧写u-boot
mw.b 82000000 ff 100000
tftp 0x82000000 u-boot-hi3519v101.bin
sf probe 0
sf erase 0 100000
sf write 82000000 0 100000
reset
请注意,reset之后需要重新设置网络参数。
3) 烧写内核
mw.b 82000000 ff 300000
tftp 82000000 uImage_hi3519v101
sf probe 0
sf erase 100000 300000
sf write 82000000 100000 300000
4) 烧写文件系统
mw.b 82000000 ff C00000
tftp 0x82000000 rootfs_hi3519v101_64k.jffs2
sf probe 0
sf erase 400000 C00000
sf write 82000000 400000 C00000
5) 设置启动参数(注意linux-3.18.y kernel默认文件系统只读,需要在bootargs中加入rw选项,文件系统才可读写)
setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=jffs2 rw mtdparts=hi_sfc:1M(boot),3M(kernel),12M(rootfs)'
setenv bootcmd 'sf probe 0;sf read 0x82000000 0x100000 0x300000;bootm 0x82000000'
sa
6) 重启系统 reset
。
4、烧写映像文件到NAND Flash,以64M NAND Flash为例。
1) 地址空间说明
| 1M | 3M | 32M | 28M |
|---------------|---------------|---------------|------------------------|
| boot | kernel | rootfs | other |
以下的操作均基于图示的地址空间分配,您也可以根据实际情况进行调整。
2) 烧写u-boot
mw.b 82000000 ff 100000
tftp 82000000 u-boot-hi3519v101.bin
nand erase 0 100000
nand write 82000000 0 100000
reset
reset之后需要重新设置网络参数。
3) 烧写内核
mw.b 82000000 ff 300000
tftp 82000000 uImage_hi3519v101
nand erase 100000 300000
nand write 82000000 100000 300000
4) 烧写文件系统
mw.b 82000000 ff 2000000
tftp 82000000 rootfs_hi3519v101_2k_4bit.yaffs2
nand erase 400000 2000000
nand write.yaffs 82000000 400000 96d200 #注意:96d200为rootfs文件实际大小(16进制)
5) 设置启动参数
setenv bootargs 'mem=64M console=ttyAMA0,115200 root=/dev/mtdblock2 rootfstype=yaffs2 rw mtdparts=hinand:1M(boot),3M(kernel),32M(rootfs),28M(test)'
setenv bootcmd 'nand read 0x82000000 0x100000 0x300000;bootm 0x82000000'
sa
6) 重启系统 reset
。
使用SDK和DEMO板进行开发
1、开启Linux下的网络,可添加到 /etc/profile
ifconfig eth0 hw ether C2:3A:00:B3:5B:31
ifconfig eth0 10.82.16.232 netmask 255.255.255.0
route add default gw 10.82.16.1
然后ping一下其他机器,如无意外,网络将能正常工作。
2、使用NFS文件系统进行开发
NFS服务器搭建和挂载方式见另一篇博客。
挂载NFS文件系统的操作命令:
mount -t nfs -o nolock -o tcp -o rsize=32768,wsize=32768 10.82.16.233:/tftp /mnt/
3、开启telnet服务
要使用telnet登录到单板,需运行命令 telnetd &
启动单板telnet服务,加入到 /etc/profile 文件可开机自运行。