问题描述
一般问题描述:
如何更新或验证MicroBlaze指令和数据缓存的内容?是否可以写入数据或指令缓存?是否可以通过GDB或XMD查看或验证缓存内容?
解决/修复方法
MicroBlaze指令集包括两条用于更改缓存内容的指令。如果禁用高速缓存,则可以使用WIC(写入指令高速缓存)和WDC(写入数据高速缓存)指令写入高速缓存。在EDK 3.2中,GDB和XMD不支持查看存储在MicroBlaze缓存中的内容的功能。有更多与缓存相关的功能,例如使用“microblaze_disable_icache()”或“microblaze_disable_dcache()”禁用缓存。有关详细信息,请参阅EDK安装中的“EST用户指南”和“MicroBlaze参考指南”。
您无法使用GDB或XMD查看缓存内容。但是,有一种简单的方法可以验证它。通过在该地址执行,MicroBlaze应该执行写入缓存的指令。
例如,如果您在地址(内存中)中有一些代码,并且使用WIC指令将不同的代码写入同一地址的缓存中。如果现在跳转到该地址,则执行写入缓存的代码而不是内存中的代码。
没有回复内容