eMDA config tools

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

eMDA config tools

Jump to solution
2,709 Views
auftrag2021
Contributor III

when I try to setup the eDMA by using the config tools, this windows pops up:

I did some trials, the auto-code from different version are quite different. 

What should supposed to use?  eDMA2.3.0 or the 2.4.0

Does NXP have any update info for this version update?

auftrag2021_0-1647944320014.png

 

0 Kudos
1 Solution
2,685 Views
martin_stano
NXP Employee
NXP Employee

Hi,

you're right. I suggested you to use non-transactional TCD mode, however as you might notice there is an incorrect implementation of transfer sizes in transactional mode. This is a known issue which will be fixed. As you can see the EDMA_PrepareTransferConfig() function has different parameter input types for source and destination sizes to the EDMA_PrepareTransfer() function. I'm sorry for this inconvenience.

 

Best Regards,

Martin Stano

MCUXpresso Config Tools team 

View solution in original post

0 Kudos
7 Replies
2,697 Views
martin_stano
NXP Employee
NXP Employee

Hi!

I'd recommend you to use the latest eDMA configuration component version, which is 2.4.0. Especially the non-transactional API mode (TCD structures) of the eDMA channels which is the most optimized way to pre-configure the DMA transfers.

The Migration Dialog window which offers you to "downgrade" your current component version is a known bug and it will be fixed in the next Config Tools version release. For now just set the "ignore" checkbox  and press cancel.

Best Regards,

Martin Stano

MCUXpresso Config Tools team

0 Kudos
2,691 Views
auftrag2021
Contributor III

Unfornately what I experienced is exactly the opposition from your suggestion:

when I donwgrade from V2.4.0 to V2.3.0 the eDMA config tools works perfectly, single TCD, scatter gather mode all are good

but when I use the V2.4.0, the result from the eDMA configure just drive me crazy, here is my test result:

I have a very simple srcAddr and dstAddr array as global variable

uint32_t srcAddr[8] = {0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8};   

and

uint32_t dstAddr[8];

below is the "auto-code" from the eDMA (v2.4.0) by using configuration tools 

auftrag2021_0-1647957557306.png

by using different majo loop transfer (bytes), the test result looked like this:

auftrag2021_1-1647957600288.png

Question: Why the output always doubled as the major loop transfer number?

 

in the V2.3.0, when I set

major loop transfer byte as 4, I got -> 1     0     0     0     0     0     0     0

major loop transfer byte as 8, I got -> 1     2     0     0     0     0     0     0

major loop transfer byte as 12,I got -> 1     2     3     0     0     0     0     0

.....

I am pretty sure the results from V2.3.0 is expected exactly due to the reference manual. (4 bytes = 1 uint32_t)

 

the scatter gather mode by V2.4.0 is A desaster. The example code which worked perfectly by V2.3.0. but by V2.4.0 the output is totally wrong.

 

Has any one from NXP validated the result of eDMA config tool in V2.4.0?

 

0 Kudos
2,686 Views
martin_stano
NXP Employee
NXP Employee

Hi,

you're right. I suggested you to use non-transactional TCD mode, however as you might notice there is an incorrect implementation of transfer sizes in transactional mode. This is a known issue which will be fixed. As you can see the EDMA_PrepareTransferConfig() function has different parameter input types for source and destination sizes to the EDMA_PrepareTransfer() function. I'm sorry for this inconvenience.

 

Best Regards,

Martin Stano

MCUXpresso Config Tools team 

0 Kudos
2,679 Views
auftrag2021
Contributor III

thanks for your lightspeed feedback.

I am feeling now much better, it is only a bug in SW tools. I had some time before a doubt the MCU would have some hardware bug.

Thank you for your kindly support

 

 

0 Kudos
2,671 Views
martin_stano
NXP Employee
NXP Employee

You are welcome. I can prepare a hotfix patch with correctly generated code in case you want to use no other than transactional API mode. Are you using MCUXpresso Config Tools version 11?

Best Regards

Martin Stano

MCUXpresso Config Tools team

0 Kudos
2,669 Views
auftrag2021
Contributor III

I am now using MCUXpresso IDE v11.5.0 [Build 7232] [2022-01-11]

0 Kudos
2,664 Views
martin_stano
NXP Employee
NXP Employee

Hi!

As I mentioned, there is a hotfix patch in the attachment. Please follow the instructions for installation from the package.

Best Regards,

Martin Stano

MCUXpresso Config Tools team

0 Kudos