取消
显示结果 
搜索替代 
您的意思是: 
Highlighted
Xilinx Employee
Xilinx Employee
148 次查看
注册日期: ‎02-16-2012

[分享] CPU运行在AXI BRAM里的软件时,进入异常,不能正常运行代码。

一个工程师使用AXI BRAM里为MPSoC A53运行软件,发现A53运行软件总进入异常,不能正常运行代码。使用SDK调试,CPU停在asm_vectors.S下列位置。

 ".org (VBAR + 0x200) 
b SynchronousInterruptHandler"

检查AR# 69754(https://www.xilinx.com/support/answers/69754.html), 其中提到 2) Modify translation_table.S (line 210) to use 'Memory' instead of 'Device' MMU configuration。

文件translation_table.S在BSP的psu_cortexa53_0\libsrc\standalone_v7_0\src\目录下。

地址范围0x8000_0000 ~ 0xBFFF_FFFF, 缺省是作为外部设备的地址,MMU属性如下:

.rept	0x0200			/* 0x8000_0000 - 0xBFFF_FFFF */
.8byte	SECT + Device		/* 1GB lower PL */
.set	SECT, SECT+0x200000
.endr

如果要运行代码,必须设置为memory属性。先把translation_table.S复制到应用程序工程,修改为如下代码。

.rept	0x0200			/* 0x8000_0000 - 0xBFFF_FFFF */
.8byte	SECT + Memory		/* 1GB lower PL */
.set	SECT, SECT+0x200000
.endr

修改之后,其它按AR# 69754设置,A53运行软件正常

0 项奖励