2016-12-29 05:30 PM
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;
???
Solved! Go to Solution.
2016-12-30 12:03 AM
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.
2016-12-30 12:03 AM
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.
2016-12-30 03:25 PM
Thanks Clive,
can you point me to a document that describes the CIRCULAR buffer function, flags and control method ?
2016-12-30 05:47 PM
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/…
�?�?�?�?�?�?�?�?�?�?�?
2016-12-30 06:15 PM
,
,
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
, ,