imx6ull开发板移植u-boot时,使用ping命令出现data abort错误!
使用低版本编译器,论坛上有人试过可以解决,笔者未使用该方法。
关闭内存地址对齐错误的检查功能(仅armv7以上内核支持)。修改start.S文件 ,在start.S文件中找到以下代码:
- /*
- * disable MMU stuff and caches
- */
- mrc p15, 0, r0, c1, c0, 0
- bic r0, r0, #0x00002000 @ clear bits 13 (--V-)
- bic r0, r0, #0x00000007 @ clear bits 2:0 (-CAM)
- orr r0, r0, #0x00000002 @ set bit 1 (--A-) Align
- orr r0, r0, #0x00000800 @ set bit 11 (Z---) BTB
修改为:
- /*
- * disable MMU stuff and caches
- */
- mrc p15, 0, r0, c1, c0, 0
- bic r0, r0, #0x00002000 @ clear bits 13 (--V-)
- bic r0, r0, #0x00000007 @ clear bits 2:0 (-CAM)
- orr r0, r0, #0x00000000 @ set bit 1 (--A-) Align
- orr r0, r0, #0x00000800 @ set bit 11 (Z---) BTB
在《ARM ArchitectureReference Manual ARMv7-A and ARMv7-R edition.pdf》手册中有如下介绍,只需将CP15 SCTLR寄存器bit[1]位置0即可关闭地址对齐检查功能。

一开始真不太理解这是什么意思。
所以设置开发板的网络IP为192.168.123.64
ubuntu网络IP为:192.168.115.64
这里得修改成同一网段。
本来是应该来连接路由器,但没有,就只能连接电脑共享网络。
首先要做到主机,虚拟机,开发板在同一个网络中,网关都设置为一样,IP地址在同一网段内。通常把IP地址设置静态地址,避免下次开机IP地址更换,不利于调试。以下的配置先看,至于怎么操作后面详细写出。
主机WIFI和虚拟机VMnet0的IP配置:(注意网关是X.X.1.X)
主机WIFI的IP:192.168.1.20(这里的IP可以不需要固定,只是为了统一而设置)
虚拟机VMnet0的IP:192.168.1.22(这里的IP可以不需要固定,只是为了统一而设置)
主机有线网卡,虚拟机VMnet2和开发板的IP配置:(注意网关是X.X.2.X)
主机以太网IP(用网线和开发板连接):192.168.2.10
虚拟机VMnet2的IP:192.168.2.11
开发板的IP:192.168.2.12
其实具体怎么配置还是需要看你现场的网络环境,如果你的网络配置了多级路由,那么你的网关要按照该原理来实际配置。需要你有一点点网络拓扑知识,不要冲突即可


主机的有线网卡就配置好了,无线IP同理配置。
第一步:打开VMware,注意是打开软件,并不是打开你的Ubuntu系统,在菜单里打开:编辑->虚拟网络编辑器

从上图可以看到VMnet1和VMnet8,并没有上面所说的VMnet0和VMnet2,VMnet0并不是没有,而是被隐藏了,它是主要连接网络的网桥,而VMnet1和VMnet8分别为Host-Only网络模式和NAT的组网方式,具体不在讨论,主要关心VMnet0和VMnet2,而VMnet2是真没有,这需要创建一个虚拟网桥出来。这样做的目的是VMnet0连接无线网卡起上网的作用,VMnet2连接有线网卡起连接开发板作调试的作用,按照上图点击:更改设置。

VMnet0设置好了以后,就该VMnet2登场,有条件就上,没有条件创造条件也要上,没有VMnet2那就创造VMnet2。
添加以后,选中VMnet2,设置为桥接模式,桥接至:Intel(R) Ethernet Connection (6) I219-V,
添加网络适配器:
进入系统后,配置网络信息,具体系统的设置自己找,以ubuntu为例:

但好像还是不行,可能是我操作有问题。
所以又找了一个:
电脑通过wifi连接路由器,手头的开发板不支持wifi,路由器又离电脑太远?
可以试试开发板网线直连PC。可以将网络共享到开发板,也可以PC与开发板通信。
先查看开发板的IP,打开cmd输入arp -a

可以看到有个192.168.137.201的设备,这个IP就是开发板的。