UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 18055

8.1i EDK GDB - Debugging software applications located in ISOCM memory

Description

What are the limitations of debugging software applications located in ISOCM memory? Can I read and write the memory? Can I specify a breakpoint?

Solution

Before reading the answers to these questions, look at the MHS file connections between the ISOCM CNTLR and the block RAM.

Example MHS section:

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

PORT BRAMISOCMCLK = plb_clk

END

BEGIN bram_block

PARAMETER INSTANCE = bram_block_2

PARAMETER HW_VER = 1.00.a

BUS_INTERFACE PORTA = isocm_porta

BUS_INTERFACE PORTB = isocm_portb

END

Note that both ports of the dual-port block RAM are connected, one for DCR writes and one for Instruction reads. As a result, ISOCM memory cannot be read on the data path, which means that GDB cannot specify any software breakpoints. GDB/XMD does allow you to specify up to four hardware breakpoints in the ISOCM memory space.

The ISOCM memory data path restriction will not allow you to read from ISOCM memory, from XMD, or GDB; you must also not use the Memory Window in GDB.

AR# 18055
Date Created 09/03/2007
Last Updated 12/15/2012
Status Active
Type General Article