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

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

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

33件の閲覧回数
tjo_dk
Fresh Out Contributor

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 件の賞賛
返信
2 返答(返信)

12件の閲覧回数
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 件の賞賛
返信

2件の閲覧回数
tjo_dk
Fresh Out Contributor

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 件の賞賛
返信