This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Project with XINTF enabled not able to download to target

I have a sample project that I am working on that was fitting nicely in the internal RAM but has grown.  There is external RAM on board so I copied code from an example to setup the XINTF.  I have the pins correct.  I have DSP Bios enabled and setup zones 6 and 7 in the tcf file.  The code compiles but on download to the target I get:

"Error found during data verification.  Ensure the linker command file matches the memory map."

 

I cannot find anything in the cmd file, mine or from the example , that indicates anything about the external RAM.  I know that there must be something I am overlooking but cannot seem to fins it.  Any help is appreciated.

 

This is what was added to the tcf file:

bios.MEM.create("ZONE6");
bios.MEM.instance("ZONE6").base = 0x100000;
bios.MEM.instance("ZONE6").len = 0x100000;
bios.MEM.instance("ZONE6").space = "code/data";
bios.MEM.TEXTSEG = prog.get("ZONE6");
bios.MEM.EBSSSEG = prog.get("ZONE6");

bios.MEM.create("ZONE7");
bios.MEM.instance("ZONE7").comment = "This object defines space for the DSP's off-chip memory";
bios.MEM.instance("ZONE7").len = 0x100000;
bios.MEM.instance("ZONE7").space = "code/data";
bios.MEM.instance("ZONE7").base = 0x200000;

 

The XINTF is setup for 32 bit access.  Let me know if there is any additional information that would be useful.

  • Maybe I am looking at this incorrectly.  My initial desire was to have a debug build download through the JTAG and have some code load/run out of external RAM.  I originally had .text and .ebss in Zone6 since these seemed to be relatively large.  The failure was on .text.  I removed .text and left .ebss.  The code now downloads but does not run.

    I think that there are 2 possibilities exist.  1)  I am using 32 bit access and the gel file is setup for 16 bit access. 2) Cannot do what I want through the debugger.  Instead load the application to FLASH and set to run sections from RAM and some from external RAM.

    I would like to skip the flash for now.  Anyone know if the use of a debug build with internal and external RAM can work?

  • Christopher Taylor said:
    1)  I am using 32 bit access and the gel file is setup for 16 bit access.

    Christopher,

    Something to check - open a memory window to the XINTF memory.  Can you write a value to the memory in the debugger?  The gel XINTF init function will need to be run first.  If the write is proper and reads back then things are configured correctly.  If the memory width is not correct for the hardware you will likely see strange readback - like two locations changing instead of one, for example.

    Christopher Taylor said:
    2) Cannot do what I want through the debugger. 

    You are correct that you can load XINTF memory through the debugger assuming it is enabled (clock on) and configured for the write data bus width.

    There are another couple of possibilities:

    If this is a socketed device please make sure it is seated well in the socket.  I've seen them move a bit in shipping.

    There is also an errata for the XINTF that can cause it to hang.  The workaround is to issue a watchdog reset. 

    Please refer to the description in www.ti.com/lit/SPRZ272

    Another thing to check is that the XREADY pin.

    Regards,

    -Lori