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/TMS320C6415: Problems with memory mapping, reading and writing.

Part Number: TMS320C6415

Tool/software: Code Composer Studio

I have 4 TMS320C6415 dsp's connected to the XDS510 PP Plus emulator. I am using Code Composer 3.3. These are all requirements and I cannot change them. In code composer, I use the Parallel Debug Manager. I can connect to all 4 DSPs, open workspaces and load programs to these DSPs. However, when I load our custom .gel file, it tries to write to a specific memory location and cannot. To be clear, I am able to read and write to registers in general despite the gel not loading properly.

The error message is "memory mapping prevented write to target memory 0x........". Another error message I sometimes get is "memory mapping prevented read at target memory 0x..........". Is there a common problem/s that would cause this? How can I write to the memory locations required without this error appearing?

  • Hi Matthew

    Matthew Wong1 said:

    . However, when I load our custom .gel file, it tries to write to a specific memory location and cannot. To be clear, I am able to read and write to registers in general despite the gel not loading properly.

    The error message is "memory mapping prevented write to target memory 0x........". Another error message I sometimes get is "memory mapping prevented read at target memory 0x..........". Is there a common problem/s that would cause this?

    The debugger memory map is blocking access to the memory regions that your custom GEL file is trying to write to. 

    Matthew Wong1 said:
    How can I write to the memory locations required without this error appearing?

    You can adjust or turn off the debugger memory map. But before you do this, you have to investigate why the debugger memory map was configured this way in the first place. The debugger memory map is used for protection to prevent invalid memory access. So check if this memory map layout is correct. If it is not, then adjust it (the debugger memory map is often configured by a startup GEL file). If the layout is correct, then you need to see if your custom GEL file is trying to access invalid memory and correct that.

    Hope this helps

    ki

  • Ki,

    I received this gel file from our customer. It works on their system.

    I'm getting the error "memory map preventing write to target memory at 0x18000054.

    I also have a "GEL_MapAdd(0x18000000, 0, 0x00000054, 1, 1)".

    Am I out of range for memory mapping? If so, what will put me within range? What does parameter 0x00000054 mean?

    Matt

  • Matthew Wong1 said:
    GEL_MapAdd(0x18000000, 0, 0x00000054, 1, 1)

    The first parameter is the start address of the range

    The second is the memory page ('0' is the correct value for a non-paged memory system like C6x)

    The third is the length of the range in bytes

    The forth indicates if the range readable (1' = true)

    The fifth indicates if the range is writable.

    So for: 

    Matthew Wong1 said:
    GEL_MapAdd(0x18000000, 0, 0x00000054, 1, 1)

    The above would set a memory range that is readable and writable from addresses 0x18000000 to 0x18000053

  • I changed the range to 0x00000064 and the error seems to go away. Thanks.