cancel
Showing results for 
Search instead for 
Did you mean: 

Where can I find the Register descriptions for the ARMv6-M / Cortex M0 processor ?

T J
Lead
Posted on December 30, 2016 at 02:30

Cortex M0 is an ARMv6-M processor. (using an '091 with CubeMX 4.18, Keil uV5 )

I am trying to initialise the DMA Circular buffer configuration

I cannot find an implementation of the Circular buffer.

in the examples,

 Uart two boards_COMDMA

 EvalUartHyperterminalDMA

both use NORMAL mode. 

  hdma_tx.Init.Mode                = DMA_NORMAL;

???

1 ACCEPTED SOLUTION

Accepted Solutions
Posted on December 30, 2016 at 09:03

ARM has Technical Reference Manuals for the core, the peripherals including DMA are not in the core.

ST has a Reference Manual for each STM32 model. Circular DMA is a bit that causes it to reinitialize itself at the TC event. Use HT and TC interrupts to manage the currently inactive half of the buffer.

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

View solution in original post

4 REPLIES 4
Posted on December 30, 2016 at 09:03

ARM has Technical Reference Manuals for the core, the peripherals including DMA are not in the core.

ST has a Reference Manual for each STM32 model. Circular DMA is a bit that causes it to reinitialize itself at the TC event. Use HT and TC interrupts to manage the currently inactive half of the buffer.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
T J
Lead
Posted on December 31, 2016 at 00:25

Thanks Clive,

can you point me to a document that describes the CIRCULAR buffer function, flags and control method ?

T J
Lead
Posted on December 31, 2016 at 02:47

Thanks Clive, I have it all running now in NORMAL mode.

:(

but now, I cant declare putc.

extern 'C' puts works perfectly, but

extern 'C' putc wont compile

I am now using putcU1 to inject the single char into the DMA buffer

I guess I need to learn how to initialise a stream and point to it.

:(

Would you have any links for guidance ?

thanks to
Andrei Chichak

The peripherals are not a part of the ARM architecture. These are added by the manufacturers and vary wildly.
You are probably looking for theSTM32F091 reference manual. Weighing in at 1004 pages:
http://www.st.com/content/ccc/resource/technical/document/reference_manual/c2/f8/8a/f2/18/e6/43/96/DM000319pdf/files/…
 

�?�?�?�?�?�?�?�?�?�?�?

Posted on December 31, 2016 at 02:15

 ,

 ,

Not sure I can help you with HAL coding, I've posted quite a few examples of USART DMA

These for the F4, but illustrative

 ,

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