This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

running consecutive programs on DSPC-8681E C66x PCIe card

[Chris had posted this earlier on CCS forum, but it's probably a C66x / Advantech hw issue, so we moved it here.  Jeff]

Hello,

I am working with Advantech's DSPC-8681E PCIe card and their example CCS projects. After loading and running init.out for DDR3 initialization, I am able to run one of their examples correctly, but I am not able to run another example until I reboot the system. I have run into a similar problem with our own CCS project. After loading and running init.out, I can run our project once correctly, but I have to reboot the system to run it again. When I try to load and run the project again, it looks like the code does not even run on the DSP (no variables are set, HWIs and SWIs don't run, etc).

Has anyone else encountered this issue, and what possible solutions exist?

-Chris

Signalogic

  • Jeff,

    Actually, I moved that one to the Code Composer Studio forum as I felt it would probably get more traction there.  The problem is most likely emulation related w/ the SWI's and HWI's, but that's not my area of expertise.  We have no issues of loading and running one program after another w/o reboot on C66x devices.  I doubt it if it were card related either, which leaves SW and Emulation.

    Best Regards,

    Chad

  • Jeff and Chris,

    What is your method for resetting the DSPs after running an example? Using CCS to reset the DSP has a couple limitations. Using the System reset will reset the PCIe module on the board and can remove the connection to the host over PCIe. The CPU reset will only reset the DSP core and not any of the other modules on the board. 

    You could try using the Desktop-Linux-SDK which contains utilities to initialize, download, and reset the DSPs on the Advantech platform. The reset utility will reset all of the modules on the board except for PCIe.  In addition to these utilities, there are also software components to communicate and transfer data between the host PC and the DSPs by using either a CPU copy or using the host to control the DSPs DMA. 

    - Jake

    The software package includes all sources and is available at http://software-dl.ti.com/sdoemb/sdoemb_public_sw/desktop_linux_sdk/latest/index_FDS.html . 

  • Chad-

    This has to do with the DSPC-8681E card, not generic C66x device reset functionality.

    Jacob-

    We are not using CCS + JTAG.  We thought we were doing a CPU reset (not entire chip), trying to avoid the loss of PCIe connectivity, but either we got that wrong or something happens on the card that we're not yet fully understanding.

    Yes we will try the SDK reset utility and take a look at its source.  Can I ask, why is there a separate utility?  I would have expected some type of "CPUReset" or "CoreReset" API within the SDK, for example a driver function accessible by a user-space ioctl call.

    As a side note, we are using the Advantech init.out not the TI version -- if we should be using the TI version let us know.


    Thanks.

    -Jeff