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.

High level PCIe drivers

Other Parts Discussed in Thread: TMDXEVMPCI, BIOSLINUXMCSDK, TMS320C6678

Hello,

I don't know if this is the place for this question, sorry. We are looking for a PCIe board and we like the TMDXEVM6670L + TMDXEVMPCI set. We are wondering if there are high level PCIe drivers/libraries to plug the boards into a Windows 7 x64 computer. We are using now a third party PCI board with a TMS320C6713 DSP and the PCI drivers from the board manufacturer. If we move to this set, do we need to develop the Windows drivers to send/receive data to/from the host PC?

Thank you very much and best regards,

Ignacio.

  • Hi,

    i'm also interested in these DSPs but i have very few information of how to explore them using PCIe.  My purpose is exclusively high performance computing, therefore the only features i need are the chips and PCIe communication. 

    I've found only found two solutions so far: the AMC to PCIe converter, which requires a EVM (not sure about that) and this http://www.advantech.eu/products/DSPC-8681/mod_A9314996-0022-4927-9AA4-6B1060D4E5E8.aspx, which seems what i'm looking for.

    So, my question is what options do i have just to explore DSPs through PCIe in HPC?

    Thank you for time, my best regards,

    RR

  • Hi Roberto,

    Idle solution for you will be to use the Quad DSP half length PCIe from Advantech. But if you want to understand just the communication between DSP and Host through PCIe, we have a PCIe lld available through the MCSDK for Linux. This can be downloaded from the link below. This has a small kernel level driver,  which can be used as a reference to build the host driver for the DSP board. And yes you need an AMC to PCIe convertor for this. The custom board from Advantech has a driver along with it to help you build your development.

     

    Linux BIOS MCSDK link for C6678

     

    http://www.ti.com/tool/bioslinuxmcsdk

     

    Thanks,

    Arun.

     

  • Hi,

    Now some customers are using EVM66x and AMC2PCIE board for connection between EVM66x and PC through PCIe, Is there PCIe driver for WinXP? How can the customer develop the drive if there is not existing driver?

    Thank you very much.

  • Hi Andy,

    As of now we don't have any plans to support. I will update you once the plans change. Sorry for any inconvenience caused.

    Thanks,

    Arun.

  • Arun,

    I have the TMS320C6678 and the AMC-PCIe adapter board, and I am trying to figure out how to access the DSP and its memory spaces from the Linux host the card is sitting in.  *Not* from the embedded Linux running on the C6678 board, but from the external Linux host.

    I've been referenced to the LLD a few times, as it's been described as a low-level Linux kernel driver, but looking over that, I do not see how it can work (and so far, it hasn't).  It does not probe for PCI addresses, it does not have any ioctl's, it does not result in a module when compiled.

    As near as I can tell, that LLD is meant only for executing directly on the C6678 board, not on an external Linux host.

    I am looking for a Linux driver that can be insmod'd so that the card memory spaces and registers are then accessible from a user-space program running on a Linux host (not the c6x running on the DSP).  Does such a thing exist?

     

    Thanks

     

  • Rob, you may be able to adapt the code in ...\mcsdk_2_00_XX_XX\tools\boot_loader\examples\pcie\linux_host_loader to do what you want.

    I have used that loader code to do things like enable PCIe on the C6678, set up the inbound address translation in the C6678, copy code to the various internal memories, etc.

  • thanks Jonathan.  I've been looking at that today, since I remembered somewhere that I *had* insmod'd something for this board once.

    I can get it to insmod, and I'm pretty sure I can read and manipulate the board registers from there, but I'm still not sure how I'd be able to have a user level program come along and do the same thing later (after the driver has been insmod'd).

    I'm wondering if I have to add code to register the char driver, and then create the /dev file and add ioctl's, etc.  I'm willing to do that, I just wanted to make sure I wasn't overlooking some easier, or already complete way of doing things.