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.

Does SysLink support QNX on OMAPL138?

Other Parts Discussed in Thread: OMAPL138, OMAP-L138

Build error "Unsupported platform" prompted when I configured GPP= QNX and Device = OMAPL138 for SysLink build "make syslink-hlos". When I changed to device = TI814X, the build succeeded.  

I found  e2e answers from Ramsey and Arnie saying SysLink  sitll not supported QNX on OMAPL138 in Feb. last year.   Have we already supported QNX on OMAPL138 for SysLink communication?  If no, do we have any plan to support it in following release? 

http://e2e.ti.com/support/embedded/bios/f/355/t/163557.aspx

Thanks,

Fuquan

 CCS5.4 + QNX6.5 installed.   

Build Error Informations:

-DVARIANT_a -DVARIANT_g -DVARIANT_le -DVARIANT_v7 -DBUILDENV_qss C
:/Work/syslink_2_21_01_05/packages/ti/syslink/ipc/hlos/GateMP_qnx.c
In file included from C:/Work/syslink_2_21_01_05/packages/ti/syslink/ipc/hlos/Ga
teMP_qnx.c:76:
C:/Work/syslink_2_21_01_05/packages/ti/syslink/inc/GateMPDefs.h:209:2: error: #e
rror Unsupported platform
C:/Work/syslink_2_21_01_05/packages/ti/syslink/ipc/hlos/GateMP_qnx.c: In functio
n 'GateMP_setup':

  • Sorry, SysLink doesn't plan to support QNX for OMAPLXX. As mentioned in the release notes, the only support for QNX is for TI814X and TI81XX

  • If I have to support QNX on OMAPL138.  Can I do it myself and How to do it?   How much efforts in it?

  • I think you will need several Makefile updates to get this to work.

    You can start with looking at the following goals in makefiles:-

    syslink-driver-qnx

        syslink-hlos-qnx

        install-driver-qnx

        install-samples-qnx

  • Fortune,

    I don't want to discourage you, but it would be a significant amount of work to port SysLink to QNX/OMAP-L138. I assume you have a QNX baseport for OMAP-L138. The device support should already be there as we support SysLink on Linux/OMAP-L138. You would need to provide all the QNX dependencies.

    I would start with the latest release, SysLink 2.21.01.05. Install it twice, once for Linux/TI811X and once for QNX/TI811X. Build out both installs and see what differences you get. You will find that on QNX, the Linux driver is replaced by a driver executable called syslink_drv. When your program runs on QNX, it will call SysLink API functions which are passed to the syslink_drv executable. This is how QNX implements drivers.

    Look in the ti/syslink/family folder for ti81xx folders. Here you will find both Linux and Qnx folders. This will show you what we did to support both Linux and Qnx for TI81XX. You will need to do similar work in all the omapl1xx folders.

    I would also search all source files for QNX defines. Some of these are generic and some are device specific. You will need to add OMAP-L138 for the device specific defines.

    When you build your QNX base image, you will need to reserve some memory for the DSP. We typically use the -r option to the boot command. When you build your DSP image, make sure it uses the reserved memory.

    Good luck. It would be great to have SysLink on QNX/OMAP-L138.

    ~Ramsey

  • Thanks Ramsey and Gunjan for your quick response.

    We would like to port syslink to QNX / OMAPL138

    BTW, does TI provide this kind of services with payment?

  • Most of the QNX folder in SYSLink is common and not TI81xx specific.  Only one QNX forlder under syslink_2_21_01_05\packages\ti\syslink\family\hlos\knl\ti81xx, and there are only a few files including cache.c, plarform_qnx.c, etc.   Shall I mostly focus on this foder to do the updates.   Am I understanding the efforts correctly?

    Thanks,

    Fuquan

  • Yes, you are on the right track. You will need to create family/hlos/knl/omapl1xx/Qnx and add Cache.c and Makefile.inc. Use the omapl1xx/Linux version and the ti81xx/Qnx version as a guide.

    You will need to create family/hlos/knl/omapl1xx/Platform_qnx.c. Similar to the one in ti81xx.

    Have a look at family/common/ClockOps.c. This file builds for both Linux and QNX. It might need some changes for OMAP-L138.

    I will direct your previous question to our management.

    ~Ramsey

  • Hi Ramsey

    I'm trying to port SYSLink to QNX/OMAP-L138.  Seems it's not that easy. More files involved except we mentioned above. 

    I posted another case for porting questions.  linked below

    http://e2e.ti.com/support/embedded/bios/f/355/t/281754.aspx

    Please also help to see if TI can provide that porting service?

    Thanks,

    Fuquan