问题描述
调试位于ISOCM内存中的软件应用程序有哪些限制?我可以读写内存吗?我可以指定一个断点吗?
解决/修复方法
在阅读这些问题的答案之前,请查看ISOCM CNTLR和Block RAM之间的MHS文件连接。
示例MHS部分 :
BEGIN isbram_if_cntlr
PARAMETER INSTANCE = isbram_if_cntlr_0
PARAMETER HW_VER = 3.00.a
PARAMETER C_BASEADDR = 0x50000000
PARAMETER C_HIGHADDR = 0x50000FFF
BUS_INTERFACE DCR_WRITE_PORT = isocm_porta
BUS_INTERFACE INSTRN_READ_PORT = isocm_portb
BUS_INTERFACE ISOCM = isocm_i
港口BRAMISOCMCLK = plb_clk
结束
开始bram_block
PARAMETER INSTANCE = bram_block_2
PARAMETER HW_VER = 1.00.a
BUS_INTERFACE PORTA = isocm_porta
BUS_INTERFACE PORTB = isocm_portb
结束
请注意,双端口Block RAM的两个端口都已连接,一个用于DCR写入,另一个用于指令读取。因此,无法在数据路径上读取ISOCM内存,这意味着GDB无法指定任何软件断点。 GDB / XMD允许您在ISOCM内存空间中指定最多四个硬件断点。
ISOCM内存数据路径限制不允许您从ISOCM内存,XMD或GDB读取;你也不能在GDB中使用Memory Window。
没有回复内容