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.

PROCESSOR-SDK-AM57X: USB Host bare metal example

Part Number: PROCESSOR-SDK-AM57X
Other Parts Discussed in Thread: SYSBIOS

Are there bare-metal USB Host examples that can run on any of the cores, A15, C6x, M4?

We have the RTOS Processor SDK AM57xx Version 3.03.00.04 PDK am57xx V1.0.6 diagnostics applications. It has a UART to USB example, but is too slow for our purpose.

Is a Linux driver easily portable to bare-metal?

Thanks

  • Hi,

    As far as I know there is no bare metal software available for AM57x devices. I have notified the software team. They will comment here.
  • The literature has stated that the diagnostics programs are bare-metal. We got an SD Card with the AM572x IDK that loads and runs the diagnostics. The diagnostics have tests, such as GMAC, McSPI, and UART.

    Thanks

  • Hi,

    As you have the Processor SDK RTOS 3.3 already, it has the USB host example under \packages\ti\drv\usb for AM57x, either host or device mode.

    Regards, Eric
  • Hi Eric,
    Yes, I see those and thought they were for RTOS. I did find the option to target baremetal.
    However, I am still having a problem gettting an example to compile. From the directory with the makefile,
    /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb
    Typing 'make' says 'nothing to be done for all'.
    From the root processor SDK RTOS directory there is an option to make the 'pdk' for stuff in the pdk_am47xx_1_0_6 directory, however I am not sure if it is reaching the usb driver examples, plus it currently is erroring with a 'undefined reference to `UART_stdioInit' trying to link,
    evmAM572x/csl_edma_polled_mode_test_app_a15_0_release.xa15fg...

    Is there a specific instruction on how to compile these?
    Thanks
  • Hello,

    I found this web page for USB use reference. There is no readme file in the docs directory, however, ReleaseNotes_USB_LLD.pdf has some information. I did as stated for the am437x device, just to see if it will compile. It errors trying to find am437x.h. A search on the Linux development host did not find that file.

    Is this file available? I was hoping I would be able to compile this and then find a port path from am437x or (am335x) to am572x.

    Thanks

  • Here is the web page,
    processors.wiki.ti.com/.../Processor_SDK_RTOS_USB
    I still have not seen a specific AM57x example.
    Thanks
  • Hi,

    Please first look at processors.wiki.ti.com/.../Processor_SDK_RTOS_Getting_Started_Guide

    Then, there is a link processors.wiki.ti.com/.../Processor_SDK_RTOS_Getting_Started_Guide

    Then processors.wiki.ti.com/.../Rebuilding_The_PDK

    Basically, you run "pdkprojectcreate AM572x all little usb arm", then you create multiple USB example CCS projects, including host mode and device mode, then import into CCS, build load and run.

    Regards, Eric
  • Hi Eric,

    I got to the section based on the second link to, Building PDK using make in Linux environment, and did a 'make clean'. Then the 'make all'.

    It was looking good until it got to, make[5]: Entering directory `/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl/example/edma/edma_polled_mode_test'

    There appears to be a function that cannot be found, Board_uartStdioInit. Here are the messages after entering this directory

    -------------------------------------

    make[5]: Entering directory `/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl/example/edma/edma_polled_mode_test'
    # Compiling evmAM572x:am572x:a15_0:release:csl_edma_polled_mode_test_app: main.c
    /home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc -MD -MF /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/binary/csl_edma_polled_mode_test_app/obj/evmAM572x/a15_0/release/.deps/main.P -DMAKEFILE_BUILD -Wimplicit -Wall -Wunused -Wunknown-pragmas -ffunction-sections -fdata-sections -c -mcpu=cortex-a15 -g -mfpu=neon -mfloat-abi=hard -mabi=aapcs -mapcs-frame -D__ARMv7 -Werror -O2 -s -DNDEBUG  -DBUILD_A15_0    -DSOC_AM572x -DevmAM572x -I/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include -I/home/user01/ti/pdk_am57xx_1_0_6/packages -I/apps/apps_nonbam/inc -I/ -I/common  -o /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/binary/csl_edma_polled_mode_test_app/obj/evmAM572x/a15_0/release/main.oa15fg main.c
    # Linking into /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/binary/csl_edma_polled_mode_test_app/bin/evmAM572x/csl_edma_polled_mode_test_app_a15_0_release.xa15fg...
    #
    /home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc -Werror -Wl,-static -Wl,--gc-sections -nostartfiles -mfloat-abi=hard    --entry Entry   /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/binary/csl_edma_polled_mode_test_app/obj/evmAM572x/a15_0/release/main.oa15fg  -Wl,-T,/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl/example/lnk_a15.cmd  -L/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/lib/gcc/arm-none-eabi/4.9.3/fpu -L/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu -L/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/board/lib/evmAM572x/a15/release/ti.board.aa15fg -L/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl/lib/am572x/a15/release/ti.csl.aa15fg -L/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl/example/utils/common/lib/am572x/a15/release/csl_utils_common.aa15fg -L/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl/example/utils/uart_console/lib/am572x/a15/release/csl_uart_console.aa15fg -L/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl/lib/am572x/a15/release/ti.csl.init.aa15fg -L/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/lib/gcc/arm-none-eabi/4.9.3/fpu/libgcc.a -L/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu/libc.a -L/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu/libm.a -L/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu/librdimon.a -L/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu/libg.a  -lstdc++ -lgcc -lm -lgcc -lc -lrdimon -Wl,-Map=/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/binary/csl_edma_polled_mode_test_app/bin/evmAM572x/csl_edma_polled_mode_test_app_a15_0_release.xa15fg.map -o /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/binary/csl_edma_polled_mode_test_app/bin/evmAM572x/csl_edma_polled_mode_test_app_a15_0_release.xa15fg  -Wl,--start-group /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/board/lib/evmAM572x/a15/release/ti.board.aa15fg /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl/lib/am572x/a15/release/ti.csl.aa15fg /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl/example/utils/common/lib/am572x/a15/release/csl_utils_common.aa15fg /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl/example/utils/uart_console/lib/am572x/a15/release/csl_uart_console.aa15fg /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl/lib/am572x/a15/release/ti.csl.init.aa15fg    /home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/lib/gcc/arm-none-eabi/4.9.3/fpu/libgcc.a /home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu/libc.a /home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu/libm.a  /home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu/librdimon.a /home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/lib/fpu/libg.a -Wl,--end-group
    /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/board/lib/evmAM572x/a15/release/ti.board.aa15fg(evmAM572x_lld_init.oa15fg): In function `Board_uartStdioInit':
    /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/board/src/evmAM572x/evmAM572x_lld_init.c:70: undefined reference to `UART_stdioInit'
    collect2: error: ld returned 1 exit status
    make[5]: *** [/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/binary/csl_edma_polled_mode_test_app/bin/evmAM572x/csl_edma_polled_mode_test_app_a15_0_release.xa15fg] Error 1
    make[5]: Leaving directory `/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl/example/edma/edma_polled_mode_test'
    make[4]: *** [a15_0] Error 2
    make[4]: Leaving directory `/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl/example/edma/edma_polled_mode_test'
    make[3]: *** [csl_edma_polled_mode_test_app] Error 2
    make[3]: Leaving directory `/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl'
    make[2]: *** [a15_0_app] Error 2
    make[2]: Leaving directory `/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl'
    make[1]: *** [evmAM572x_app] Error 2
    make[1]: Leaving directory `/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/csl'
    make: *** [csl] Error 2
    -------------------------------------

    Any ideas?

    Thanks

  • Hi,

    All you need is to follow: PDK Example and Test Project Creation and Steps to run example and/or unit test projects on C66x/A15 Target. You don't need to build driver unless you change the driver code.

    Regards, Eric
  • There are only two examples for USB. I tried and get the following build errors:

    -----------------

    **** Build of configuration Debug for project usb_host_msc_idkAM572x_arm_project ****

    /home/user01/ti/ccsv7/utils/bin/gmake -k -j 4 all -O
    gmake[1]: Entering directory '/home/user01/workspace_v7/usb_host_msc_idkAM572x_arm_project/Debug'
    Building file: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/usb_arm_am572x_idk.cfg
    Invoking: XDCtools
    "/home/user01/ti/xdctools_3_32_01_22_core/xs" --xdcpath="/home/user01/ti/bios_6_46_04_53/packages;/home/user01/ti/pdk_am57xx_1_0_6/packages;/home/user01/ti/edma3_lld_2_12_03_27/packages;/home/user01/ti/ipc_3_44_01_01/packages;/home/user01/ti/ndk_2_25_01_11/packages;/home/user01/ti/uia_2_00_06_52/packages;/home/user01/ti/ccsv7/ccs_base;" xdc.tools.configuro -o configPkg -t gnu.targets.arm.A15F -p ti.platforms.idkAM572X -r debug -b "/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/build/am572x/config_am572x_a15.bld" -c "/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3" -DBOARD=idkAM572x "/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/usb_arm_am572x_idk.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring usb_arm_am572x_idk.xa15fg from package/cfg/usb_arm_am572x_idk_pa15fg.cfg ...
    generating custom ti.sysbios library makefile ...
        Linking with library ti.drv.usb:./lib/am572x/a15/release/ti.drv.usb.aa15fg
    subdir_rules.mk:38: recipe for target 'build-1843117775-inproc' failed
    js: "/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/board/package.xs", line 71: Error:     Library not found: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/board/./lib/idkAM572x/a15/release/ti.board.aa15fg
    gmake: *** [package/cfg/usb_arm_am572x_idk_pa15fg.xdl] Error 1
    gmake: *** Deleting file `package/cfg/usb_arm_am572x_idk_pa15fg.xdl'
    gmake: *** [package/cfg/usb_arm_am572x_idk_pa15fg.xdl] Deleting file `package/cfg/usb_arm_am572x_idk_pa15fg.h'
    gmake: *** [package/cfg/usb_arm_am572x_idk_pa15fg.xdl] Deleting file `package/cfg/usb_arm_am572x_idk_pa15fg.c'
    js: "/home/user01/ti/xdctools_3_32_01_22_core/packages/xdc/tools/Cmdr.xs", line 52: Error: xdc.tools.configuro: configuration failed due to earlier errors (status = 2); 'linker.cmd' deleted.
    gmake[1]: *** [build-1843117775-inproc] Error 1
    gmake: *** [build-1843117775] Error 2
    gmake[1]: Leaving directory '/home/user01/workspace_v7/usb_host_msc_idkAM572x_arm_project/Debug'
    subdir_rules.mk:35: recipe for target 'build-1843117775' failed
    gmake: Target 'all' not remade because of errors.

    **** Build Finished ****
    -------------------------------------------

    We were hoping for a DSP or M4 example to be able to off load the USB process from the main processor.

    Thanks

  • Hi,

    The error is Error: Library not found: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/board/./lib/idkAM572x/a15/release/ti.board.aa15fg.

    I have that file for my installation. Can you double check if the file is there? If not, please re-install the Processor SDK 3.3. You did "make clean" previously, it is possible that the library was deleted.

    I will check if we have plan to support M4 or DSP driver for USB. Currently it only runs on A15.

    Regards, Eric
  • Ok,
    There is a 'board' option in the makefile in .../pdk_am57xx_1_0_6/packages. Running 'make board' created ti.board.aa15fg. Re-creating the CCS USB host example and importing into CCS 7 on Linux got past the error for ti.board.aa15fg.
    Now the build finishes with one more error, shown at the end of the below messages. Based on the line number, the script is looking for 'out2rprc'. There is only a Windows version 'out2rprc.exe' in that directory. It seems like I have seen a Linux version, however I could not find one in a file system search.

    It would appear that a Linux version is needed to work with a SD Card program using MLO boot loader for bare metal apps.

    In the mean time is this necessary to load from CCS using JTAG?
    Thanks
  • Sorry, here are the messages:

    **** Build of configuration Debug for project usb_host_msc_idkAM572x_arm_project ****

    /home/user01/ti/ccsv7/utils/bin/gmake -k -j 4 all -O
    gmake[1]: Entering directory '/home/user01/workspace_v7/usb_host_msc_idkAM572x_arm_project/Debug'
    Building file: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/usb_arm_am572x_idk.cfg
    Invoking: XDCtools
    "/home/user01/ti/xdctools_3_32_01_22_core/xs" --xdcpath="/home/user01/ti/bios_6_46_04_53/packages;/home/user01/ti/pdk_am57xx_1_0_6/packages;/home/user01/ti/edma3_lld_2_12_03_27/packages;/home/user01/ti/ipc_3_44_01_01/packages;/home/user01/ti/ndk_2_25_01_11/packages;/home/user01/ti/uia_2_00_06_52/packages;/home/user01/ti/ccsv7/ccs_base;" xdc.tools.configuro -o configPkg -t gnu.targets.arm.A15F -p ti.platforms.idkAM572X -r debug -b "/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/build/am572x/config_am572x_a15.bld" -c "/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3" -DBOARD=idkAM572x "/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/usb_arm_am572x_idk.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring usb_arm_am572x_idk.xa15fg from package/cfg/usb_arm_am572x_idk_pa15fg.cfg ...
    generating custom ti.sysbios library makefile ...
    Linking with library ti.drv.usb:./lib/am572x/a15/release/ti.drv.usb.aa15fg
    Linking with library ti.board:./lib/idkAM572x/a15/release/ti.board.aa15fg
    Linking with library ti.drv.i2c:./lib/a15/release/ti.drv.i2c.aa15fg
    Linking with library ti.drv.uart:./lib/am572x/a15/release/ti.drv.uart.aa15fg
    Linking with library ti.osal:./lib/tirtos/a15/release/ti.osal.aa15fg
    Linking with library ti.csl:./lib/am572x/a15/release/ti.csl.aa15fg
    Starting build of library sources ...
    making /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/src/sysbios/sysbios.aa15fg ...
    gmake[1]: Entering directory `/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/src/sysbios'
    asma15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/IntrinsicsSupport_asm_gnu.asm ...
    asma15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/TaskSupport_asm_gnu.asm ...
    asma15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/timers/dmtimer/Timer_asm_gnu.sv7A ...
    asma15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/a15/Cache_asm_gnu.asm ...
    asma15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/a15/Mmu_asm_gnu.asm ...
    asma15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/a15/TimestampProvider_asm_gnu.asm ...
    asma15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/gic/Hwi_asm_gnu.asm ...
    asma15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/exc/Exception_asm_gnu.asm ...
    asma15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/systimer/Timer_asm_gnu.asm ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/BIOS.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/IntrinsicsSupport.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/TaskSupport.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/knl/Clock.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/knl/Idle.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/knl/Intrinsics.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/knl/Queue.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/knl/Semaphore.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/knl/Swi.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/knl/Swi_andn.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/knl/Task.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/hal/Cache.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/hal/Core.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/hal/Hwi.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/hal/Hwi_stack.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/hal/Hwi_startup.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/shared/vayu/IntXbar.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/shared/vayu/TimerSupport.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/timers/dmtimer/Timer.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/a15/Core.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/a15/Cache.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/a15/Mmu.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/a15/TimestampProvider.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/rts/gnu/ReentSupport.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/gic/Hwi.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/exc/Exception.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/gates/GateHwi.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/gates/GateMutex.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/heaps/HeapMem.c ...
    cla15fg /home/user01/ti/bios_6_46_04_53/packages/ti/sysbios/family/arm/systimer/Timer.c ...
    ara15fg arm_IntrinsicsSupport_asm_gnu.o arm_TaskSupport_asm_gnu.o dmtimer_Timer_asm_gnu.o a15_Cache_asm_gnu.o a15_Mmu_asm_gnu.o a15_TimestampProvider_asm_gnu.o gic_Hwi_asm_gnu.o exc_Exception_asm_gnu.o systimer_Timer_asm_gnu.o _BIOS.o arm_IntrinsicsSupport.o arm_TaskSupport.o knl_Clock.o knl_Idle.o knl_Intrinsics.o knl_Queue.o knl_Semaphore.o knl_Swi.o knl_Swi_andn.o knl_Task.o hal_Cache.o hal_Core.o hal_Hwi.o hal_Hwi_stack.o hal_Hwi_startup.o vayu_IntXbar.o vayu_TimerSupport.o dmtimer_Timer.o a15_Core.o a15_Cache.o a15_Mmu.o a15_TimestampProvider.o gnu_ReentSupport.o gic_Hwi.o exc_Exception.o gates_GateHwi.o gates_GateMutex.o heaps_HeapMem.o systimer_Timer.o ...
    gmake[1]: Leaving directory `/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/src/sysbios'
    Build of libraries done.
    cla15fg package/cfg/usb_arm_am572x_idk_pa15fg.c ...
    Finished building: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/usb_arm_am572x_idk.cfg

    gmake[1]: Leaving directory '/home/user01/workspace_v7/usb_host_msc_idkAM572x_arm_project/Debug'
    Building file: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/usb_host/msc/fatfs_port_usbmsc.c
    Invoking: GNU Compiler
    "/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc" -c -mcpu=cortex-a15 -mtune=cortex-a15 -marm -mfloat-abi=hard -Dam5728 -Dcore0 -DidkAM572x -Dgcc -I"/home/user01/workspace_v7/usb_host_msc_idkAM572x_arm_project" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/usb_host/msc" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/src/usb_func/include" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/src/include" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/shell" -I"/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -c -mno-unaligned-access -MMD -MP -MF"fatfs_port_usbmsc.d" -MT"fatfs_port_usbmsc.o" -o"fatfs_port_usbmsc.o" @"configPkg/compiler.opt" "/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/usb_host/msc/fatfs_port_usbmsc.c"
    Finished building: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/usb_host/msc/fatfs_port_usbmsc.c

    Building file: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/shell/fs_shell_app_utils.c
    Invoking: GNU Compiler
    "/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc" -c -mcpu=cortex-a15 -mtune=cortex-a15 -marm -mfloat-abi=hard -Dam5728 -Dcore0 -DidkAM572x -Dgcc -I"/home/user01/workspace_v7/usb_host_msc_idkAM572x_arm_project" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/usb_host/msc" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/src/usb_func/include" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/src/include" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/shell" -I"/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -c -mno-unaligned-access -MMD -MP -MF"fs_shell_app_utils.d" -MT"fs_shell_app_utils.o" -o"fs_shell_app_utils.o" @"configPkg/compiler.opt" "/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/shell/fs_shell_app_utils.c"
    Finished building: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/shell/fs_shell_app_utils.c

    Building file: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/biosTimer.c
    Invoking: GNU Compiler
    "/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc" -c -mcpu=cortex-a15 -mtune=cortex-a15 -marm -mfloat-abi=hard -Dam5728 -Dcore0 -DidkAM572x -Dgcc -I"/home/user01/workspace_v7/usb_host_msc_idkAM572x_arm_project" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/usb_host/msc" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/src/usb_func/include" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/src/include" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/shell" -I"/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -c -mno-unaligned-access -MMD -MP -MF"biosTimer.d" -MT"biosTimer.o" -o"biosTimer.o" @"configPkg/compiler.opt" "/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/biosTimer.c"
    Finished building: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/biosTimer.c

    Building file: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/usb_osal.c
    Invoking: GNU Compiler
    "/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc" -c -mcpu=cortex-a15 -mtune=cortex-a15 -marm -mfloat-abi=hard -Dam5728 -Dcore0 -DidkAM572x -Dgcc -I"/home/user01/workspace_v7/usb_host_msc_idkAM572x_arm_project" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/usb_host/msc" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/src/usb_func/include" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/src/include" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/shell" -I"/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -c -mno-unaligned-access -MMD -MP -MF"usb_osal.d" -MT"usb_osal.o" -o"usb_osal.o" @"configPkg/compiler.opt" "/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/usb_osal.c"
    Finished building: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/usb_osal.c

    Building file: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/host_msc_main.c
    Invoking: GNU Compiler
    "/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc" -c -mcpu=cortex-a15 -mtune=cortex-a15 -marm -mfloat-abi=hard -Dam5728 -Dcore0 -DidkAM572x -Dgcc -I"/home/user01/workspace_v7/usb_host_msc_idkAM572x_arm_project" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/usb_host/msc" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/src/usb_func/include" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/src/include" -I"/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/shell" -I"/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/arm-none-eabi/include" -g -gdwarf-3 -gstrict-dwarf -Wall -c -mno-unaligned-access -MMD -MP -MF"host_msc_main.d" -MT"host_msc_main.o" -o"host_msc_main.o" @"configPkg/compiler.opt" "/home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/host_msc_main.c"
    Finished building: /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/drv/usb/example/bios/host_msc_main.c

    Building target: usb_host_msc_idkAM572x_arm_project.out
    Invoking: GNU Linker
    "/home/user01/ti/gcc-arm-none-eabi-4_9-2015q3/bin/arm-none-eabi-gcc" -mtune=cortex-a15 -marm -Dam5728 -Dcore0 -DidkAM572x -Dgcc -g -gdwarf-3 -gstrict-dwarf -Wall -mno-unaligned-access -mfloat-abi=hard -Wl,-Map,"usb_host_msc_idkAM572x_arm_project.map" -nostartfiles -static -Wl,--gc-sections -L"/home/user01/ti/bios_6_46_04_53/packages/gnu/targets/arm/libs/install-native/arm-none-eabi/lib/fpu" -Wl,--defsym,CORE0=1 -Wl,--defsym,STACKSIZE=0x10000 -Wl,--defsym,HEAPSIZE=0x400 -o"usb_host_msc_idkAM572x_arm_project.out" "./biosTimer.o" "./fatfs_port_usbmsc.o" "./fs_shell_app_utils.o" "./host_msc_main.o" "./usb_osal.o" -Wl,-T"configPkg/linker.cmd" -Wl,--start-group -lrdimon -lgcc -lm -lc -Wl,--end-group
    Finished building target: usb_host_msc_idkAM572x_arm_project.out

    /home/user01/ti/pdk_am57xx_1_0_6/packages/pdkAppImageCreate.sh /home/user01/ti/pdk_am57xx_1_0_6/packages /home/user01/ti/gcc-arm-none-eabi-4_9-2015q3 /home/user01/workspace_v7/usb_host_msc_idkAM572x_arm_project/Debug usb_host_msc_idkAM572x_arm_project AM572x arm
    /home/user01/workspace_v7/usb_host_msc_idkAM572x_arm_project/Debug exists
    /ti/boot/sbl/binary/testApp does not exists
    /ti/boot/sbl/binary/testApp does not exists
    /ti/boot/sbl/binary/testApp does not exists
    /ti/boot/sbl/binary/testApp does not exists
    /ti/boot/sbl/binary/testApp does not exists
    /ti/boot/sbl/binary/testApp does not exists
    /ti/boot/sbl/binary/testApp does not exists
    Number of Input Files 1
    Error opening input image file! /home/user01/workspace_v7/usb_host_msc_idkAM572x_arm_project/Debug/usb_host_msc_idkAM572x_arm_project.out.rprc

    /home/user01/ti/pdk_am57xx_1_0_6/packages/ti/boot/sbl/tools/scripts/AM57xImageGen.sh: line 37: mono: command not found

    **** Build Finished ****
  • Hi,

    You can just load the .out file with CCS/JTAG and run (remember using GEL file to intialize the SOC). In the CCS project there is post script to convert .out file into binary to boot from MMCSD, you don't need that.

    Regards, Eric
  • Netover,

    The USB LLD driver in the RTOS SDK is written to work in bare-metal and RTOS environment. We implement a OSAL(OS abstraction layer) in the SDK so that the same LLD can interface with RTOS and with bare-metal code. If you see the lib folder in the pdk_am57xx_x_x_x_x\packages\ti\osal, you will notice rtos and no-os versions of the library. There is no USB bare-metal examples in the SDK either in the diagnostics or in CSL examples that shows this usage but there are other drivers like GPIO, UART, SPI that work with and without TI RTOS.

    Linux drivers are more complex and tied to the Linux kernel so they are not very straight forward to port to bare-metal software.

    Regards,
    Rahul