AnsweredAssumed Answered

PE not initializing DMA properly

Question asked by Paul DeRocco on Sep 2, 2014
Latest reply on Sep 23, 2014 by Paul DeRocco

I'm using KDS 1.1.1 with Processor Expert on a FRDM-K64F project. I've set up a couple of DMA channels to talk to UART0, just as I've done before with Codewarrior. The generated code does not initialize the source and destination addresses. I've attached the DMA_Config.h file, which shows in the initial long comment all my settings, but there is no definition for the four DMA_TCD*_*ADDR_VALUE symbols. PE isn't complaining about anything, the code compiles and runs, but of course it doesn't work.

 

Another thing: when I use EmbSys Registers to display the register contents, both before and after calling PE_low_level_init(), it shows random bits in all the registers of all the DMA channels that I'm not using, as well as in the SADDR and DADDR registers of the two that I am using. The chip docs say these registers have undefined reset values, so I would think some generated could would be responsible for clearing them all to something reasonable first. Not sure how this worked in Codewarrior, but it certainly did work.

Original Attachment has been moved to: DMA_Config.h.txt.zip

Outcomes