Until now in all Kinetis samples i found the DMAMUX source channels were numbers, like
DMAMUX_CHCFG0 = DMAMUX_CHCFG_SOURCE(15) ; | //I2S0 Transmit |
DMAMUX_CHCFG0 = DMAMUX_CHCFG_SOURCE(35) ; | // FTM2_CH1 trigger - CH1 is used only to generate the DMA request |
Were can i find a complete list, like
DMAMUX_SRC_UART0_RX | = 2, | ||
DMAMUX_SRC_UART0_TX | = 3, | ||
DMAMUX_SRC_UART1_RX | = 4, | ||
DMAMUX_SRC_UART1_TX | = 5, | ||
DMAMUX_SRC_UART2_RX | = 6, | ||
DMAMUX_SRC_UART2_TX | = 7, | ||
DMAMUX_SRC_UART3_RX | = 8, | ||
DMAMUX_SRC_UART3_TX | = 9, | ||
DMAMUX_SRC_UART4_RX | = 10, | ||
DMAMUX_SRC_UART4_TX | = 11, |
The reference manual says: Can be found somewhere else.
Or somebody can explain the rules how to determine those numbers.
Currently i want to put timer capture results into a cyclic buffer on the KL05.
OK, i found the channel numbers in the KL05P48 reference manual, p61f.
I also found the file dma_channels.h in the KL05 SC sample code archive src/cpu folder, but they don't agree. Apparently the include file in the sample code was written for a different CPU not the KL05. Also the numbers in the include file are not unique. For example all three DMA_UART1RX_CH, DMA_I2C1_CH and DMA_CMP1_CH are defined as 2. What does that mean?
Hi,
I have checked the file you mentioned and it seems to be incorrect.
I recommend you to refer to the Table 3-20. DMA request sources - MUX 0
in the RM. Those values are the ones you have to use.
I will send this feedback about this, so this can be corrected.
Best Regards,
Alejandro
I have the same question for the KW2x family of microcontrollers... Where can I found a list of DMA Sources that define DMAMUX?
Hi Joe
You need to look in "DMA request multiplexer configuration". This is chapter 10.3.8 in the KW2X user's manual.
There is a DMA MUX request source table (Table 10-19).
The KW2x is however compatible with first generation Kinetis parts (like K60) - just with a few sources that aren't available, such as UART5 and I2C1 etc.
Regards
Mark
Kinetis: µTasker Kinetis support
For the complete "out-of-the-box" Kinetis experience and faster time to market
That's what I was after. Thanks Mark!
Just my two cents, but shouldn't these be in the derivative of each MCU? That way I could refer to something like "DMAMUX_SRC_UART0_RX" in my code instead of source "2" and then I'd have code that would more easily port to other projects.
Joe
Attached is the DMAMUX extract from the uTasker project which is compatible with all supported Kinetis parts (requires no porting) - of course hard coding such values, as you point out, is a generally unsuitable method for portability.
Regards
Mark
Kinetis: µTasker Kinetis support
For the complete "out-of-the-box" Kinetis experience and faster time to market