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.

MSP432P401R: MSP432 DMA with Bit-Band alias addresses

Part Number: MSP432P401R

Hello,

is it possible to write to bit-band alias addresses with DMA? I have a setup here where I can successfully write to P5->OUT with DMA, but changing the DMA destination address to the corresponding bit-band alias address does not work (the pin on P5 is not changed). I have made sure that I use byte-access, and the bit-band documentation states that it will transform a byte-wise access to a byte-wise access on the peripheral (which is needed in this case).

Are there any examples to set GPIO pins with bit-band addresses via DMA access?

Maybe the UDMA has no access to the bit-band areas?

Thanks for your time &help,

Andreas

  • BTW, what you need? Fast switching of one port pin only? Shifting out data on one port pin?
  • Well, I want to output PCM audio data via SPI. I have programmed a scatter-gather sequence to assert/deassert the SPI CS line and output 16 bits via SPI. When DMA write to Px->OUT, all the 8 bits are affected. Since I want this SW module to be as generic as possible, I would like to control only one specific bit on a port (in this case the CS line), and that's the reason why I want to use bit-band aliases. I am using this method quite successfully with all my other GPIO communication.
  • Any TI expert out there who can answer this question?

  • Andreas,

      There are no examples using the DMA to write to the bitband region.  I do not believe that the DMA can access the memory region which includes the bit-band aliasing.  There is a statement in the datasheet which states that the DMA must only use the SRAM system space.  While this statement only contrasts system to SRAM code space, based upon my limited experimentation, you should see the same bus error if you attempt to write to the bit-band space with the DMA.

    Regards,

    Chris

  • Thanks for your explanation, Chris. As far as I remember I didn't even get a bus error - the program was still running, but no change on a GPIO pin could be measured. For the future I will keep in mind that DMA and bit band addresses can't be used together.
    BR, Andreas

**Attention** This is a public forum