<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>S32KのトピックWrong dmaController generated code in SDK_S32K1xx_13</title>
    <link>https://community.nxp.com/t5/S32K/Wrong-dmaController-generated-code-in-SDK-S32K1xx-13/m-p/835901#M3293</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I have been updating my developed examples from SDK_S32K14X_11 (&lt;SPAN style="font-size: 11pt; color: #000000;"&gt;&lt;STRONG&gt;S32SDK_S32K14x_BETA_1.9.0&lt;/STRONG&gt;&lt;/SPAN&gt;) to SDK_S32K1xx_13 (&lt;SPAN style="color: #000000;"&gt;&lt;STRONG style="font-size: 11pt;"&gt;S32SDK_S32K1xx_BETA_2.9.0&lt;/STRONG&gt;&lt;/SPAN&gt;) and I found out that there might be a possible bug in Processor Expert while generating code for dmaController.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DmaController uses edma_channel_config_t structure for configuring each channel.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below you can see both versions &lt;STRONG&gt;SDK_S32K14xx_11 &lt;/STRONG&gt;and&lt;STRONG&gt; SDK_S32K1xx_13&lt;/STRONG&gt; (edma_driver.h:287). I have highlighted the issue.&lt;/P&gt;&lt;P&gt;As you can see the generated code (dmaController.c) in SDK_S32K1xx_13 does not include the FEATURE_DMAMUX_AVAILABLE condition to check its compatibility (included in the header edma_driver.h).&lt;/P&gt;&lt;P&gt;It is possible that Processor Expert offer an option to define FEATURE_DMAMUX_AVAILABLE but I have not found it. Sounds to me that the condition should still be in the generated code check for that feature availability, especially if the header file is checking on it too.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can somebody confirm if this is a known issue?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SDK_S32K14xx_11 (edma_driver.h)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* @brief The user configuration structure for the an eDMA driver channel.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;*&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* Use an instance of this structure with the EDMA_DRV_ChannelInit() function. This allows the user to configure&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* settings of the EDMA channel with a single function call.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* Implements : edma_channel_config_t_Class&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;typedef&lt;/STRONG&gt; &lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;struct&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#if&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: white;"&gt; FEATURE_DMA_CHANNEL_GROUP_COUNT &amp;gt; 0x1U&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#ifdef&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: white;"&gt; FEATURE_DMA_HWV3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; edma_group_priority_t groupPriority; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f; background: white;"&gt;/*!&amp;lt; eDMA group priority. Used while eDMA&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group arbitration is set to fixed priority. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#endif&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#endif&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_channel_priority_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;channelPriority&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; eDMA channel priority - only used when channel&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arbitration mode is 'Fixed priority'. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;uint8_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;virtChnConfig&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; eDMA virtual channel number */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032; background: yellow;"&gt;dma_request_source_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0; background: yellow;"&gt;source&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: yellow;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f; background: yellow;"&gt;/*!&amp;lt; Selects the source of the DMA request for this channel */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_callback_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;callback&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; Callback that will be registered for this channel */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;void&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; * &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;callbackParam&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; Parameter passed to the channel callback */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;} &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_channel_config_t&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_channel_config_t&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; dmaController1Chn0_Config = {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .channelPriority = &lt;/SPAN&gt;&lt;EM style="color: #0000c0; font-size: 10.0pt;"&gt;EDMA_CHN_DEFAULT_PRIORITY&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .virtChnConfig = EDMA_CHN0_NUMBER,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background: yellow;"&gt;.source = &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;EM style="color: #0000c0; background: yellow; font-size: 10.0pt;"&gt;EDMA_REQ_LPUART0_RX&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: yellow;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .callback = NULL,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .callbackParam = NULL&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;};&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SDK_S32K1xx_13 (edma_driver.h)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* @brief The user configuration structure for the an eDMA driver channel.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;*&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* Use an instance of this structure with the EDMA_DRV_ChannelInit() function. This allows the user to configure&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* settings of the EDMA channel with a single function call.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* Implements : edma_channel_config_t_Class&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;typedef&lt;/STRONG&gt; &lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;struct&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#if&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: white;"&gt; FEATURE_DMA_CHANNEL_GROUP_COUNT &amp;gt; 0x1U&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#ifdef&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: white;"&gt; FEATURE_DMA_HWV3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; edma_group_priority_t groupPriority;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f; background: white;"&gt;/*!&amp;lt; eDMA group priority. Used while eDMA&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group arbitration is set to fixed priority. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#endif&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#endif&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_channel_priority_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;channelPriority&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; eDMA channel priority - only used when channel&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arbitration mode is 'Fixed priority'. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;uint8_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;virtChnConfig&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; eDMA virtual channel number */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: yellow; font-size: 10.0pt;"&gt;#ifdef&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: yellow;"&gt; FEATURE_DMAMUX_AVAILABLE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: yellow;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dma_request_source_t source;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f; background: yellow;"&gt;/*!&amp;lt; Selects the source of the DMA request for this channel */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: yellow; font-size: 10.0pt;"&gt;#endif&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_callback_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;callback&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; Callback that will be registered for this channel */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;void&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; * &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;callbackParam&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; Parameter passed to the channel callback */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;enableTrigger&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; Enables the periodic trigger capability for the DMA channel. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;} &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_channel_config_t&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;dmaController.c&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_channel_config_t&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; dmaController1Chn0_Config = {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .channelPriority = &lt;/SPAN&gt;&lt;EM style="color: #0000c0; font-size: 10.0pt;"&gt;EDMA_CHN_DEFAULT_PRIORITY&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .virtChnConfig = EDMA_CHN0_NUMBER,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background: yellow; text-decoration: underline;"&gt;.source = EDMA_REQ_LPUART0_RX,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .callback = NULL,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .callbackParam = NULL,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .enableTrigger = false&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;};&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 14 Nov 2018 18:58:55 GMT</pubDate>
    <dc:creator>jorgesuarez-riv</dc:creator>
    <dc:date>2018-11-14T18:58:55Z</dc:date>
    <item>
      <title>Wrong dmaController generated code in SDK_S32K1xx_13</title>
      <link>https://community.nxp.com/t5/S32K/Wrong-dmaController-generated-code-in-SDK-S32K1xx-13/m-p/835901#M3293</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All,&lt;/P&gt;&lt;P&gt;I have been updating my developed examples from SDK_S32K14X_11 (&lt;SPAN style="font-size: 11pt; color: #000000;"&gt;&lt;STRONG&gt;S32SDK_S32K14x_BETA_1.9.0&lt;/STRONG&gt;&lt;/SPAN&gt;) to SDK_S32K1xx_13 (&lt;SPAN style="color: #000000;"&gt;&lt;STRONG style="font-size: 11pt;"&gt;S32SDK_S32K1xx_BETA_2.9.0&lt;/STRONG&gt;&lt;/SPAN&gt;) and I found out that there might be a possible bug in Processor Expert while generating code for dmaController.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;DmaController uses edma_channel_config_t structure for configuring each channel.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below you can see both versions &lt;STRONG&gt;SDK_S32K14xx_11 &lt;/STRONG&gt;and&lt;STRONG&gt; SDK_S32K1xx_13&lt;/STRONG&gt; (edma_driver.h:287). I have highlighted the issue.&lt;/P&gt;&lt;P&gt;As you can see the generated code (dmaController.c) in SDK_S32K1xx_13 does not include the FEATURE_DMAMUX_AVAILABLE condition to check its compatibility (included in the header edma_driver.h).&lt;/P&gt;&lt;P&gt;It is possible that Processor Expert offer an option to define FEATURE_DMAMUX_AVAILABLE but I have not found it. Sounds to me that the condition should still be in the generated code check for that feature availability, especially if the header file is checking on it too.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Can somebody confirm if this is a known issue?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SDK_S32K14xx_11 (edma_driver.h)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* @brief The user configuration structure for the an eDMA driver channel.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;*&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* Use an instance of this structure with the EDMA_DRV_ChannelInit() function. This allows the user to configure&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* settings of the EDMA channel with a single function call.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* Implements : edma_channel_config_t_Class&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;typedef&lt;/STRONG&gt; &lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;struct&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#if&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: white;"&gt; FEATURE_DMA_CHANNEL_GROUP_COUNT &amp;gt; 0x1U&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#ifdef&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: white;"&gt; FEATURE_DMA_HWV3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; edma_group_priority_t groupPriority; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f; background: white;"&gt;/*!&amp;lt; eDMA group priority. Used while eDMA&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group arbitration is set to fixed priority. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#endif&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#endif&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_channel_priority_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;channelPriority&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; eDMA channel priority - only used when channel&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arbitration mode is 'Fixed priority'. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;uint8_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;virtChnConfig&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; eDMA virtual channel number */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032; background: yellow;"&gt;dma_request_source_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0; background: yellow;"&gt;source&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: yellow;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f; background: yellow;"&gt;/*!&amp;lt; Selects the source of the DMA request for this channel */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_callback_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;callback&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; Callback that will be registered for this channel */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;void&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; * &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;callbackParam&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; Parameter passed to the channel callback */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;} &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_channel_config_t&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_channel_config_t&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; dmaController1Chn0_Config = {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .channelPriority = &lt;/SPAN&gt;&lt;EM style="color: #0000c0; font-size: 10.0pt;"&gt;EDMA_CHN_DEFAULT_PRIORITY&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .virtChnConfig = EDMA_CHN0_NUMBER,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background: yellow;"&gt;.source = &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;EM style="color: #0000c0; background: yellow; font-size: 10.0pt;"&gt;EDMA_REQ_LPUART0_RX&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: yellow;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .callback = NULL,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .callbackParam = NULL&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;};&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;SDK_S32K1xx_13 (edma_driver.h)&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* @brief The user configuration structure for the an eDMA driver channel.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;*&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* Use an instance of this structure with the EDMA_DRV_ChannelInit() function. This allows the user to configure&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* settings of the EDMA channel with a single function call.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;* Implements : edma_channel_config_t_Class&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;*/&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;typedef&lt;/STRONG&gt; &lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;struct&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#if&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: white;"&gt; FEATURE_DMA_CHANNEL_GROUP_COUNT &amp;gt; 0x1U&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#ifdef&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: white;"&gt; FEATURE_DMA_HWV3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; edma_group_priority_t groupPriority;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f; background: white;"&gt;/*!&amp;lt; eDMA group priority. Used while eDMA&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f; background: white;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; group arbitration is set to fixed priority. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#endif&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: white; font-size: 10.0pt;"&gt;#endif&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_channel_priority_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;channelPriority&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; eDMA channel priority - only used when channel&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; arbitration mode is 'Fixed priority'. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;uint8_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;virtChnConfig&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; eDMA virtual channel number */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: yellow; font-size: 10.0pt;"&gt;#ifdef&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: yellow;"&gt; FEATURE_DMAMUX_AVAILABLE&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black; background: yellow;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; dma_request_source_t source;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f; background: yellow;"&gt;/*!&amp;lt; Selects the source of the DMA request for this channel */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG style="color: #7f0055; background: yellow; font-size: 10.0pt;"&gt;#endif&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_callback_t&lt;/SPAN&gt; &lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;callback&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; Callback that will be registered for this channel */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;STRONG style="color: #7f0055; font-size: 10.0pt;"&gt;void&lt;/STRONG&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; * &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;callbackParam&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; Parameter passed to the channel callback */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; bool &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #0000c0;"&gt;enableTrigger&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #3f7f5f;"&gt;/*!&amp;lt; Enables the periodic trigger capability for the DMA channel. */&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;} &lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_channel_config_t&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;dmaController.c&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;nbsp;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: #005032;"&gt;edma_channel_config_t&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt; dmaController1Chn0_Config = {&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .channelPriority = &lt;/SPAN&gt;&lt;EM style="color: #0000c0; font-size: 10.0pt;"&gt;EDMA_CHN_DEFAULT_PRIORITY&lt;/EM&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .virtChnConfig = EDMA_CHN0_NUMBER,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="background: yellow; text-decoration: underline;"&gt;.source = EDMA_REQ_LPUART0_RX,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .callback = NULL,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .callbackParam = NULL,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; .enableTrigger = false&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt; color: black;"&gt;};&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 14 Nov 2018 18:58:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Wrong-dmaController-generated-code-in-SDK-S32K1xx-13/m-p/835901#M3293</guid>
      <dc:creator>jorgesuarez-riv</dc:creator>
      <dc:date>2018-11-14T18:58:55Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong dmaController generated code in SDK_S32K1xx_13</title>
      <link>https://community.nxp.com/t5/S32K/Wrong-dmaController-generated-code-in-SDK-S32K1xx-13/m-p/835902#M3294</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for your input.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FEATURE_DMAMUX_AVAILABLE is defined in the device features file(e.g. S32K144_features.h) and it is used to differentiate the feature support based on the platform capabilities.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In the generated code the structure member guarder by the define will be generated only if it is present on that platform. So there is no need for the define to be added in the generated code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Rares&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Nov 2018 12:46:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Wrong-dmaController-generated-code-in-SDK-S32K1xx-13/m-p/835902#M3294</guid>
      <dc:creator>raresvasile</dc:creator>
      <dc:date>2018-11-15T12:46:05Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong dmaController generated code in SDK_S32K1xx_13</title>
      <link>https://community.nxp.com/t5/S32K/Wrong-dmaController-generated-code-in-SDK-S32K1xx-13/m-p/835903#M3295</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Rares,&lt;/P&gt;&lt;P&gt;Thanks for the message. Indeed, I was expecting it to be generated depending on the platform. I can see that the macro is defined in the features header file as you mentioned. Despite of updating the repository for the processor, it looks that the new header files are not pulled from the new SDK when porting. Hence the project is using the old platform files. If this is not happening automatically when updating repository it would be nice to have a porting guide for all those necessary changes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="ProcessorExpert.PNG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/74976i80146EAF8EF950FA/image-size/large?v=v2&amp;amp;px=999" role="button" title="ProcessorExpert.PNG" alt="ProcessorExpert.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 15 Nov 2018 18:30:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Wrong-dmaController-generated-code-in-SDK-S32K1xx-13/m-p/835903#M3295</guid>
      <dc:creator>jorgesuarez-riv</dc:creator>
      <dc:date>2018-11-15T18:30:21Z</dc:date>
    </item>
    <item>
      <title>Re: Wrong dmaController generated code in SDK_S32K1xx_13</title>
      <link>https://community.nxp.com/t5/S32K/Wrong-dmaController-generated-code-in-SDK-S32K1xx-13/m-p/835904#M3296</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Jorge,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Sorry for the delay.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First, you need to go to Project Properties -&amp;gt; C / C++ Build -&amp;gt; Settings -&amp;gt; C Compiler -&amp;gt; Includes and remove all Preprocessor Include Paths starting with ${S32K146_SDK_&amp;lt;version&amp;gt;_PATH}.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/77843i5C99568D6F1D542F/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Second, go to&amp;nbsp;&lt;SPAN&gt;Project Properties -&amp;gt; Processor Expert -&amp;gt; S32 SDK Specific and update SDK path to point to BETA 2.9.0.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_2.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/77897i83C6E60D7291B7DE/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_2.png" alt="pastedImage_2.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Click OK and then delete the contents of SDK and Generated Code folders.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Now it should work ok.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;PS. Please refer to release notes for changes that are needed in the project to accommodate&amp;nbsp;SDK changes.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Best regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;Rares&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 22 Nov 2018 08:31:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S32K/Wrong-dmaController-generated-code-in-SDK-S32K1xx-13/m-p/835904#M3296</guid>
      <dc:creator>raresvasile</dc:creator>
      <dc:date>2018-11-22T08:31:59Z</dc:date>
    </item>
  </channel>
</rss>

