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.

Flash load to NVSRAM

Hello,

I've inherited a project, both the target hardware and the C28 firmware.  Part of the project is associated with NVSRAM (SIMTEK).  I've created the output file in CCS, and am trying to flash it in, but am getting a data verification error, as shown in the picture below

That address complained about, is the NVSRAM, as indicated in the project's associated .cmd file:

and:

I'm a little new to interfacing with the NVSRAM, so don't have many clues on why the flash operation is getting the data verification error on the address associated with it.

Any advice/comments, and how to debug this, would be appreciated.

Robert

  • Additional info - the memory locations at that location are all "0BAD":

    and the memory map looks ok for read/write there too:

  • Robert,

    Is this for F2812?  The only place I saw a part number was in your target configuration name in the screen capture.

    I assume that you are trying to program an NVSRAM hooked up to XINTF.  Are you configuring XINTF prior to the load operation?  This is required for the XINTF to know how to interface with the external memory.  A GEL function is a good way to do this.

    -Tommy

  • Hi Tommy,

    It is a F2812.  Yes, further research showed that there is a prerequisite program/functional block to initialize the XINTF, for the NVSRAM interface, that is not part of the program that I'm trying to load.  Yes, I would like to enable the XINTF via a gel function.  I've found lots of gel files for other members of the 28 family to do this, like 28XXX parts, which have the XINTF_Enable() GEL function.  But I cannot find an equivalent GEL file, or function, for the F28XX parts.  Can you help me find one?

    Robert

  • Robert,

    You will need to create your own initialization function in your GEL file.  I recommend copying the XINTF_Enable() function from another GEL and replacing the contents with your desired XINTF settings.  The syntax is derived from C so it should be easy to do.

    The goal is to have the GEL setup the XINTF in the same way that works in the application.  The simplest approach might be to run your code out of RAM and set a breakpoint where the XINTF interface is working properly.  Then record the XINTF register values at that breakpoint.  You would write these values to the XINTF registers in your GEL function.

    -Tommy

  • Ok, would have been easier with drop in GEL function, like those available for the 28XXX devices.  But shouldn't be too hard, including after your instructions. 

    Thanks.

    Robert