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.

How to see the value of a register

     I use the EDMA of 6747 in my project.After setup of the register OPT of EDMA, i input the address of register OPT in the window of "memory" in order to see the value i send to it, but the value in memory is not what i send and seems not change.

      In my opinion , the register is a part of memory to DSP, so i can get the value i send to it.

     So i want to know the reason of it or the right understanding to register. Maybe it depends to the kind of the register?

     Thank you!

  • Hi Huichao

    Yes you should be able to see the PARAM.OPT field without any issues in the memory window, as long as

    1) Clocks are enabled to the EDMA CC (via the power sleep controller)

    2 ) You are viewing the correct address (the PARAM that you are programming for your DMA channel).

    3) The memory map is setup correctly in GEL file, for read/writability (are you using a c6747 GEL file?), Here is a sample initialization that is being done in the GEL file provided by Spectrum Digital for the C6747 EVM

    /* Peripherals */
    GEL_MapAddStr( 0x01C00000, 0, 0x00008000, "R|W|AS4", 0 ); // TPCC
    GEL_MapAddStr( 0x01C08000, 0, 0x00000400, "R|W|AS4", 0 ); // TPTC0
    GEL_MapAddStr( 0x01C08400, 0, 0x00000400, "R|W|AS4", 0 ); // TPTC1

    Can you elaborate on what you program and what you see, along with the exact memory map you are looking at?

    Regards

    Mukul

  • Mukul is exactly correct. One other thing that might help is some more info on Mukul's #2 above. There is one OPT register per PARAM set (as he mentions). For example, on the C6748, the following memory map holds true (you'll have to access the 6747 datasheet for the same numbers for your device):

     

    As you can see, OPT is an offset of ZERO from the base PARAM set address. So, for instance, if I wanted to locate the memory address for the OPT register associated with PARAM SET #2, looking at both tables above, I would get:

    0x01C04040 + offset of ZERO (for OPT) = 0x01C04040. Again the C6747 might have slightly different addresses, but the procedure of locating the OPT field in memory is the same.

    Mukul's answer covers all the bases - I just wanted to elaborate on the 2nd one because I've seen people have more trouble with this particular idea of multiple PSETs and offsets per 32-bit word in each PSET. I myself had to hunt for this the first (and second and third) time before I got used to it.

    As Mukul said, if you have more specific information about the memory address YOU are using and which channel you are trying to see, that would help.

    Cheers,

    Eric

  •      Thank you, Mukul! Your reply is very helpful! I have learned a lot from your help!

         The question has been solved.The reason is just like #3 in what you said.

         Thank you again!

  •    Thank you, Eric!Your help make me have learned  more. 

  • I have the same issue on 816x evm with CCSv5. In memory browser window, all memory contents for EDMA PARAMs are zeros. My code can't change them, even I can't change them manually with CCS. I believe I have issue #1: clocks are not enabled to EDMA CC. How can I enable EDMA clock? In Gel file or in my code? Can you give me a Gel example to enable clock to EDMA? Thanks

    Alex