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.

TM4C129ENCPDT: uDMA can access all system memory?

Part Number: TM4C129ENCPDT

Can the uDMA read/write buffers located anywhere in the system memory?

  • Hello again twelve12pm!

    Hope all is well where you are located.

    By 'buffers located anywhere in the system memory' do you mean like, can you declare them and place them anywhere in RAM? If so, yeah there wouldn't be any limitation on location to my knowledge.

    You may want to check out Figure 8-1 in the D/S which shows that the DMA has access to the 'Bus Matrix' that handles both Peripheral and SRAM access.

  • Ralph Jacobi said:

    By 'buffers located anywhere in the system memory' do you mean like, can you declare them and place them anywhere in RAM? If so, yeah there wouldn't be any limitation on location to my knowledge.

    Thank you Ralph. Yes, that is exactly what I meant.

    I am trying to figure out why receiving at the SSI with DMA doesn't seem to work. I am trying to narrow it down to either hardware or software, so I wanted to rule out whether the receive buffer's location in memory might for some reason have changed and gone out of range of the DMA.

    Incidentally, this is in code that was working previously, but I haven't ruled out either hardware or software yet.

  • Perhaps check compiler optimization settings? Sometimes if the optimization is different it can cause different behavior. Just one other idea to pursue. Hopefully you can probe the hardware pins and verify the packet is arriving on the SSI lines. 

  • Thanks, Ralph. We did find the problem. It turned out to be a cold solder joint on PE5. This is the Rx pin so it was not receiving any data. The other SSI pins were connected properly, so DMA completion interrupts were triggering, etc.

    Strangely we have two boards and the problem appeared on both, hence looking into software. What are the chances that the same pin wouldn't be soldered on two boards? About to check the other board...

  • Hi twelve12pm,

    Yeah that would do it...!

    I would presume the chance for two cold joints would be very low... if that is the case, maybe could be a process flow issue possibly depending how they are manufactured and the other connections near that one? (I know very little of this topic though haha)

  • I was asking myself the same question. Alas this is the challenge with prototype boards: because there are only two, they were assembled and soldered manually.

    Oh, we looked at it under the microscope and couldn't see the cold joint because of the light reflecting off all the tiny shiny surfaces. It's hard to see what's solder and what isn't. It wasn't until we used the tip of some sharp tweezers to apply a tiny sideways pressure to the pin, then we could see it move.

    We don't know yet whether the second board has the same cold solder joint. It's a big job to remove it from the equipment and get access, so I'm still waiting on that. I might not know until tomorrow... This one certainly is a tale from the cube though.