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.

[参考译文] 编译器/TMDSLCDK6748:尝试使用 NDK 构建系统/生物5程序时出现链接错误

Guru**** 2576195 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/623096/compiler-tmdslcdk6748-link-error-when-i-trying-to-build-my-sys-bios5-program-with-ndk

器件型号:TMDSLCDK6748

工具/软件:TI C/C++编译器

我正在尝试在我自己的项目中构建 NDK 示例。 我在项目文件中包含了 NDK 路径、但仍有错误:

****为项目 ESS 构建配置调试**"D:\ti\\ccsv5\\utils\bin\\gmake"

-k 所有
'building file:./app.tcf'
'invertf'"D
:/ti/bios_5_42_01_09/xdctools/tconf -b -Dconfig.importPath="D:/ti/bios_5_42_01_09/packages;D:/ti/ndk_2_20_06_35/packages/ti/ndk/inc/tci;"..


构建文件'/app.cf"。'building .app.app.'。
调用:C6000编译器
'D:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x -mv6740 --abi=coffabi -g -include_path="D:/ti/ccsv5/tools/compiler/c6000_7.4.4/include /ti/ndk_2_20_06_35/packages/ti/ndk/inc /ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000 -include_path="D:/Users/zhuji/Projects/CCD/SY18-201708/DSP/ess "-include_path="D:/ti/ndk_2_20_06_35/packages/ti/ndk/inc/tools -include_path="D:/ti/bios_5_42_01_09/packages/ti/bios/include -include_path="D:support="D:/Users/zhuji/Projects/CCD/SY18-201708/DSP/ess/Debug -include_display_suppremitation="D:super-display_probe_display-d_suppage=d.prefus-display_display_display-d_supd_suppage=d_display_suppage=d_suppage-probulation="d_display_suppage-d_suppage-probulation_decnation_decnation="-d_display_suppage=d_display_suppage-d_suppage-d_suppage
'已完成构建:appcfg.s?'
'
''生成文件:appcfg_c.c'
'调用:C6000编译器'
"D:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x /ti/ndk_2_20_06_35/packages/ti/ndk/inc/tools /ti/bios_5_42_01_09/packages/ti/bios/include -mv6740 --abi=coffabi -g --include_path="D:/ti/ccsv5/tools/compiler/c6000_7.4.4/include /ti/ndk_2_20_06_35/packages/ti/ndk/inc /ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000 --include_path="D:/Users/zhuji/Projects/CCD/SY18-201708/DSP/ess --include_path="D:/Users/zhuji/Projects/CCD/SY18-201708/DSP/ess/Debug --include_path="D:appendor="D:c="D:prob="d:c_decorit_build="d:c="d:probe.come"-cc=cprobe.c
:c_decorit_probe.come.c

:cprobe.c
C6000




编译器的"D:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x - mv6740 --abi=coffabi -g - include_path="D:/ti/ccsv5/tools/compiler/c6000_7.4.4/include /ti/ndk_2_20_06_35/packages/ti/ndk/inc /ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000 - include_path="D:/Users/zhuji/Projects/CCD/SY18-201708/DSP/ess /Users/zhuji/Projects/CCD/SY18-201708/DSP/ess/Debug
/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x - include_path="D:/ti/ndk_2_20_06_35/packages/ti/ndk/inc/tools /ti/bios_5_42_01_09/packages/ti/bios/include - include_path="D:common_proc = d_building="ding_defination="ding_deumination.probe.combe.combe.combe.combe.combe.combe.combe.combe.combe.comb.proc = d_probe.combe.combe.combe.combe.comb.probe.com.prob.prob.prob.probe.com.prob.c: abi=coffabi -g --include_path="D:/ti/ccsv5/tools/compiler/c6000_7.4.4/include --include_path="D:/Users/zhuji/Projects/CCD/SY18-201708/DSP/ess --include_path="D:/ti/ndk_2_20_06_35/packages/ti/ndk/inc/tools --include_path="D:/ti/ndk_2_20_06_35/packages/ti/ndk/inc --include_path="D:/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000




/Users/zhuji/Projects/CCD/SY18-201708/DSP/ess --include_path="D:/Users/zhuji/Projects/CCD/SY18-201708/DSP/ess/Debug /ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x --include_path="D:forumination_defination="D:/ti/bios_5_42_01_09/packages/ti/bios/include --hoobulation_deumination.c:/ti/ccsv5/tools/compiler/c6000_7.4.4/include --'membulation_deumination.come.come.come.come.combe.combe.combe.combe.combe.combe.combe.combe.combe.combe.combe.combe.combe.combe.combe.combe.combe.com.ine_d_emb.cn_emb.cn"-d.cn_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_de_dep. include_path="D:/ti/ndk_2_20_06_35/packages/ti/ndk/inc/tools /ti/bios_5_42_01_09/packages/ti/bios/include




/ti/ccsv5/tools/compiler/c6000_7.4.4/include /ti/ndk_2_20_06_35/packages/ti/ndk/inc --include_path="D:/ti/ndk_2_20_06_35/packages/ti/ndk/inc --include_path="D:/Users/zhuji/Projects/CCD/SY18-201708/DSP/ess --include_path="D:/Users/zhuji/Projects/CCD/SY18-201708/DSP/ess/Debug --include_path="D:/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000 --include_path="D:/Users/zhuji/Projects/CCD/SY18-201708/DSP/ess/Debug --define= C6748 --display_error_number --diag_warning=225 ---diag_wrap=off --include_building -d"d:cn"-cn_decimumb:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x:cn"-cn_membulation="d_membe.come"-cn"-cn_membe.combe.combe.combe.com/support/d_rom.com.cn"-cn"-cn"-cn_dec_dec_decimumb:cn"-cn"-cn"-cn_decimumb:/ti/ndk_2_20_06_35/packages/ti/ndk/inc/tools -cn_ov.cn_build.cn"-cn"-cn_ov.cn"-cn_ov.cn"-cn_ov.cn"-cn.ec.ec.ec.cn"-cn_ov.cn"-cn_ov.cn.cn.cn.cn.cn.cn.cn.cn include_path="D:/ti/bios_5_42_01_09/packages/ti/bios/include




/ti/ccsv5/tools/compiler/c6000_7.4.4/include /ti/ndk_2_20_06_35/packages/ti/ndk/inc /ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000 --include_path="D:/ti/bios_5_42_01_09/packages/ti/rtdx/include/c6000 --define=C6748 --display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_dependence="intmgmt.pP"./intmgmt.c"已完成构建:/Users/zhuji/Projects/CCD/SY18-201708/DSP/ess /Users/zhuji/Projects/CCD/SY18-201708/DSP/ess/Debug --include-trabout_path=/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x -d"d:cn"/ti/ndk_2_20_06_35/packages/ti/ndk/inc/tools -board.include -d"d:board.cn"-intrabitude"-d"d:cn"/ti/bios_5_42_01_09/packages/ti/bios/include -board.cn"-cn-include-board.cn"-d.cn"-intrab.cn"-cn-cn_path=d.cn"d.cn"-d.cn"-d.cn.cn.cn.cn.cn.cn.cn.cn.cn.cn"-d.cn.cn.cn"-cn.cn.cn.cn.cn.cn.cn.cn.cn.cn.cn.cn.cn.cn.cn.cn.cn.cn.cn.cn.cn. display_error_number --diag_warning=225 --diag_wrap=off --preproc_with_compile --preproc_Dependency="webpage.c"
'finished:./webpage.c'
'
'''building target:warn.out'
'pring: c6000 Linker'"D
:/ti/ccsv5/tools/compiler/c6000_7.4.4/bin/cl6x /ti/ccsv5/tools/compiler/c6000_7.4.4/lib /ti/bios_5_42_01_09/packages/ti/rtdx/lib/c6000 -webpage.c"-ishere-d="-de-d_idagram_off-de-de-ram_ise-de-ines_dries=-ram_isclus-de-tag-de-de-ines=-de-de-de-drie-ines_dries=-de-tag-ines_drie-de-de-de-de-de-de-dag-ines_dries_dries=-ines_di="-ines=-ines=-de-tag-ines_dri-inese-/ti/bios_5_42_01_09/packages/ti/bios/lib /ti/ccsv5/tools/compiler/c6000_7.4.4/include xml_link_info="ESS_linkInfo.xml"--rom_model -o "ESS.out"-l"./appcfg.cmd "./intmgmt.obj "./evminit.obj./emachooks.ti"./cfg./webg.ti"./intmgmt./cn/lib_k/dobj./dc/repd/ap./ffics/ms/ts/tex/ffts/tins/ms/ms/ms/me_tis/ffics/tid/dc/pd./ffics/tis/fftins/ms/tins/tis/d./dc/pd/ffics/tis/ffics/tis/dc/ms/ms/ms/ms/ms/ms/mes\cms/tis/dc/dc/dc/ms/tid/ffics/tid/dc/ms/tis/fftis/fftis/dc/ms/tis/ins/tid/dc/ms/ms/ms/ms/tis/dc/ms/tid.

"./appcfg.cmd"、第332行:错误#10099-D:程序将无法装入可用内存。 对齐方式运行".far"大小0x65c2b 的定位失败。 可用存储器范围:
IRAM 大小:0x40000 未使用:0x24740 最大孔数:0x24730
"./appcfg.cmd"、第356行:错误#10099-D:程序将无法装入可用内存。 “.text”大小为0x64320的段定位失败。 可用存储器范围:
IRAM 大小:0x40000 未使用:0x24740 最大空洞:0x24730

未定义 第一个参考
符号 文件中

------ --------
>>编译失败
_ecm_dispatchTab D:/ti/bios_5_42_01_09/packages/ti/bios/lib/bios.a674 

错误#10234-D:未解析的符号仍然
存在错误#10010:链接期间遇到错误;"ESS.out"未生成
gmake:***[ESS.out]错误1
gmake:目标`all '不会由于错误而重做。

****构建完成****

有人可以帮帮我吗? Thx

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题已解决。 我在 tcf 文件中添加一些内容。

    /*启用以下 DSP/BIOS 功能。 bios.enableMemoryHeaps
    (prog);
    bios.enableRealTimeAnalysis (prog);
    bios.enableRtdx (prog);
    bios.enableManager (prog);
    
    //创建 NDK 堆栈线程*/bios.tskndstackStackTest
    = bios.tsk.stackn ("tstackn.stackn
    
    
    )
    
    
    ;如果 best = 0x1000 dstack.stackn.stackn.stackn = 0x1000、则检查 b.stack.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.stackn.st
    
    
    
    //电路板特定设置*/
    bios.MEM.instance("IRAM").len = 0x0002FFFF;
    
    //
    在外部存储器中创建堆*/ bios.MEM.instance("DDR").createHeap = 1;
    bios.MEM.instance("DDR").heapSize = 0x00020000;
    BIOS.MEM.BIOSOBJSEG = prog.get ("DDR");
    BIOS.MEM.MALLOCSEG = prog.get ("DDR");
    
    BIOS.GBL.PLL2CFG ="C64256k";
    
    /*配置板*/BIOS.GBL.CLKOUT
    = 300.0000;
    BIOS.GBL.CALLUSERINITFXN = 1;
    BIOS.GBL.USERINITFXN = prog.extern ("EVM_Init");
    
    //为仪器配置日志记录伺服*/
    BIOS.log.TS = true;BIOS.log.extern = prog.extern ("evm_Init"
    
    bios.LOG.instance("DVTEvent_Log").bufSeg
    
    );// bios.LOG.instance("DVTEvent_Log").bufLen bios.LOG.instance("DVTEvent_Log").comment = DVt"();"DVt"=
    
    /*配置计时器*/BIOS.CLK.TIMERSELECT
    ="计时器0";
    BIOS.CLK.RESETTIMER = true;
    
    
    //将所有段移动到外部存储器*/
    bios.setMemCodeSections(prog、prog.get ("DDR");
    bios.setMemDataHeapSections(prog、prog.get ("DDR"));
    bios.setMemDataNoHeapSections(prog、 prog.get ("DDR"));
    
    /*删除 IRAM,因为我们已将 L2设置为缓存*/
    bios.IRAM.destroy();
    
    //如果需要,也启用 ECM 以便 NDK 中断管理器使用*/
    BIOS.ECM.enable = 1;
    

    无论如何、谢谢您

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Jiawei、

    感谢您分享解决方案!

    BR
    Tsvetolin Shulev