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.

TMS320C6748: 如何重编译rebuilt pdk的驱动库?

Part Number: TMS320C6748
Other Parts Discussed in Thread: SYSBIOS

在原问题中,有个unresolved symbol 的问题,我想尝试重新编译pdk中的usb库,我注意到在编译链接库的时候是:
Linking with library ti.drv.usb:./lib/omapl138/c674/release/ti.drv.usb.ae674
这个ae674是rtos用的库文件吗?如何编译出这个文件?
我知道编译静态库的方法,在新建工程选择static library,但这样编译输出的是.lib文件,请问这个文件与上文的.ae674不同吗?

  • 再补充说明一下吧,那句话是在编译rtsc工程时出现的

    **** Build of configuration Debug for project Testbench0811 ****

    "C:\\ti\\ccs1200\\ccs\\utils\\bin\\gmake" -k -j 24 all -O

    Building file: "../tb0811.cfg"
    Invoking: XDCtools
    "C:/ti/ccs1200/xdctools_3_62_01_16_core/xs" --xdcpath="C:/ti/edma3_lld_2_12_05_30E/packages;C:/ti/ipc_3_50_04_08/packages;C:/ti/ndk_3_61_01_01/packages;C:/ti/pdk_omapl138_1_0_11/packages;C:/ti/bios_6_76_03_01/packages;C:/ti/uia_2_30_01_02/packages;C:/ti/xdais_7_24_00_04/packages;C:/ti/xdais_7_24_00_04/examples;" xdc.tools.configuro -o configPkg -t ti.targets.elf.C674 -p ti.platforms.evm6748 -r debug -c "C:/ti/ccs1200/ccs/tools/compiler/ti-cgt-c6000_8.3.12" "../tb0811.cfg"
    making package.mak (because of package.bld) ...
    generating interfaces for package configPkg (because package/package.xdc.inc is older than package.xdc) ...
    configuring tb0811.xe674 from package/cfg/tb0811_pe674.cfg ...
    SoC Type is
    SoC Type is omapl138
    generating custom ti.sysbios library makefile ...
    Linking with library ti.drv.usb:./lib/omapl138/c674/release/ti.drv.usb.ae674
    Linking with library ti.board:./lib/lcdkOMAPL138/c674/release/ti.board.ae674
    Linking with library ti.drv.i2c:./lib/c674/release/ti.drv.i2c.ae674
    Linking with library ti.drv.uart:./lib/omapl138/c674/release/ti.drv.uart.ae674
    Linking with library ti.osal:./lib/tirtos/omapl138/c674/release/ti.osal.ae674
    Linking with library ti.csl:./lib/omapl138/c674/release/ti.csl.ae674
    Starting build of library sources ...
    making C:/Users/.../workspace_v12/Testbench0811/src/sysbios/sysbios.ae674 ...
    Build of libraries done.
    cle674 package/cfg/tb0811_pe674.c ...
    Finished building: "../tb0811.cfg"

    Building file: "../usb_bulk_structs.c"
    Invoking: C6000 Compiler
    "C:/ti/ccs1200/ccs/tools/compiler/ti-cgt-c6000_8.3.12/bin/cl6x" -mv6740 --include_path="C:/Users/.../workspace_v12/Testbench0811" --include_path="C:/ti/ccs1200/ccs/tools/compiler/ti-cgt-c6000_8.3.12/include" --include_path="C:/ti/pdk_omapl138_1_0_11/packages/ti/drv/usb/src/include" --include_path="C:/ti/pdk_omapl138_1_0_11/packages/ti/drv/usb" --include_path="C:/ti/pdk_omapl138_1_0_11/packages/ti/drv/usb/src/usb_func/include" --include_path="C:/ti/pdk_omapl138_1_0_11/packages/ti/drv/usb/example/common" --define=c6748 --define=lcdkOMAPL138 --define=SOC_OMAPL138 -g --diag_warning=225 --diag_wrap=off --display_error_number --preproc_with_compile --preproc_dependency="usb_bulk_structs.d_raw" --cmd_file="configPkg/compiler.opt" "../usb_bulk_structs.c"
    Finished building: "../usb_bulk_structs.c"

    Building file: "../main.c"
    Invoking: C6000 Compiler
    "C:/ti/ccs1200/ccs/tools/compiler/ti-cgt-c6000_8.3.12/bin/cl6x" -mv6740 --include_path="C:/Users/.../workspace_v12/Testbench0811" --include_path="C:/ti/ccs1200/ccs/tools/compiler/ti-cgt-c6000_8.3.12/include" --include_path="C:/ti/pdk_omapl138_1_0_11/packages/ti/drv/usb/src/include" --include_path="C:/ti/pdk_omapl138_1_0_11/packages/ti/drv/usb" --include_path="C:/ti/pdk_omapl138_1_0_11/packages/ti/drv/usb/src/usb_func/include" --include_path="C:/ti/pdk_omapl138_1_0_11/packages/ti/drv/usb/example/common" --define=c6748 --define=lcdkOMAPL138 --define=SOC_OMAPL138 -g --diag_warning=225 --diag_wrap=off --display_error_number --preproc_with_compile --preproc_dependency="main.d_raw" --cmd_file="configPkg/compiler.opt" "../main.c"
    Finished building: "../main.c"

    Building target: "Testbench0811.out"
    Invoking: C6000 Linker
    "C:/ti/ccs1200/ccs/tools/compiler/ti-cgt-c6000_8.3.12/bin/cl6x" -mv6740 --define=c6748 --define=lcdkOMAPL138 --define=SOC_OMAPL138 -g --diag_warning=225 --diag_wrap=off --display_error_number -z -m"Testbench0811.map" --heap_size=0x800 --stack_size=0x800 -i"C:/ti/ccs1200/ccs/tools/compiler/ti-cgt-c6000_8.3.12/lib" -i"C:/ti/ccs1200/ccs/tools/compiler/ti-cgt-c6000_8.3.12/include" --reread_libs --diag_wrap=off --display_error_number --warn_sections --xml_link_info="Testbench0811_linkInfo.xml" --rom_model -o "Testbench0811.out" "./main.obj" "./usb_bulk_structs.obj" "../src/sysbios/BIOS.obj" "../src/sysbios/c62_TaskSupport_asm.obj" "../src/sysbios/c64p_Exception_asm.obj" "../src/sysbios/c64p_Hwi_asm.obj" "../src/sysbios/c64p_Hwi_asm_switch.obj" "../src/sysbios/c64p_Hwi_disp_always.obj" "../src/sysbios/ti_tls_get_tp.obj" "../src/sysbios/timer64_Timer_asm.obj" -l"configPkg/linker.cmd" -llibc.a
    <Linking>

    undefined first referenced
    symbol in file
    --------- ----------------
    delayTimerSetup ./main.obj
    usb_osalDelayMs ./main.obj

    error #10234-D: unresolved symbols remain
    error #10010: errors encountered during linking; "Testbench0811.out" not built

    >> Compilation failure
    makefile:151: recipe for target 'Testbench0811.out' failed
    gmake[1]: *** [Testbench0811.out] Error 1
    makefile:147: recipe for target 'all' failed
    gmake: *** [all] Error 2

    **** Build Finished ****

  • 这个ae674是rtos用的库文件吗?如何编译出这个文件?
    我知道编译静态库的方法,在新建工程选择static library,但这样编译输出的是.lib文件,请问这个文件与上文的.ae674不同吗?

    关于该驱动库请参考:

    What is the difference between SOC-specific driver library and the SOC-independent (Generic core-specific) driver library?

    https://software-dl.ti.com/processor-sdk-rtos/esd/docs/latest/rtos/FAQ.html#device-drivers

    如何编译出这个文件?

    尝试重新编译PDK看看,如果不行的话,我需要咨询其它工程师看一下如何重新编译该库。

    software-dl.ti.com/.../index_overview.html

  • 你好,第二个链接中提到的gmake是否为此路径"C:\ti\xdctools_3_55_02_22_core\gmake.exe"

  • 你好,我先设置了alias,再测试gmake命令,gmake -v显示版本,测试gmake可用,然后设置环境变量,执行dksetupenv.bat(没有管理员权限),最后执行gmake clean,显示找不到路径。

    具体信息如下:

    PS C:\ti\pdk_omapl138_1_0_11\packages> new-item alias:gmake -value 'C:\ti\xdctools_3_55_02_22_core\gmake.exe'

    CommandType Name Version Source
    ----------- ---- ------- ------
    Alias gmake -> gmake.exe


    PS C:\ti\pdk_omapl138_1_0_11\packages> gmake -v
    GNU Make 4.2.1
    Built for Windows32
    Copyright (C) 1988-2016 Free Software Foundation, Inc.
    License GPLv3+: GNU GPL version 3 or later <gnu.org/.../gpl.html>
    This is free software: you are free to change and redistribute it.
    There is NO WARRANTY, to the extent permitted by law.
    PS C:\ti\pdk_omapl138_1_0_11\packages> ./pdksetupenv.bat
    ***************************************************
    Environment Configuration:
    ***************************************************
    SDK_INSTALL_PATH : C:/ti
    PDK_INSTALL_PATH : C:/ti/pdk_omapl138_1_0_11/packages
    GMAKE_INSTALL_PATH : C:/ti/xdctools_3_55_02_22_core
    PDK_SOC : omapl138
    PDK_VERSION : 1_0_11
    RULES_MAKE : C:/ti/pdk_omapl138_1_0_11/packages/ti/build/Rules.make
    ***************************************************
    PS C:\ti\pdk_omapl138_1_0_11\packages> gmake clean
    makefile:19: /ti/build/Rules.make: No such file or directory
    gmake: *** No rule to make target '/ti/build/Rules.make'. Stop.
    PS C:\ti\pdk_omapl138_1_0_11\packages> gmake all
    makefile:19: /ti/build/Rules.make: No such file or directory
    gmake: *** No rule to make target '/ti/build/Rules.make'. Stop.

  • 是的,都在C:/ti 中

  • 在命令提示符CMD下,编译完成了