uboot下出现data abort错误导致重启解决办法
问题描述
解决方法
问题描述
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
1
2
3
4
5
6
7
8
修改为
/*
* 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
1
2
3
4
5
6
7
8
在《ARM ArchitectureReference Manual ARMv7-A and ARMv7-R edition.pdf》手册中有如下介绍,只需将CP15 SCTLR寄存器bit[1]位置0即可关闭地址对齐检查功能。
————————————————
版权声明:本文为优快云博主「whr197」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.youkuaiyun.com/weixin_43862116/article/details/107715491