MCUXpresso generates invalid eDMA code when "Submit transfer" is enabled (MCXN547 )

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

MCUXpresso generates invalid eDMA code when "Submit transfer" is enabled (MCXN547 )

490 次查看
tjo_dk
Contributor I

Hi,

I am using MCUXpresso Config Tools v26.x with an MCXN547 project and configuring an ADC -> eDMA transfer using the eDMA peripheral component.

Configuration:

  • eDMA Channel API mode: Transactional (transfer configuration)
  • eDMA request: ADC1 FIFO A request
  • Submit transfer: Enabled
  • Auto stop request: Enabled
  • Peripheral request: Enabled

The generated code in peripherals.c contains:

status = EDMA_SubmitTransfer(&DMA0_CH0_Handle,
                             DMA0_CH0_Transfers_config,
                             1U);
assert(status == kStatus_Success);

However, no declaration for status is generated. As a result, the project fails to compile with:

error: 'status' undeclared (first use in this function)

Expected generated code would be either:

status_t status;
status = EDMA_SubmitTransfer(...);

or:

assert(kStatus_Success ==
       EDMA_SubmitTransfer(...));

Has anyone seen this issue before?

Is this a known code-generation bug in Config Tools, or is there an additional configuration option required when using "Submit transfer"?

I can provide the generated peripherals.c and .mex configuration if needed.

Thanks.

标签 (2)
0 项奖励
回复
3 回复数

469 次查看
carlos_o
NXP TechSupport
NXP TechSupport

Hi @tjo_dk 

Thank you for your post!

Could you please share the which package of MCXN547 are you using?

Which version of Config tools are you using? is it 26.03?

Which SDK version do you have installed? 

Please share this information to replicate the setup on my end.

0 项奖励
回复

459 次查看
tjo_dk
Contributor I

Hi

 

Thnaks for the fast responds.

 

Yes, I have v26.03 of the tool

Processors:
MCXN547 (26.03.20) - MCX MCXN

MCUXpresso SDK version 25.13.00

Package: mcuxsdk-core
Version: 2.0.0

The 'Loop all transfeer' in the DMA0- Transfeer Configuration ad this code to DMA0_init()

/* DMA0 loop transfer submit */
status = EDMA_SubmitLoopTransfer(&DMA0_CH0_Handle, DMA0_CH0_Transfers_config, 1U);
assert(status == kStatus_Success);

Where 'status' is not declared anywhere.

 

0 项奖励
回复

432 次查看
carlos_o
NXP TechSupport
NXP TechSupport

Hi @tjo_dk,

I tried to replicate the issue using the same configuration you are using. However, on my side, the code preview already includes the declaration of the status variable in the DMA0_init function.

carlos_o_0-1782316035555.png

 

0 项奖励
回复
%3CLINGO-SUB%20id%3D%22lingo-sub-2384996%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%E5%90%AF%E7%94%A8%E2%80%9C%E6%8F%90%E4%BA%A4%E4%BC%A0%E8%BE%93%E2%80%9D%E6%97%B6%EF%BC%8CMCUXpresso%20%E7%94%9F%E6%88%90%E6%97%A0%E6%95%88%E7%9A%84%20eDMA%20%E4%BB%A3%E7%A0%81%20(MCXN547)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2384996%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E6%82%A8%E5%A5%BD%EF%BC%8C%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E6%88%91%E6%AD%A3%E5%9C%A8%E4%BD%BF%E7%94%A8%20MCUXpresso%20%E9%85%8D%E7%BD%AE%E5%B7%A5%E5%85%B7%20v26.x%20%E5%92%8C%E4%B8%80%E4%B8%AA%20MCXN547%20%E9%A1%B9%E7%9B%AE%EF%BC%8C%E5%B9%B6%E4%BD%BF%E7%94%A8%20eDMA%20%E5%A4%96%E8%AE%BE%E5%85%83%E5%99%A8%E4%BB%B6%E9%85%8D%E7%BD%AE%20ADC%20-%26gt%3B%20eDMA%20%E4%BC%A0%E8%BE%93%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E9%85%8D%E7%BD%AE%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CUL%3E%3CLI%3E%3CSPAN%3EeDMA%E9%80%9A%E9%81%93API%E6%A8%A1%E5%BC%8F%EF%BC%9A%E4%BA%8B%E5%8A%A1%E5%9E%8B%EF%BC%88%E4%BC%A0%E8%BE%93%E9%85%8D%E7%BD%AE%EF%BC%89%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%3EeDMA%20%E8%AF%B7%E6%B1%82%EF%BC%9AADC1%20FIFO%20A%20%E8%AF%B7%E6%B1%82%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%3E%E6%8F%90%E4%BA%A4%E8%BD%AC%E8%B4%A6%EF%BC%9A%E5%B7%B2%E5%90%AF%E7%94%A8%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%3E%E8%87%AA%E5%8A%A8%E5%81%9C%E6%AD%A2%E8%AF%B7%E6%B1%82%EF%BC%9A%E5%B7%B2%E5%90%AF%E7%94%A8%3C%2FSPAN%3E%3C%2FLI%3E%3CLI%3E%3CSPAN%3E%E5%A4%96%E5%9B%B4%E8%AE%BE%E5%A4%87%E8%AF%B7%E6%B1%82%EF%BC%9A%E5%B7%B2%E5%90%AF%E7%94%A8%3C%2FSPAN%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%20class%3D%22%22%3E%E7%94%9F%E6%88%90%E7%9A%84%3CSPAN%3Eperipherals.c%3C%2FSPAN%3E%3CSPAN%3E%E4%BB%A3%E7%A0%81%3C%2FSPAN%3E%3CSPAN%3E%E5%8C%85%E5%90%AB%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20translate%3D%22no%22%3E%3CSPAN%3Estatus%20%3D%20EDMA_SubmitTransfer(%26amp%3BDMA0_CH0_Handle%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20DMA0_CH0_Transfers_config%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%201U)%3B%0Aassert(status%20%3D%3D%20kStatus_Success)%3B%3C%2FSPAN%3E%3C%2FPRE%3E%3CP%20class%3D%22%22%3E%E7%84%B6%E8%80%8C%EF%BC%8C%E5%B9%B6%E6%9C%AA%E7%94%9F%E6%88%90%3CSPAN%3E%E7%8A%B6%E6%80%81%3C%2FSPAN%3E%3CSPAN%3E%E5%A3%B0%E6%98%8E%3C%2FSPAN%3E%3CSPAN%3E%E3%80%82%E5%9B%A0%E6%AD%A4%EF%BC%8C%E9%A1%B9%E7%9B%AE%E7%BC%96%E8%AF%91%E5%A4%B1%E8%B4%A5%EF%BC%8C%E5%B9%B6%E6%98%BE%E7%A4%BA%E4%BB%A5%E4%B8%8B%E9%94%99%E8%AF%AF%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20translate%3D%22no%22%3E%3CSPAN%3Eerror%3A%20'status'%20undeclared%20(first%20use%20in%20this%20function)%3C%2FSPAN%3E%3C%2FPRE%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E9%A2%84%E6%9C%9F%E7%94%9F%E6%88%90%E7%9A%84%E4%BB%A3%E7%A0%81%E5%B0%86%E6%98%AF%E4%BB%A5%E4%B8%8B%E4%B8%A4%E7%A7%8D%E4%B9%8B%E4%B8%80%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20translate%3D%22no%22%3E%3CSPAN%3Estatus_t%20status%3B%0Astatus%20%3D%20EDMA_SubmitTransfer(...)%3B%3C%2FSPAN%3E%3C%2FPRE%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E6%88%96%E8%80%85%EF%BC%9A%3C%2FSPAN%3E%3C%2FP%3E%3CPRE%20translate%3D%22no%22%3E%3CSPAN%3Eassert(kStatus_Success%20%3D%3D%0A%20%20%20%20%20%20%20EDMA_SubmitTransfer(...))%3B%3C%2FSPAN%3E%3C%2FPRE%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E6%9C%89%E4%BA%BA%E4%BB%A5%E5%89%8D%E9%81%87%E5%88%B0%E8%BF%87%E8%BF%99%E4%B8%AA%E9%97%AE%E9%A2%98%E5%90%97%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%3CSPAN%3E%E8%BF%99%E6%98%AF%E9%85%8D%E7%BD%AE%E5%B7%A5%E5%85%B7%E4%B8%AD%E5%B7%B2%E7%9F%A5%E7%9A%84%E4%BB%A3%E7%A0%81%E7%94%9F%E6%88%90%E9%94%99%E8%AF%AF%EF%BC%8C%E8%BF%98%E6%98%AF%E5%9C%A8%E4%BD%BF%E7%94%A8%E2%80%9C%E6%8F%90%E4%BA%A4%E4%BC%A0%E8%BE%93%E2%80%9D%E6%97%B6%E9%9C%80%E8%A6%81%E9%A2%9D%E5%A4%96%E7%9A%84%E9%85%8D%E7%BD%AE%E9%80%89%E9%A1%B9%EF%BC%9F%3C%2FSPAN%3E%3C%2FP%3E%3CP%20class%3D%22%22%3E%E5%A6%82%E6%9C%89%E9%9C%80%E8%A6%81%EF%BC%8C%3CSPAN%3E%E6%88%91%E5%8F%AF%E4%BB%A5%E6%8F%90%E4%BE%9B%E7%94%9F%E6%88%90%E7%9A%84%3C%2FSPAN%3E%3CSPAN%3Eperipherals.c%3C%2FSPAN%3E%3CSPAN%3E%E5%92%8C%3C%2FSPAN%3E%3CSPAN%3E.mex%3C%2FSPAN%3E%3CSPAN%3E%E9%85%8D%E7%BD%AE%E6%96%87%E4%BB%B6%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3CP%3E%3CSPAN%3E%E8%B0%A2%E8%B0%A2%E3%80%82%3C%2FSPAN%3E%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-2384996%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CLINGO-LABEL%3E%E7%94%B5%E8%B7%AF%E6%9D%BF%E8%AE%BE%E8%AE%A1%3C%2FLINGO-LABEL%3E%3CLINGO-LABEL%3EMCX%20N%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2385509%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MCUXpresso%20generates%20invalid%20eDMA%20code%20when%20%22Submit%20transfer%22%20is%20enabled%20(MCXN547%20%20)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2385509%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHI%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%BF%AB%E9%80%9F%E5%9B%9E%E5%A4%8D%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3CP%3E%E6%98%AF%E7%9A%84%EF%BC%8C%E6%88%91%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%E8%AF%A5%E5%B7%A5%E5%85%B7%E7%9A%84%20v26.03%20%E7%89%88%E6%9C%AC%E3%80%82%3C%2FP%3E%3CP%3E%E5%A4%84%E7%90%86%E5%99%A8%EF%BC%9A%3CBR%20%2F%3E%20MCXN547%20(2020%E5%B9%B43%E6%9C%8826%E6%97%A5)%20-%20MCX%20MCXN%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%22%3EMCUXpresso%20SDK%3C%2FSPAN%3E%E7%89%88%E6%9C%AC%2025.13.00%3C%2FP%3E%3CP%3E%E8%BD%AF%E4%BB%B6%E5%8C%85%EF%BC%9Amcuxsdk-core%3CBR%20%2F%3E%E7%89%88%E6%9C%AC%EF%BC%9A2.0.0%3C%2FP%3E%3CP%3E%E5%9C%A8%20DMA0%20%E4%BC%A0%E8%BE%93%E9%85%8D%E7%BD%AE%E4%B8%AD%EF%BC%8C%E2%80%9C%E5%BE%AA%E7%8E%AF%E6%89%80%E6%9C%89%E4%BC%A0%E8%BE%93%E2%80%9D%E5%B0%86%E6%AD%A4%E4%BB%A3%E7%A0%81%E6%B7%BB%E5%8A%A0%E5%88%B0%20DMA0_init()%20%E5%87%BD%E6%95%B0%E4%B8%AD%E3%80%82%3C%2FP%3E%3CP%3E%2F*%20DMA0%20%E5%BE%AA%E7%8E%AF%E4%BC%A0%E8%BE%93%E6%8F%90%E4%BA%A4%20*%2F%3CBR%20%2F%3E%20status%20%3D%20EDMA_SubmitLoopTransfer(%26amp%3BDMA0_CH0_Handle%2C%20DMA0_CH0_Transfers_config%2C%201U)%3B%3CBR%20%2F%3E%E6%96%AD%E8%A8%80(%E7%8A%B6%E6%80%81%20%3D%3D%20kStatus_Success)%3B%3C%2FP%3E%3CP%3E%E5%85%B6%E4%B8%AD%E6%9C%AA%E5%9C%A8%E4%BB%BB%E4%BD%95%E5%9C%B0%E6%96%B9%E5%A3%B0%E6%98%8E%E2%80%9C%E7%8A%B6%E6%80%81%E2%80%9D%E3%80%82%3C%2FP%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2385272%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MCUXpresso%20generates%20invalid%20eDMA%20code%20when%20%22Submit%20transfer%22%20is%20enabled%20(MCXN547%20%20)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2385272%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F264030%22%20target%3D%22_blank%22%3E%40tjo_dk%3C%2FA%3E%3C%2FP%3E%0A%3CP%3E%E6%84%9F%E8%B0%A2%E6%82%A8%E7%9A%84%E5%B8%96%E5%AD%90%EF%BC%81%3C%2FP%3E%0A%3CP%3E%E8%AF%B7%E9%97%AE%E6%82%A8%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AFMCXN547%E7%9A%84%E5%93%AA%E4%B8%AA%E8%BD%AF%E4%BB%B6%E5%8C%85%EF%BC%9F%3C%2FP%3E%0A%3CP%3E%E6%82%A8%E4%BD%BF%E7%94%A8%E7%9A%84%E6%98%AF%E5%93%AA%E4%B8%AA%E7%89%88%E6%9C%AC%E7%9A%84%E9%85%8D%E7%BD%AE%E5%B7%A5%E5%85%B7%EF%BC%9F%E6%98%AF%2026.03%20%E7%89%88%E6%9C%AC%E5%90%97%EF%BC%9F%3C%2FP%3E%0A%3CP%3E%E6%82%A8%E5%AE%89%E8%A3%85%E7%9A%84%E6%98%AF%E5%93%AA%E4%B8%AA%E7%89%88%E6%9C%AC%E7%9A%84SDK%EF%BC%9F%3C%2FP%3E%0A%3CP%3E%E8%AF%B7%E5%88%86%E4%BA%AB%E8%BF%99%E4%BA%9B%E4%BF%A1%E6%81%AF%EF%BC%8C%E4%BB%A5%E4%BE%BF%E6%88%91%E8%BF%99%E8%BE%B9%E4%B9%9F%E8%83%BD%E5%A4%8D%E7%8E%B0%E5%90%8C%E6%A0%B7%E7%9A%84%E8%AE%BE%E7%BD%AE%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2385903%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20MCUXpresso%20generates%20invalid%20eDMA%20code%20when%20%22Submit%20transfer%22%20is%20enabled%20(MCXN547%20%20)%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2385903%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E5%97%A8%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fuser%2Fviewprofilepage%2Fuser-id%2F264030%22%20target%3D%22_blank%22%3E%40tjo_dk%3C%2FA%3E%20%EF%BC%8C%3C%2FP%3E%0A%3CP%3E%E6%88%91%E5%B0%9D%E8%AF%95%E4%BD%BF%E7%94%A8%E4%B8%8E%E6%82%A8%E7%9B%B8%E5%90%8C%E7%9A%84%E9%85%8D%E7%BD%AE%E6%9D%A5%E9%87%8D%E7%8E%B0%E8%AF%A5%E9%97%AE%E9%A2%98%E3%80%82%E4%BD%86%E6%98%AF%EF%BC%8C%E5%9C%A8%E6%88%91%E8%BF%99%E8%BE%B9%EF%BC%8C%E4%BB%A3%E7%A0%81%E9%A2%84%E8%A7%88%E4%B8%AD%E5%B7%B2%E7%BB%8F%E5%8C%85%E5%90%AB%E4%BA%86%20DMA0_init%20%E5%87%BD%E6%95%B0%E4%B8%AD%E7%8A%B6%E6%80%81%E5%8F%98%E9%87%8F%E7%9A%84%E5%A3%B0%E6%98%8E%E3%80%82%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%0A%3CP%3E%3CSPAN%20class%3D%22lia-inline-image-display-wrapper%20lia-image-align-inline%22%20image-alt%3D%22carlos_o_0-1782316035555.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cspan%20class%3D%22lia-inline-image-display-wrapper%22%20image-alt%3D%22carlos_o_0-1782316035555.png%22%20style%3D%22width%3A%20400px%3B%22%3E%3Cimg%20src%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fimage%2Fserverpage%2Fimage-id%2F390037iC3628C27E4D071CB%2Fimage-size%2Fmedium%3Fv%3Dv2%26amp%3Bpx%3D400%22%20role%3D%22button%22%20title%3D%22carlos_o_0-1782316035555.png%22%20alt%3D%22carlos_o_0-1782316035555.png%22%20%2F%3E%3C%2Fspan%3E%3C%2FSPAN%3E%3C%2FP%3E%0A%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E