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.

BIOS MCSDK 2.00.04.16 broken on Linux?

I was able to use BIOS MCSDK 2.00.03.15 on Linux and Windows successfully.

On my Windows system, CCS installed the newer 2.00.04.16 version.  This apparently removed modules like ti.transport.ic.qmss.notifyDrivers.NotifyDriverQmss, so I revised my application to use MessageQ.

I could download the Linux distribution of BIOS-MCSDK 2.00.04.16 and install it, but CCS (v5.1) does not see it.  If I enable the software update site for the BIOS MCSDK, it shows version 2.0.4.16 as being available -- but if I try to install it, Eclipse says: "com.ti.biosmcsdk.feature.group [2.0.4.16] cannot be installed in this environment because its filter is not applicable."

How can I resolve this?

  • Michael,

    We confirmed that there is a problem with Eclipse Update Manager in the Linux environment. We are tracking this as a defect. In the meantime, for the Linux environment, you need to manually download the installer from the following site:
    http://software-dl.ti.com/sdoemb/sdoemb_public_sw/bios_mcsdk/latest/index_FDS.html

    We have been testing BIOS-MCSDK with CCS 5.1 and have not run into any major issues, so please let us know any specific problems you have run into.

    Finally, I'm not sure about the IPC QMSS transport problem. That certainly should not have been removed. We have not heard of this happening before, so if you can provide any specific information, that will help us.

    Thanks,
    Raj

     

  • Raj,

    MCSDK 2.00.03.15 included C6678 PDK version 1.0.0.15, whereas MCSDK 2.00.04.16 includes version C6678 PDK version 1.0.0.16 (according to mcsdk_2_00_04_16/docs/bios_mcsdk_releasenotes_02_00_04.pdf).  The contents of pdk_C6678_1_0_0_15/packages/ti/transport/ipc/qmss and pdk_C6678_1_0_0_16/packages/ti/transport/ipc/qmss are very different.

    PDK 1.0.0.15 has two modules in that directory: ti.transport.ipc.qmss.family.NotifyQmssSetup and ti.transport.ipc.qmss.notifyDrivers.NotifyDriverQmss (both of these are for Notify).

    PDK 1.0.0.16 has two different modules in that directory: ti.transport.ipc.qmss.transports.TransportQmss and ti.transport.ipc.qmss.transports.TransportQmssSetup (both of these are for MessageQ).

    Similarly, pdk_C6678_1_0_0_1?/packages/ti/transport/ipc/examples/qmssIpcBenchmark/bench_qmss.c was modified to remove the use of the QMSS Notify module in version 1.0.0.16.

    The bigger problem is that most of the components of MCSDK 2.00.04.16 do not show up under CCS 5.1 on Linux.  If I go to Window -> Preferences -> Code Composer Studio -> RTSC, the "Products and Repositories" list shows both IPC 1.23.05.40 from the older MCSDK and IPC 1.24.0.16 from the newer MCSDK.  However, it only shows MCSDK 2.00.03.14, PDK C6670 1.0.0.15 and PDK C6678 1.0.0.15 -- even though the newer versions are sitting next to the older versions.  (In the Code Composer Studio->RTSC->Products window, the "Automatically discover products each time Code Composer Studio is started" option is checked, and clicking "Refresh" does not show any of the newer versions.)  Under Windows, the newer versions of MCSDK and the PDK show up, and DSPLIB C66x is also listed.  (The DSPLIB C66x directory is there under Linux but does not show up in the RTSC product list.)

    Michael

  • Michael,

    The TransportQmss module under ti/transport/ipc/qmss/transports is the second iteration of the IPC QMSS transport originally implemented using the NotifyQmssSetup and NotifyDriverQmss modules.  All the functionality within the NotifyQmssSetup and NofityDriverQmss modules was consolidated into the TransportQmss module.  This was done to improve IPC performance when using the QMSS transport and also remove the use of the Notify module to signal destination cores that data is being provided to them.  The act of signalling destination cores is now handled by QMSS interrupt mechanisms.  The removal of the Notify module allowed all QMSS functionality to be moved to the IPC transport layer.  Hence the rename from NotifyDriverQmss to TransportQmss and the different directory structure.

    Obviously, the migration of the QMSS transport required a change to the supplement example project.  The qmssIpcBenchmark example was modified to reflect the usage of the updated QMSS transport, TransportQmss.  The update removed the use of the Notify and TransportShm modules from the bench_qmss.cfg file and replaced them with the TransportQmss module.  You'll notice that not a lot of the QMSS transport parameters were changed in the update.  If you diff the previous, using NotifyDriverQmss, and current, using TransportQmss, bench_qmss.cfg files you'll notice very few changes in the transport configuration parameters.

    The following links to the MCSDK 2.0 User's Guide have been updated with information regarding the new version of the QMSS IPC transport.

    General Information about the QMSS Transport

    http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide#QMSS_IPC_Transport

    In Depth view of the QMSS Transport parameters

    http://processors.wiki.ti.com/index.php/BIOS_MCSDK_2.0_User_Guide#Using_and_Configuring_the_Navigator.2FQMSS_Transport

    Overall, the changes to migrate from the old NotifyDriverQmss implementation of the IPC QMSS Transport to the new TransportQmss implemenation should be very minimal to the user.  Most changes were under the hood changes to improve performance.

    Justin

  • Justin,

    I understand -- as you say, the IPC change is a relatively minor thing.  I only elaborated on that because Raj said the Notify code should not have been removed.  My real concern (maybe I was not clear) is that the newer MCSDK components do not appear in CCS 5.1 on Linux.  When that is combined with the source-level incompatibility, it means I cannot use the same source code when building on Linux as when I build on Windows.

    Michael

  • Michael,

    I just installed CCS 5.1 and BIOS MCSDK 2.0.4.16 on a fresh Linux PC. CCS 5.1 recognized all of the BIOS MCSDK components.

    CCS 5.1 Version used: 5.1.0.09000

    I tried the below steps:

    1. Installed CCS 5.1 and BIOS MCSDK 2.0.4.16 on a Fresh Linux PC (BIOS MCSDK components are installed in the same level as ccsv5 directory)

    2. Opened CCS 5.1 and noticed all the new eclipse plugins from BIOS MCSDK 2.0.4.16

    3. Selected all of the new products that are discovered due to BIOS MCSDK 2.0.4 installation and hit Finish

    4. Then Closed CCS 5.1 and restarted the CCS 5.1 to start using BIOS MCSDK 2.0.4.16

     

    -Thanks,

    Aravind

  • Aravind,

    Reinstalling everything seems to have fixed it here as well.  Last time, I installed the newer MCSDK with my normal user account (rather than root, which I used to install CCS 5.1); this time, I installed both CCS 5.1 and MCSDK 2.0.4.16 as root.

    Michael