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.

CCS/TMS320F280049: Memory map prevented reading (CAN, LIN)

Part Number: TMS320F280049


Tool/software: Code Composer Studio

Hi all,

with the newest CCS 7.2, I can only read the registers like CanaRegs, LinaaRegs, not the memory regions or my own CAN/LIN definitions.

The memory browser shows "----" for the LIN or CAN address regions; the Expressions window shows "Memory map prevented reading of target" for my own CAN/LIN registers.

Other registers are shown correctly.

I know that these peripherals are special and are defined via bp_16, bp_32 byte_peripheral attribute.

However, I would like to know which setting causes the "Memory map prevented reading of target".

I think this is located in the loaded gel file f280049.gel or in one of the xml files like f280049.xml, f28004x_can_regs.xml.

But which setting?

Stephan

  • In f280049.gel, you should see the lines:

    GEL_MapAddStr(0x00006000,1, 0x0A00, "R|W|AS2",0); /* High Speed Serial Port Registers (Excluding LIN) */
    GEL_MapAddStr(0x00006B00,1, 0x0500, "R|W|AS2",0); /* High Speed Serial Port Registers (Excluding LIN) */

    Note that they've skipped over the LIN registers. You can fix this by changing these two lines to one single line:

    GEL_MapAddStr(0x00006000,1, 0x1000, "R|W|AS2",0); /* High Speed Serial Port Registers (Excluding LIN) */

    Same idea for the CAN registers. Just expect that they're not going to be displayed entirely accurately because of the nature of the memory bridge that the registers are on.

    Whitney
  • Thanks for the info.
    Yes, in f280049.gel, I have even 3 lines for LIN, CAN_A and CAN_B:

    /* Peripheral memory maps */
    GEL_MapAddStr(0x00006A00,3, 0x0100, "R|W|AS2",0); /* LIN Registers */
    GEL_MapAddStr(0x00048000,3, 0x800, "R|W|AS4",0); /* CANA Registers */
    GEL_MapAddStr(0x0004A000,3, 0x800, "R|W|AS4",0); /* CANB Registers */

    Changing the 3 to a 1 or, even better, adding

    GEL_MapAddStr(0x00006A00,1, 0x0100, "R|W|AS2",0); /* LIN_A Registers */
    GEL_MapAddStr(0x00048000,1, 0x800, "R|W|AS4",0); /* CANA Registers */
    GEL_MapAddStr(0x0004A000,1, 0x800, "R|W|AS4",0); /* CANB Registers */

    makes the memory appear.
    I will check how the memory bridge affects how the registers are displayed.