LPC54110 DMA Channel Chaining

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

LPC54110 DMA Channel Chaining

2,178 Views
peter_furtner
NXP Employee
NXP Employee

Our customer SICK wants to use Channel Chaining with the DMA on the LPC54102.

In his configuration DMA Channel 12 services the ADC and writes ADC data into memory. DMA Channel 12 then generates a trigger (via Channel Chaining) for DMA Channel 13, after he has finished writing his block of data into memory. DMA Channel 13 then transfers the data into another block and triggers DMA Channel 1 (UART DMA) after completion of the transfer.

Everything works fine as long as he is in Debug Mode. When he now  disconnects the Debuger from the System his Software is not working anymore.

What may this be.

Many thanks

Peter

Labels (1)
Tags (1)
2 Replies

1,816 Views
Carlos_Mendoza
NXP Employee
NXP Employee

Hi Peter,

In addition to Rocky Song recommendations please make sure the customer has not linked the semihosting library, with this library the application will no longer work standalone - it will only work when connected to the debugger. You can find additional information on this link:

https://community.nxp.com/message/630895 

Hope it helps!

Best Regards,
Carlos Mendoza
Technical Support Engineer

0 Kudos
Reply

1,816 Views
rocky_song
NXP Employee
NXP Employee

DMA channel chaining should not depend on debugger.

Is customer uses same project configuration between debug mode and non-debug mode?

Code in debug mode is usually slower, if software contains some issues (such as close a peripheral too early by checking FIFO empty flag instead of peripheral idle flag) that only appear when code is faster, this can happen.

Another possible cause can be the debug host did some additional initialization that is required by the software, but the software itself does not do them.

To track, suggest to add some debug notification in each stage of channel chain; if project is emergent, as a back up, can manually start another DMA channel in DMA IRQ handler