Hello,
I've a small program for packetDMA with the MulticoreNavigator:
-open CPPI with 1 Rx-Channel, Flow, ...
-transfer some data with packetDMA
-close Rx-Channel, CPPI close & exit
Now integrating the SRIO-Example, it's not possible with the SRIO_init to execute the packetDMA twice as the CPPI_exit fails. Program flow is as follows:
-open CPPI with 1 Rx-Channel, Flow, ...
-transfer some data with packetDMA
-execute SRIO_deviceInit
-execute SRIO_init() -> opens 16 Rx-Channels
-close Rx-Channel, CPPI close & exit (now this fails)
Executing the program ones again, packetDMA stucks while receiving packets. I tried to close the SRIO-Rx-channels manually and then close the SRIO-CPPI-Handle (gSRIODriverMCB.cppiHnd). But this close fails with errorCode -128 (not all Rx-Channels closed).
It's not possible to get the opened Rx-Channels, isn't? How can all SRIO-Setup for CPPI be closed to avoid dependencies to other units using CPPI? I was not able to found any method, whether in the SRIO LLD nor in the CPPI to close any open items.
Any suggestions?
Regards,
Bernd