下载开发包里带的uboot的失败!
F:\265编解码\Hi3519V101R001C01SPC040\01.software\pc\HiTool\HiTool-BVT-5.0.10\HiTool\3519AV101_image_uclibc_big-little 目录下的u-boot-hi3519v101.bin
失败界面
看来很不幸的需要自己编译不能偷懒了!2333
安装SDK!
把"Hi3519***/01.software/board"目录下 Hi3519V101_SDK_Vx.x.x.x.tgz复制到共享文件夹下 D:\VM\hishare
切换到虚拟机界面下
cd /mnt/hgfs/hishare/
tar -zxvf Hi3519V101_SDK_V1.0.4.0.tgz (具体压缩文件包名称可能不同)
cd ./Hi3519V101_SDK_V1.0.4.0 (切换到Hi3519V101_SDK_V1.0.4.0目录下)
然后出现
./sdk.unpack: 2: ./sdk.unpack: source: not found 的错误
解决方法:
{
ubuntu10.04 系统默认的SH(脚本解析器)为dash,可以使用 ls -l /bin/sh 命令查看。
dash解析器的解析效率很高,但是功能不如bash那么强大,因此,在解析有些命令时,会出现找不到的错误。
修改默认脚本解析器为bash,方法如下:
1、命令行输入:sudo dpkg-reconfigure dash
2、选择
3、ls -l /bin/sh 查询确认
}
展开完成后切换到Hi3519V101_SDK_Vx.x.x.x/osdrv/opensource/toolchain/arm-hisiv500-linux目录下安装交叉编译器
cd ./osdrv/opensource/toolchain/arm-hisiv500-linux
chmod 777 arm-hisiv500-linux.install
./arm-hisiv500-linux.install
cd ../arm-hisiv600-linux/
chmod 777 ./arm-hisiv600-linux.install
./arm-hisiv600-linux.install
安装完成后
执行source /etc/profile, 安装交叉编译器的脚本配置的环境变量就可以生效了,或者请重新登陆也可。
编译错误
ln: failed to create symbolic link 'asm': Operation not supported
Makefile:3356: recipe for target 'hi3519v101_config' failed
make[1]: *** [hi3519v101_config] Error 1
make[1]: Leaving directory '/mnt/hgfs/hishare/Hi3519V101_SDK_V1.0.4.0/osdrv/opensource/uboot/u-boot-2010.06'
Makefile:174: recipe for target 'hiboot' failed
make: *** [hiboot] Error 2
原因分析:根源:uboot放在linux虚拟机与windows共享的文件下,由于在配置uboot文件的时候需要建立一些软连接,而在windows下不支持此操作
解决方法:从共享文件夹下拷贝一份到linux系统中,
再次编译!报错
报错信息:
arm-hisiv600-linux-gcc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
arm-hisiv600-linux-gcc: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
dirname: missing operand
原因分析:
aapt需要libstdc++的32位版本,系统应该只安装64位版本
缺少依赖包 lib32stdc++6
解决方法:
安装依赖包
sudo apt-get install lib32stdc++6
继续编译出错
出错信息:
error while loading shared libraries: libz.so.1: cannot open shared object file: No such file or directory
原因分析
还是64位的系统的祸,需要安装32位的lib32z1
解决方法:
sudo apt-get install lib32z1
完成编译后烧录,完成,设置启动参数:
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
启动后试下外网是否通,
~ # ping 210.13.0.10
PING 210.13.0.10 (210.13.0.10): 56 data bytes
结果打印错误代码:
ping: sendto: Network is unreachable
~ #
使用route命令看了一下
~ # route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
发现并没有可用的IP以及网关,需要执行设置网关指令,
设置IP
~ # ifconfig eth0 192.168.0.213
设置网关
~ # route add default gw 192.168.0.1
然后再查看
~ # route
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
default 192.168.0.1 0.0.0.0 UG 0 0 0 eth0
192.168.0.0 * 255.255.255.0 U 0 0 0 eth0
已经设置好了,再ping测试下
~ # ping 210.43.0.10
PING 210.43.0.10 (210.43.0.10): 56 data bytes
64 bytes from 210.43.0.10: seq=0 ttl=48 time=39.972 ms
64 bytes from 210.43.0.10: seq=1 ttl=48 time=43.693 ms
64 bytes from 210.43.0.10: seq=2 ttl=48 time=39.709 ms
64 bytes from 210.43.0.10: seq=3 ttl=48 time=41.567 ms
64 bytes from 210.43.0.10: seq=4 ttl=48 time=40.490 ms
嗯!这下网络就通了!
修改网络速率,因为现在是100M,而PHY芯片选用的是RGMII模式,所以需要修改速率
打开数据手册可以查找到
PERI_CRG59
PERI_CRG59 为 GMAC 接口控制寄存器。
Offset Address
0x00EC
Register Name
PERI_CRG59
Total Reset Value
0x0000_003F
Bit | 31 | 30 | 29 | 28 | 27 | 26 | 25 | 24 | 23 | 22 | 21 | 20 | 19 | 18 | 17 | 16 | 15 | 14 | 13 | 12 | 11 | 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
Name | reserved | loopback_mode | phy_select | duplex_mode | tx_config | link_status | mac_speed | port_select | ||||||||||||||||||||||||
Reset | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
Bits | Access | Name | Description | |||||||||||||||||||||||||||||
[31:9] | RO | reserved | 保留。 | |||||||||||||||||||||||||||||
[8] | RW | loopback_mode | 环回模式使能信号。 0:不使能; 1:使能。 |
|||||||||||||||||||||||||||||
[7:5] | RW | phy_select | PHY 接口模式。 000:保留; 001:RGMII 模式; 100:RMII 模式; 其他:保留。 |
|||||||||||||||||||||||||||||
[4] | RW | duplex_mode | PHY 双工模式。 0:半双工模式; 1:全双工模式。 |
|||||||||||||||||||||||||||||
[3] | RW | tx_config | 发送配置使能信号。 0:不使能; 1:使能。 |
无权限在打开文件夹视图
sudo nautilus