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.

C66x and Syslink

For the last few months I have been developing a machine vision application on the C6A8168, but unfortunately it appears that this device is not sufficiently powerful for our requirements.  Its pluses are the ability to run Linux implying the possibility of porting openCV, the multiple camera interfaces, USB support, and a built-in frame buffer interface, so I would really like to keep it.

Something that would satisfy our needs would be the use of a C6674, do to the up-front image processing, followed by the C6A8168.  An obvious way to do this would be to have the C6674 issue an interrupt to the C6A8168 upon completion of the processing of each image frame.  Would it also be possible to have the C6674 issue either a notify or a message to the C6A8168 via Syslink?  I'm already using Syslink between the ARM Cortex A8 and the C674 DSP.  How could Syslink running on the ARM be configured to work with an external C6674?

Lee

 

  • Lee,

    I'm going to move this to the BIOS forum.  I'm personally not aware of any transport (physical interface) that can be used to communicate between SysLink and BIOS IPC on the DSP.  IPC supports Serial RapidIO as a transport to communicate between two C66x DSPs, however this interface doesn't exist on C6A8168.  Hopefully someone in the BIOS forum can comment.

     

    Regards,

    Travis

     

  • Lee --

    I think ethernet would work.  We have a TCP/IP stack for the C66 devices.  You could connect the C66 and to the Linux core via ethernet and use ethernet sockets to talk back and forth.  UDP would give better performance than TCP/IP but both are available.

    -Karl-

  • Karl Wechsler said:
    I think ethernet would work.  We have a TCP/IP stack for the C66 devices.

    A bit round-about.  I'm really looking for a solution where either a C6674 or a C6678 coexist with a C6A8168 on the same board.  The idea is that the C66x part does the up-front image processing, an image comes in and new images are created and placed in shared DDR3 memory.  For this to work at a minimum the C66x device needs to be able to interrupt the C6A8168 to indicate that new images are available.  I am wondering whether a more elegant solution using Syslink running on the C6A8168 is possible.  As I said, I am already using Syslink to enable the ARM to task operations on the C674.  Is there a way to make Syslink kernel module running on the C6A8168 recognize the existance of an external C66x device?

    Lee

     

  • Lee --

    Unfortunately, there are no plans to support SysLink for CPUs "outside" the SoC at this time.   You might have to cook something up on your own for this communication path.

    Regards,
    -Karl-

  • Karl Wechsler said:

    Unfortunately, there are no plans to support SysLink for CPUs "outside" the SoC at this time.   You might have to cook something up on your own for this communication path.

    Yes, I figured as much.

    Lee