Skip to main content
FKaes.1
Associate III
April 13, 2022
Solved

Use BitBand-Adress to feed DMA ?

  • April 13, 2022
  • 3 replies
  • 2210 views

Hello all, basicly I want to transfer 32bit data bit-wise to a periphal address. Therefore I tried a 200 IQ move and fed the DMA with the bitband adress of the 32Bit data.But the DMA directly sets the error flag. I didn't found a hint in the data sheets, that it isn't allowed to use 0x2200_0000 as source adress for the DMA. Anyone who can help ?

Btw: I'm using a stm32L433

0693W00000LxusuQAB.png

This topic has been closed for replies.
Best answer by waclawek.jan

>> I didn't found a hint in the data sheets, that it isn't allowed to use 0x2200_0000 as source adress for the DMA.

> Bit-banding is a manifestation of the CPU core, not the memory buses outside of it.

This information is not that straightforwardly obvious, but it's there.

0693W00000LxvW6QAJ.png 

i.e. the translation between the "real" data on the bus system and the bit-band alias is performed here:

0693W00000LxvWfQAJ.pngi.e. it's not in the path between DMA and any memory.

Some related writeup here.

JW

3 replies

FKaes.1
FKaes.1Author
Associate III
April 13, 2022

--

Tesla DeLorean
Guru
April 13, 2022

Bit-banding is a manifestation of the CPU core, not the memory buses outside of it.

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
waclawek.jan
waclawek.janBest answer
Super User
April 13, 2022

>> I didn't found a hint in the data sheets, that it isn't allowed to use 0x2200_0000 as source adress for the DMA.

> Bit-banding is a manifestation of the CPU core, not the memory buses outside of it.

This information is not that straightforwardly obvious, but it's there.

0693W00000LxvW6QAJ.png 

i.e. the translation between the "real" data on the bus system and the bit-band alias is performed here:

0693W00000LxvWfQAJ.pngi.e. it's not in the path between DMA and any memory.

Some related writeup here.

JW