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.

RTOS/PROCESSOR-SDK-OMAPL138: Missing McBSP driver

Part Number: PROCESSOR-SDK-OMAPL138
Other Parts Discussed in Thread: OMAPL138, SYSBIOS, OMAP-L138

Tool/software: TI-RTOS

We are currently using sysbios 6.33 with the McBSP driver from PSP 3.0.1. We now want to upgrade to the latest version of Processor SDK (v4.1). SDK v4.1 contains pdk_omapl138_1_0_2 however the McBSP driver is missing.

Where can I find the latest McBSP driver which works with sysbios 6.46 and other software components from SDK v4.1?

Thanks

  • Hi,

    I've notified the RTOS team. They will post their feedback directly here.

    Note that answers may be delayed due to holidays.

    Best Regards,
    Yordan
  • Nick,

    We currently do not support the MCBSP driver in the Processor SDK RTOS as the official TI evaluation platform OMAPL138 LCDK doesn`t have ability to interface with the MCBSP peripheral and was not defined as high priority at the time of defining the Processor SDK. This is indicated in the Porting guide provided here:
    processors.wiki.ti.com/.../C674x_devices

    You can choose to port the older driver to the newer BIOS version but we currently don`t have plans to provide the MCBSP driver in the upcoming releases for this device. If your usecase is audio then we strongly recommend using the MCASP interface as the driver is already supported in our offering.

    Regards,
    Rahul
  • Rahul,

    We use both McASP and McBSP in our existing design so we'll need to port the McBSP driver ourselves by the sounds of it.

    Nick

  • Hi Rahul,

    I have noticed that an updated McBSP driver is supplied with the Processor SDK for the C665x device.

    Would this driver be suitable for porting to the OMAP-L138?

  • Nick,

    We have a initial port of the McBSP driver from the MCSDK ported over to Processor SDK RTOS on OMAPL138 platform and have the digital loopback code working on the LCDK. We plan to host the code on the same external GIT by the end of this week. I will post a note here when it is available and provide instructions to build the package and the example.

    The code base is similar to the C6657 device and MCSDK and is API compatible with that version of the driver but there are minor modifications to the build and CSL files.

    Regards,
    Rahul
  • Is the McBSP code for loopback available now ?
  • Harikrishna,

    Looks like the MCBSP LLD update which was completed earlier has not yet been pushed to external GIT for early access yet. I have pinged the team to make this update available and it should be available soon.

    I will post an update when this is done. Please drop me a note if this is urgent so I can follow up.

    Regards,
    Rahul
  • Thanks for the update Rahul,
    in the longer term will the McBSP driver get included in subsequent Processor SDK releases?
  • Nick,

    Yes, in the longer term the MCBSP driver will be included in the Processor SDK release. We seem to have missed the window for current release so the update is planned to be in 2Q2018 update. We should be hosting the MCBSP LLD update for C674x on external GIT soon.

    Regards,
    Rahul
  • HAri, Nick,

    The MCBSP LLD update for C674x is now available  on the external GIT location here:

    http://git.ti.com/keystone-rtos/mcbsp-lld 

    Please note that this will be integrated by default into the PRSDK release at the end of 2Q2018.

    Instructions to pull in the update:

    cd <PDK_INSTALL_PATH>/packages/ti/drv
    git clone git://git.ti.com/keystone-rtos/mcbsp-lld.git mcbsp
    cd mcbsp
    
    //Setup PDK Build environment before you proceed
    
    cd <PDK_INSTALL_PATH>\packages\ti\drv\mcbsp
    xdc 
    make all

    This should build the package and the mcbsp driver libraries. If you need to generate the example project for digital loopback, you can follow these additonal instructions:

    cd <PDK_INSTALL_PATH>\packages
    pdkProjectCreate.bat OMAPL138 all little mcbsp all dsp

    Let us know if you are having any issues.

    Regards,

    Rahul

  • I retrieved the code and ran pdk_omapl138_1_0_4\packages\pdksetupenv.bat, but when I run 'xdc release' I get the following error:

    making package.mak (because of package.bld) ...
    js: "./config.bld", line 53: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.targets.elf' along the path: 'C:/ti/xdctools_3_50_03_33_core/packages;../../..;'. Ensure that the package path is set correctly.
    xdctools_3_50_03_33_core\gmake.exe: *** No rule to make target `package.mak', needed by `.interfaces'.  Stop.

    It looks like I am missing something in my path - but what?

  • I retrieved the code and ran pdk_omapl138_1_0_4\packages\pdksetupenv.bat, but when I run 'xdc release' I get the following error:
    making package.mak (because of package.bld) ...
    js: "./config.bld", line 53: xdc.services.global.XDCException: xdc.PACKAGE_NOT_FOUND: can't locate the package 'ti.targets.elf' along the path: 'C:/ti/xdctools_3_50_03_33_core/packages;../../..;'. Ensure that the package path is set correctly.
    xdctools_3_50_03_33_core\gmake.exe: *** No rule to make target `package.mak', needed by `.interfaces'. Stop.
    It looks like I am missing something in my path - but what?
  • Snowl,

    The instructions provided above applied for all Processor SDK RTOS versions prior to 4.3 as the SDK setup global environment variables using pdksetupenv.bat. The SDK in the latest release picks up the environment using Rules.make hence when invoking these build options variabled like XDCPATH etc are no longer in your global setup.

    there are two ways to workaround this issue. first one is to stick with PRSDK 4.02 since there are no major updates for this device and use instructions provided above or follow instructions below :

    For Processor SDK RTOS v4.3, please use the following steps :

    Run setupenv.bat

    set C6X_GEN_INSTALL_PATH=C:/ti/OMAPL138_PRSDK_43/ti-cgt-c6000_8.2.2

    set XDCPATH=C:\ti\OMAPL138_PRSDK_43\xdctools_3_50_03_33_core\packages;C:\ti\OMAPL138_PRSDK_43\pdk_omapl138_1_0_4\packages;C:\ti\OMAPL138_PRSDK_43\edma3_lld_2_12_05_30C\packages;C:\ti\OMAPL138_PRSDK_43\bios_6_52_00_12\packages

    cd ti\drv\mcbsp

    xdc

     

    Note: My SDK is installed at C:\ti]OMAPL138_PRSDK43 so chnage the path based on where you have components installed.

    Eventually the build on windows will indicate a sectti error. You can ignore the error as the library is built at this time.  This is caused because the cg_cml files in the Processor SDK RTOS seems to have only provided binaries that run in Linux environment and are missing sectti.exe files. 

    I have attached my build log for your reference.

    mcbsp-lld_build.txt
    C:\ti\OMAPL138_PRSDK_43>set SDK_INSTALL_PATH=C:\ti\OMAPL138_PRSDK_43
    
    C:\ti\OMAPL138_PRSDK_43>cd processor_sdk_rtos_omapl138_4_03_00_05
    
    C:\ti\OMAPL138_PRSDK_43\processor_sdk_rtos_omapl138_4_03_00_05>setupenv.bat
    **************************************************************************
    Environment Configuration:
        LIMIT_SOCS                : omapl138
        LIMIT_BOARDS              : lcdkOMAPL138
        PDK_INSTALL_PATH          : /ti/OMAPL1~1/PDK_OM~1/packages
        IMGLIB_INSTALL_PATH       : C:/ti/OMAPL138_PRSDK_43/imglib_c674x_3_1_1_0
        DSPLIB_INSTALL_PATH       : C:/ti/OMAPL138_PRSDK_43/dsplib_c674x_3_4_0_0
        MATHLIB_INSTALL_PATH      : C:/ti/OMAPL138_PRSDK_43/mathlib_c674x_3_1_1_0
        XDC_INSTALL_PATH          : C:/ti/OMAPL138_PRSDK_43/xdctools_3_50_03_33_core
        IPC_PLATFORM: OMAPL138
        IPC_ALT_PLATFORM:
        PROC_SDK_INSTALL_PATH     : C:/ti/OMAPL138_PRSDK_43/processor_sdk_rtos_omapl138_4_03_00_05
    **************************************************************************
    Changing to short name to support directory names containing spaces
    current directory: C:/ti/OMAPL138_PRSDK_43/processor_sdk_rtos_omapl138_4_03_00_05
    PROCESSOR SDK BUILD ENVIRONMENT CONFIGURED
    **************************************************************************
    
    C:\ti\OMAPL138_PRSDK_43\processor_sdk_rtos_omapl138_4_03_00_05>cd ..\pdk_omapl138_1_0_4\packages
    
    C:\ti\OMAPL138_PRSDK_43\pdk_omapl138_1_0_4\packages>set C6X_GEN_INSTALL_PATH=C:/ti/OMAPL138_PRSDK_43/ti-cgt-c6000_8.2.2
    
    C:\ti\OMAPL138_PRSDK_43\pdk_omapl138_1_0_4\packages>set XDCPATH=C:\ti\OMAPL138_PRSDK_43\xdctools_3_50_03_33_core\packages;C:\ti\OMAPL138_PRSDK_43\pdk_omapl138_1_0_4\packages;C:\ti\OMAPL138_PRSDK_43\edma3_lld_2_12_05_30C\packages;C:\ti\OMAPL138_PRSDK_43\bios_6_52_00_12\packages
    
    C:\ti\OMAPL138_PRSDK_43\pdk_omapl138_1_0_4\packages>cd ti\drv\mcbsp
    
    C:\ti\OMAPL138_PRSDK_43\pdk_omapl138_1_0_4\packages\ti\drv\mcbsp>xdc
    making package.mak (because of package.bld) ...
    ************* MCBSP Driver Build Information *************
    MCBSP Driver Install      : TAR
    MCBSP Driver LLD Version  : 1,0,0,9
    Tools Directory           : C:/ti/OMAPL138_PRSDK_43/ti-cgt-c6000_8.2.2
    RTSC File Name            : mcbsp_null_1_0_0_9
    MCBSP Driver LLD Path     : .
    CC LE opts                : -mo -o3 -q -k -eo.o
    CC BE opts                : -mo -o3 -q -k -eo.o -DBIGENDIAN
    ****************************************************************
    Building directory src
    Building directory docs
    Building directory include
    Building directory device
    Building directory example
    cle66 src/mcbsp_drv.c ...
    cle66 src/mcbsp_ioctl.c ...
    cle66 src/mcbsp_edma.c ...
    archiving lib//c66/obj/src/mcbsp_drv.oe66 lib//c66/obj/src/mcbsp_ioctl.oe66 lib//c66/obj/src/mcbsp_edma.oe66 into lib/c66/ti.drv.mcbsp.ae66 ...
    cle66e src/mcbsp_drv.c ...
    cle66e src/mcbsp_ioctl.c ...
    cle66e src/mcbsp_edma.c ...
    archiving lib//c66/obj/src/mcbsp_drv.oe66e lib//c66/obj/src/mcbsp_ioctl.oe66e lib//c66/obj/src/mcbsp_edma.oe66e into lib/c66/ti.drv.mcbsp.ae66e ...
    cle674 src/mcbsp_drv.c ...
    cle674 src/mcbsp_ioctl.c ...
    cle674 src/mcbsp_edma.c ...
    archiving lib//c674/obj/src/mcbsp_drv.oe674 lib//c674/obj/src/mcbsp_ioctl.oe674 lib//c674/obj/src/mcbsp_edma.oe674 into lib/c674/ti.drv.mcbsp.ae674 ...
    cle66 src/mcbsp_drv.c ...
    cle66 src/mcbsp_ioctl.c ...
    cle66 src/mcbsp_edma.c ...
    cle66 device/k2g/src/device_mcbsp_loopback.c ...
    archiving lib/k2g/c66/obj/src/mcbsp_drv.oe66 lib/k2g/c66/obj/src/mcbsp_ioctl.oe66 lib/k2g/c66/obj/src/mcbsp_edma.oe66 lib/k2g/c66/obj/device/k2g/src/device_mcbsp_loopback.oe66 into lib/k2g/c66/ti.drv.mcbsp.k2g.ae66 ...
    cle66e src/mcbsp_drv.c ...
    cle66e src/mcbsp_ioctl.c ...
    cle66e src/mcbsp_edma.c ...
    cle66e device/k2g/src/device_mcbsp_loopback.c ...
    archiving lib/k2g/c66/obj/src/mcbsp_drv.oe66e lib/k2g/c66/obj/src/mcbsp_ioctl.oe66e lib/k2g/c66/obj/src/mcbsp_edma.oe66e lib/k2g/c66/obj/device/k2g/src/device_mcbsp_loopback.oe66e into lib/k2g/c66/ti.drv.mcbsp.k2g.ae66e ...
    cle674 src/mcbsp_drv.c ...
    cle674 src/mcbsp_ioctl.c ...
    cle674 src/mcbsp_edma.c ...
    cle674 device/omapl138/src/device_mcbsp_loopback.c ...
    archiving lib/omapl138/c674/obj/src/mcbsp_drv.oe674 lib/omapl138/c674/obj/src/mcbsp_ioctl.oe674 lib/omapl138/c674/obj/src/mcbsp_edma.oe674 lib/omapl138/c674/obj/device/omapl138/src/device_mcbsp_loopback.oe674 into lib/omapl138/c674/ti.drv.mcbsp.omapl138.ae674 ...
    cle66 src/mcbsp_drv.c ...
    cle66 src/mcbsp_ioctl.c ...
    cle66 src/mcbsp_edma.c ...
    cle66 device/c6657/src/device_mcbsp_loopback.c ...
    archiving lib/c6657/c66/obj/src/mcbsp_drv.oe66 lib/c6657/c66/obj/src/mcbsp_ioctl.oe66 lib/c6657/c66/obj/src/mcbsp_edma.oe66 lib/c6657/c66/obj/device/c6657/src/device_mcbsp_loopback.oe66 into lib/c6657/c66/ti.drv.mcbsp.c6657.ae66 ...
    cle66e src/mcbsp_drv.c ...
    cle66e src/mcbsp_ioctl.c ...
    cle66e src/mcbsp_edma.c ...
    cle66e device/c6657/src/device_mcbsp_loopback.c ...
    archiving lib/c6657/c66/obj/src/mcbsp_drv.oe66e lib/c6657/c66/obj/src/mcbsp_ioctl.oe66e lib/c6657/c66/obj/src/mcbsp_edma.oe66e lib/c6657/c66/obj/device/c6657/src/device_mcbsp_loopback.oe66e into lib/c6657/c66/ti.drv.mcbsp.c6657.ae66e ...
    generating interfaces for package ti.drv.mcbsp (because package/package.xdc.inc is older than package.xdc) ...
        translating Settings
    sectti: not found
    gmake.exe: *** [lib/c66/ti.drv.mcbsp.ae66_size.txt] Error 127

    Hope this helps.

    Regards,

    Rahul

  • Thank you very much, I was able to run the build process up to and including the sectti error using v4.3.
    My next challenge is to build the example project to use the McBSP driver.
    I made a new project (based on the typical SYSBIOS example), removed c and cfg file, then added the following files from
    ti\drv\mcbsp\example\c674x\MCBSPDigLpbk:
    bios6_edma3_drv_sample.h
    mcbspMasterDigLpbk.c
    mcbspMasterDigLpbk.cfg
    mcbspMasterDigLpbk.cmd
    mcbspMasterDigLpbk_osal.c
    sample_cs.c
    sample_init.c
    sample_omapl138_cfg.c
    sample_omapl138_int_reg.c

    I assume the sample_c6657_ files are for a different target?

    I get the following error message when I try to build:
    js: "C:/ti/edma3_lld_2_12_05_30C/packages/ti/sdo/edma3/drv/package.xs", line 128: Error: Unexpected value in "platform" parameter

    I use a custom platform with C6746 DSP, so '674' is not in the platform name. I tried to make a new platform with 674 in the name, but that did not help.
  • Does anyone have any hints about how to get the mcbsp example working in pdk_omapl138_1_0_2 mcbsp code (as downloaded from GIT), ref. my previous question?