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-USB Example Programs (6747-Processor) Using OMAP-L137 EVM

Other Parts Discussed in Thread: OMAP-L137, CCSTUDIO

I am working with the OMAP-L137 EVM board and I am trying to compile the BIOS-USB example programs to learn about FAT32 file access to a USB-Thumb-Drive using the 6747-Processor.

 

I closely followed the installation procedure in the BIOSUSB User Guide 01.10.03. The only variations that I made were that I used the latest versions of CCS, DSP-BIOS, Code-Gen-Tools, EDMA, ERTFS instead of the exact version that was called out in the User Guide.

 

I set up all of the environment variables correctly. When I build the example projects, I get a linker error :

[Linking...] "C:\Program Files\Texas Instruments\C6000 Code Generation Tools 6.1.19\bin\cl6x" -@"Release.lkf"
<Linking>

 undefined   first referenced
  symbol         in file    
 ---------   ----------------
 _commonInit                 

error: unresolved symbols remain
"..\usbdevmsccfg.cmd", line 9: error: undefined symbol "_commonInit" used in expression
error: errors encountered during linking; "./bin/Release/devmsc_sample.out" not built

 

The other strange thing (to me) is that I have a generated-file named usbdevmsccfg.s62 and several include files with *.h62 extensions. Are these not for the C6200 processor? Everything in my project is being compiled for the C6747 processor.

 

 

  •  

    Hello Dan,

     

    Please mention the versions of the all tools you used. I will check & let you know.

    Also, from the file names, i am assuming that you are using BIOUSB device mode for OMAPL137. Please confirm the same.

     

    Regards

    Prasad

  • The versions that I am using are:

    CCS                              3.3.82.13

    DSP/BIOS                    5.41.10.36

    Code Gen Tools            6.1.19

    EVM OMAP-L137      Rev-H

    EDMA 3 LLD              1.11.02.05

    ERTFS                         1.10.02.32

    PSP Drivers                 1.30.00.05

    BIOSUSB                    1.10.03

    I am not exactly sure about your second question. I am developing on the Spectrum Digital OMAP-L137 DVM, and I am trying to compile the sample project :

    C:\Program Files\Texas Instruments\biosusb_01_10_03\packages\ti\biosusb\examples\usbdevmsc\build\C6747\ccs3\usb_dev_msc_sample.pjt

    In CCS-setup I tried an OMAP-L137 setup and a C6747 setup. Does this help?

     

  • If I go to the ProjectàBuildOptionsàLinker…

     

    My Search Path (-i) is :

     

    ..\..\..\..\..\device\C6747\Release;

     

    %PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\nand\lib\C6747\Release;

     

    %PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\mmcsd\lib\C6747\Release;

     

    %PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\blkmedia\lib\C6747\Release;

     

    %EDMA3LLD_BIOS5_INSTALLDIR%\packages\ti\sdo\edma3\rm\lib\C6747\Release;

     

    %EDMA3LLD_BIOS5_INSTALLDIR%\packages\ti\sdo\edma3\drv\sample\lib\C6747\Release;

     

    %EDMA3LLD_BIOS5_INSTALLDIR%\packages\ti\sdo\edma3\drv\lib\Release;

     

    %PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\sata\lib\C6747\Release;

     

    %PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\platforms\evm6747\lib\Release;

     

    ..\..\..\..\..\apps\devmscglue\lib\C6747\Release;

     

    %PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\gpio\lib\C6747\Release;

     

    ..\..\..\..\..\platforms\C6747\lib\Release;

     

    %PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\psc\lib\C6747\Release;

     

    %PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\i2c\lib\C6747\Release

     

     

     


    And my Include Libraries (-l) are :

     

    ti.biosusb.device.core.a674;

    ti.biosusb.device.dcd.a674;

    ti.biosusb.device.fd.scsi.a674;

    ti.biosusb.device.port.a674;

    ti.biosusb.device.portcom.a674;

    ti.biosusb.device.jos.a674;

    edma3_rm_bios.lib;

    edma3_drv_bios_sample.lib;

    edma3_drv_bios_c674.lib;

    ti.pspiom.mmcsd.a674;

    ti.pspiom.nand.a674;

    ti.pspiom.blkmedia.raw.a674;

    ti.biosusb.apps.devmscglue.a674;

    ti.pspiom.gpio.a674;

    ti.pspiom.psc.a674;

    ti.biosusb.platforms.a674;

    ti.pspiom.i2c.a674;

    ti.pspiom.platforms.evm6747.evmInit.a674

    My environment variables are set as :

     

    BIOS_INSTALL_DIR                                     C:\CCStudio_v3.3\bios_5_41_10_36

    BIOSUSB_INSTALL_DIR                             C:\Program Files\Texas Instruments\biosusb_01_10_03

    EDMA3LLD_BIOS5_INSTALLDIR              C:\Program Files\Texas Instruments\edma3_lld_01_11_02_05

    PSP_DRIVERS_INSTALL_DIR                     C:\Program Files\Texas Instruments\pspdrivers_01_30_00_05

     

     

    Is there something missing here?

     

  •  

    Hello Dan,

    In your first post you have written, "I am working with the OMAP-L137 EVM board and I am trying to compile the BIOS-USB example programs to learn about FAT32 file access to a USB-Thumb-Drive using the 6747-Processor."

    From this statement, i think you should use BIOSUSB in HOST mode.

    Explaining it further:

    If you want to access any USB-Thumb-Drive connected through OMAP-L137, you should use BIOSUSB in host mode. Here OMAP-L137 is a host, which is detecting/readinh/writing USB-Thumb-Drive.

    And if you want to, use OMAP-L137 as mass storage device, which will be detected on your computer as USB device, after connecting to it, then you should use BIOSUSB in device mode because now OMAP-L137 is working as device. 

    Please clarify this you want device mode or host mode.

    Also, I am not seeing any environment variable for RTFS, please declare that.

    Regards

    Prasad

     

     

     

     

  • Sorry, I had RTFS defined but missed putting it in my email.

     RTFS_INSTALL_DIR                        c:\CCStudio_v3.3\rtfs_1_10_02_32

     

    Yes, I want to use BIOSUSB in host mode. More specifically, I want use the USB-port to make my design field upgradable. When a USB-stick is plugged into the EVM board, I want my program to search for a particular file name (like) “NewBootUpgrade.bin” and if it exists, I want my program to burn this file into the SPI-Flash chip. I need the FAT-32 file system because I would like to be able to email a customer a new boot-image and have him copy it to a USB-stick (from his PC), then carry it over to my product and plug it in to perform a software upgrade.

    The first step that I want to take is to compile and run an example program that can read and write to a USB-stick. 

     

     

  • I am now compiling :

    C:\Program Files\Texas Instruments\biosusb_01_10_03\packages\ti\biosusb\examples\usbhosthid\build\C6747\ccs3\usb_host_hid_sample.pjt

    I get the same link error.

     

     

  • Dan, 

    I am unable to see the contents of the image. you can mail it to me on my mail id (pvjoshi@ti.com).

    I am copying the <usb_host_hid_sample.pjt> file here. please compare it with your file.

    Also, please make sure that, you add the correct <ProjectDir> path in .pjt file.

    **********************************************************************************************************************************************

    ; Code Composer Project File, Version 2.0 (do not modify or remove this line)

     

    [Project Settings]

    ProjectDir="M:\prasad_usb_bios_1_10_dev_int\data_psp\biosusb\usbpackage\examples\usbhosthid\build\C6747\ccs3\"

    ProjectType=Executable

    CPUFamily=TMS320C67XX

    Tool="Compiler"

    Tool="CustomBuilder"

    Tool="DspBiosBuilder"

    Tool="Linker"

    Config="Debug"

    Config="Release"

     

    [Source Files]

    Source="..\..\..\src\bios_sample_main.c"

    Source="..\..\..\src\hid_devmgr_app.c"

    Source="..\..\..\src\input_sample.c"

    Source="..\..\..\src\keyboard_app.c"

    Source="..\..\..\src\mouse_app.c"

    Source="..\usbhosthid.tcf"

    Source="..\usbhosthid.cmd"

     

    [Generated Files]

    Source="..\usbhosthidcfg.s62"

    Source="..\usbhosthidcfg_c.c"

     

    ["Compiler" Settings: "Debug"]

    Options=-g -fr"$(Proj_dir)\Debug" -i".\" -i"%RTFS_INSTALL_DIR%\packages\ti\rtfs" -i"..\..\..\" -i"..\..\..\platforms\C6747" -i"..\..\..\host" -i"%PSP_DRIVERS_INSTALL_DIR%\packages" -d"CONFIG_HOST" -d"CHIP_C6747" -mv6740

     

    ["Compiler" Settings: "Release"]

    Options=-o3 -fr"$(Proj_dir)\Release" -i".\" -i"..\..\..\platforms\C6747" -i"%RTFS_INSTALL_DIR%\packages\ti\rtfs" -i"..\..\..\" -i"..\..\..\host" -i"%PSP_DRIVERS_INSTALL_DIR%\packages" -d"CONFIG_HOST" -d"CHIP_C6747" -mv6740

     

    ["Linker" Settings: "Debug"]

    Options=-c -m".\Debug\hosthid_sample.map" -o".\bin\Debug\hosthid_sample.out" -w -i"..\..\..\..\..\platforms\c6747\lib\Debug" -i"..\..\..\..\..\host\C6747\Release" -i"%PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\platforms\evm6747\lib\Debug" -i"%PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\blkmedia\lib\C6747\Debug" -i"%EDMA3LLD_BIOS5_INSTALLDIR%\packages\ti\sdo\edma3\rm\lib\c6747\Debug" -i"%EDMA3LLD_BIOS5_INSTALLDIR%\packages\ti\sdo\edma3\drv\sample\lib\c6747\Debug" -i"%EDMA3LLD_BIOS5_INSTALLDIR%\packages\ti\sdo\edma3\drv\lib\Debug" -i"%PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\psc\lib\C6747\Debug" -l"ti.biosusb.host.port.a674" -l"ti.biosusb.host.portcom.a674" -l"ti.biosusb.host.jos.a674" -l"ti.biosusb.host.core.a674" -l"ti.biosusb.host.hid.a674" -l"ti.biosusb.host.mass.a674" -l"ti.pspiom.blkmedia.raw.a674" -l"edma3_rm_bios.lib" -l"edma3_drv_bios_sample.lib" -l"edma3_drv_bios_c674.lib" -l"ti.biosusb.platforms.a674" -l"ti.pspiom.psc.a674" -l"ti.pspiom.platforms.evm6747.evmInit.a674"

     

    ["Linker" Settings: "Release"]

    Options=-c -m".\Release\hosthid_sample.map" -o".\bin\Release\hosthid_sample.out" -w -x -i"..\..\..\..\..\platforms\c6747\lib\Release" -i"..\..\..\..\..\host\C6747\Release" -i"%PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\platforms\evm6747\lib\Release" -i"%PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\blkmedia\lib\C6747\Release" -i"%EDMA3LLD_BIOS5_INSTALLDIR%\packages\ti\sdo\edma3\rm\lib\c6747\Release" -i"%EDMA3LLD_BIOS5_INSTALLDIR%\packages\ti\sdo\edma3\drv\sample\lib\c6747\Release" -i"%EDMA3LLD_BIOS5_INSTALLDIR%\packages\ti\sdo\edma3\drv\lib\Release" -i"%PSP_DRIVERS_INSTALL_DIR%\packages\ti\pspiom\psc\lib\C6747\Release" -l"ti.biosusb.host.port.a674" -l"ti.biosusb.host.portcom.a674" -l"ti.biosusb.host.jos.a674" -l"ti.biosusb.host.core.a674" -l"ti.biosusb.host.hid.a674" -l"ti.biosusb.host.mass.a674" -l"ti.pspiom.blkmedia.raw.a674" -l"edma3_rm_bios.lib" -l"edma3_drv_bios_sample.lib" -l"edma3_drv_bios_c674.lib" -l"ti.pspiom.psc.a674" -l"ti.biosusb.platforms.a674" -l"ti.pspiom.platforms.evm6747.evmInit.a674"

    ****************************************************************************************************************************************************

  • Dan,

    In the image, there are two errors. What is the other error you are getting other than "_commonInit" symbol not found?

    Regards

    Prasad

     

  • I emailed you a new image showing the entire output.

  • I compared every line of my project and yours. They are identical (eccept the recent change that I made to "ProjectDir" setting).

  • Not sure if this will help. I don't have my EVM in front of me but I googled about for a map file. Seems "_commonInit" lives here:

    ti.pspiom.platforms.evmOMAPL137.evmInit.a674 : common_evmInit.obj (.text:_commonInit)

    Maybe it got removed or renamed in your version of the PSP lib. Version 01.30.01 worked my installation for the USB dev examples. Never tried the USB host examples.

  • That might be getting closer to my problem.

     

    I have the evmInit.a674 files. However I do not understand exactly what they are. CCS interprets any file extension starting with and ‘a’ as an assembler file. However; these are archive files. I am not familiar with these. I have compiled and linked to library files before. What are these archive files and why can’t the example USB program link to it? If I try to add it to the library folder in CCS it adds it to the Source folder because it thinks it is an assembler file. I have recompile this archive but that does not help. Should I try to recompile this as a library?

  • I am guessing CCS archives are like Liinux library archives, a container for compiler object code. I don't remember having to compiler those. I think they came as pre-compiled binaries only.

    I took a look at the User Guides for BIOSPSP 01.30.00.06 and BIOSPSP 01.30.01. The newer version contains a new section noting commonInit(). Implies that something got added between 01.30.00.06 and 01.30.01 . Maybe try upgrading your PSP.

    http://software-dl.ti.com/dsps/dsps_public_sw/psp/BIOSPSP/index.html

     

  • Hello Dan,

    PSP Driver version 1.30.00.05 is released for supporting DSP/BIOS 5.33.06.

    While, PSP Driver version 1.30.00.06 is released for supporting DSP/BIOS 5.41.00.06

     

    PSP driver version 1.30.00.05 do not have common_evmInit.c. Therefore, the lib (ti.pspiom.platforms.evm6747.evmInit.a674) created by building the project <evmInit.pjt> in the folder pspdrivers_01_30_00_05\packages\ti\pspiom\platforms\evm6747\build\ccs3 does not have commonInit symbol, which is required while linking it to the USB project on DSP/BIOS 5.41.10.36 & onwards.

     

    Therefore, I suggest you, upgrading your PSP Driver version & moving to the PSP Driver version 1.30.00.06.

    This will solve your problem.

    Regards

    Prasad V. Joshi

    If my reply answers your question please mark the thread as answered.

  • I am having trouble finding this upgrade. The PSP link :

    http://software-dl.ti.com/dsps/dsps_registered_sw/sdo_sb/targetcontent/psp/bios_usb/index.html

     

    only has one version. Where do i download version 1.30.00.06?

     

  • That's a old USB package with a link to an old PSP version. The PSP packages are publicly available here:

    http://software-dl.ti.com/dsps/dsps_public_sw/psp/BIOSPSP/index.html
    http://software-dl.ti.com/dsps/dsps_public_sw/psp/BIOSPSP/01_30_00_06/index_FDS.html
    http://software-dl.ti.com/dsps/dsps_public_sw/psp/BIOSPSP/01_30_01/index_FDS.html

     

  •  

    Alleluia, it compiles and links.

    Norman, Prasad, thank you very much for all of your patient help.