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.

MMR reserved memory & system registers

Other Parts Discussed in Thread: TMS320C5505

Hi,

I'm working on the TMS320C5505 and I don't understand how is defined the memory map.

According to the system memory section of user guide, a MMR section is defined and reserved for the system. What it is dedicated for ?

Are memory mapped registers (MMR) same as the system registers (I mean registers for configuring preipheral device like SPI, I2C, etc.) ?

If yes, I don't understand why configuration registers are defined at address above 0x00C0, for example 0x1000 for EMIF registers.

On memory mapping (.cmd file), do I have to define a reserved location specially for configuration registers and to prevent of any access conflict with data or code sections ?

Thanks for help.

Diane

  • Diane,

     The C55x has a separate bus for I/O.  The I/O bus is used to configure peripherals (such as SPI and I2C), and so addresses on that bus do not conflict with instruction or data addresses.  You can define the I/O addresses in your .cmd file but it really isn't necessary since they are at fixed addresses.

    There are a few addresses which are mapped into the data memory space.  These are typically CPU registers.  The safest thing to do is just to reserve that section of the memory map in your .cmd file and do not locate anything there.

    Note that there are many, many example .cmd files in the example code to get you started. 

     Regards,

    Bill 

  • Hi Bill,

    Thanks to clarify me.

    But, the .cmd file seems to mapping only the data or program memory space.

    I do not see how to define I/O addresses in the .cmd file.

    Regards,

    Diane