cancel
Showing results for 
Search instead for 
Did you mean: 

Use BitBand-Adress to feed DMA ?

FKaes.1
Associate II

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

1 ACCEPTED SOLUTION

Accepted Solutions

>> 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

View solution in original post

3 REPLIES 3
FKaes.1
Associate II

--

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

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..

>> 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