2G内存D1开发板源码编译的镜像启动错误:DRAM: Unhandled exception: Store/AMO access fault
-
购买了2G内存D1开发板;
下载了官方的Tina-D1源码仓库,并根据文档编译完成并烧写;
但是,烧写进2G内存D1开发板后,启动出现错误;而在另一个1G内存的D1开发版上缺没有问题!
请问我应该怎么修改源码呢?是要修改U-boot的内存相关的配置吗?U-Boot 2018.05-ge10e002-dirty (Apr 29 2021 - 09:21:10 +0000) Allwinner Technology [00.505]DRAM: Unhandled exception: Store/AMO access fault EPC: 000000004207002c TVAL: 00000000bf4cffb8 ### ERROR ### Please RESET the board ###
如下图:
-
2G板子的话,要更新到最新的SDK Tina D1 v1.01版本
-
@kirin 好、多谢提示!
-
更新一下修复方案:
问题发生在u-boot-2018/common/board_f.c文件的reserve_board()函数的memset()进行写内存时;
原512M内存的代码在U-Boot运行会出现错误,是由于opensbi的PMP设置中,0xbfxxxxxx地址没有访问权限,故触发异常错误支持D1 2G内存的主要patch在opensbi的sunxi_platform.c文件sunxi_pmp_region_info()函数中的PMP设置;
正常运行的opensbi:
MIDELEG : 0x0000000000000222 MEDELEG : 0x000000000000b1ff PMP0 : 0x0000000040000000-0x000000004001ffff (A) PMP1 : 0x0000000040000000-0x000000007fffffff (A,R,W,X) PMP2 : 0x0000000080000000-0x00000000bfffffff (A,R,W,X) PMP3 : 0x0000000000020000-0x0000000000027fff (A,
异常:
MIDELEG : 0x0000000000000222 MEDELEG : 0x000000000000b1ff PMP0 : 0x0000000040000000-0x000000004001ffff (A) PMP1 : 0x0000000040000000-0x000000007fffffff (A,R,W,X) PMP2 : 0x0000000000000000-0x0000000007ffffff (A,R,W) PMP3 : 0x0000000009000000-0x000000000901ffff (
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号