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.

[参考译文] Compiler/TMS320F28388D:无法使用自定义运行时库编译应用程序代码

Guru**** 2952510 points

Other Parts Discussed in Thread: TMS320F28388D

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/948734/compiler-tms320f28388d-unable-to-compiler-application-code-with-custom-run-time-libraries

器件型号:TMS320F28388D

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

尊敬的 TI:

我已经使用 TI 提供的编译器标志创建了一个定制运行时库、这些标志用于创建使用编译器版本18.1.3.LTS 和 eabi 作为输出格式的闪存 API 库。

我所面临的问题是、我无法使用我的应用程序代码编译这些库。 我遇到了某种与链接器相关的问题、您可以在随附的屏幕截图中查看该问题。

下面是编译器链接器选项

通常、对于运行时支持库、我选择了"无"。

请您向我解释我为什么面临此问题?

请帮助我尽快修复此错误。

谢谢、此致

Gurusha

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

    我很确定问题在这里...

    [引用 user="gurusha Nahar"]我已经使用 TI 提供的编译器标志创建了一个自定义运行时库,这些标志用于创建使用编译器版本18.1.3.LTS 和 eabi 作为输出格式的闪存 API 库。

    请展示如何构建该库中的一个文件。  还显示了用于从目标文件创建库的命令。  请复制并粘贴文本、不要使用屏幕截图。

    谢谢、此致、

    乔治

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

    尊敬的乔治:

    我将分享以下步骤、这可能会让您了解我为什么面临这些问题:

    以下是创建运行时库(创建 RAM 运行时库)的过程:

    首先、我创建了新项目、在新的 CCS 项目窗口中选择静态库作为输出类型。
    2.然后我在 RAM 库中包含了所需的源文件
    (请检查随附的包含所有源文件的 zip 文件夹)


    我使用了以下编译器链接器标志:-v28 -ml -mt --tmu_support=tmu0 -float_support=fpu32 -include_path="C:\ti\ccs1000\ccs\tools\compiler\ti-cgt-C2000-abi.3.LTS \include"-k -al -g -predag=ab_subsection=proc-off-predag_display_subsection=prob_off-prob_subs=prisdag_subs=-with-prob_subsection_display_subs=prisdag_subs=-off-with_subs=prob_subsection_subs=-  
    使用这些标志进行编译时、我能够生成 RAM 库。

    然后、我只创建了一个新项目并包含了这个生成的 RAM 库。(我想一次测试一个、这样)。 请检查所选的编译器标志 是否为 v18.1.3.LTS 和 eabi 作为输出格式。 如果我将运行时支持库选择为 none (甚至排除了 libc.a)、我将得到以下错误:


    ****为项目项目构建配置调试****

    "C:\\ti\\ccs1000\\ccs\\utils\bin\\gmake"-k -j 8 all -O  

    编译文件:"../main.c"
    调用:C2000编译器
    "c:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000 -v28 -ml -mt --float_support=fpu64 --idiv_support=idiv0 --tmu_support=tmu0 --include_path="C:/Users/h352524/workspace_v10/Project --include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include --g --abi_warning=225 --diag_wrap=off --preproc_abi_main_subsections=raus.c -abi_abi_main.c -abi_main.c -abi_abi_abi_subsections=raus.c -abi_abi_main_main.c -abi_abi_main.c。
    "./main.c"、第13行:警告#515-D:无法将类型为"void *"的值分配给类型为"int"的实体
    "./main.c"、第12行:警告#552-D:变量"结果"已设置、但从未使用
    建筑完工:"../main.c"

    构建目标:"project.out"
    调用:C2000链接器
    "c:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/bin/cl2000 -v28 -ml -mt --float_support=fpu64 -idiv_support=idiv0 --tmu_support=tmu0 -g -diag_warn=225 -ram_wrap=off -display_error_number -gen_func_warn=on -abi=eid_ex-map_rom-"-ram_ram_wrap_project-out-"-line_subsections.html"-"-ram_ram_line_linepsections.html-out_line_line_linepsections.html-line_lineps=-line_line_lineps=-out.pru2.prux.htm"-out_line_line_line_linepsection.pru2.pru2.prux.htm_line_line_line_line_line_line_linepsections.htm"-line_line_lineps"-"-out_lineps"--out.prux.htm"-line_line_line_/Users/h352524/workspace_v10/Project/rtl_F28388DRam.lib /ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include  

    警告#10208-D:自动 RTS 选择:尝试在索引库"libc.a"中自动链接失败;找不到文件
    错误#10198-D:中没有连接输入段
    警告#10062-D:未定义入口点符号"_c_int00"
    警告#10202-D:未找到合适的入口点;设置为0
    错误#10010:链接期间遇到错误;未生成"Project.out"

    >>编译失败
    Makefile:142:目标'Project.out'的配方失败
    gmake.1]:***[Project.out]错误1.
    Makefile:138:目标“全部”的配方失败
    gmake:***[全部]错误2.

    然后、在包含 libc.a 之后、当我选择 编译器 ti-cgt-C2000_18.1.3.LTS、eabi 选项和 rts2800_fpu32_eabi.lib 时。我们将收到以下警告:


    ****为项目项目构建配置调试****

    "C:\\ti\\ccs1000\\ccs\\utils\bin\\gmake"-k -j 8 all -O  

    编译文件:"../main.c"
    调用:C2000编译器
    "c:/ti/ccs1000/ccs/tools/compiler/bin/cl2000 "-v28 -ml -mt --tmu_support=tmu0 -include_path="C:/Users/h352524/workspace_v10/Project -include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include "-g -diag_warning=225 --diag_wrap=off --display_error_number -gen_func_subsections=on --abi=eproc-preproc_raus.c"-preproc_dependency"-preproc_preproc_raus.c -raus.c。
    "./main.c"、第13行:警告#515-D:无法将类型为"void *"的值分配给类型为"int"的实体
    "./main.c"、第12行:警告#552-D:变量"结果"已设置、但从未使用
    建筑完工:"../main.c"

    构建目标:"project.out"
    调用:C2000链接器
    "c:/ti/ccs1000/ccs/tools/compiler/bin/cl2000 "-v28 -ml -mt --tmu_support=tmu0 -g -diag_warning=225 -diag_wrap=off -display_error_number -gen_func_subsections=on -abi=eabi -z -m"project.map"---stack_size=0x200 -display_error_ex-rom_ram_linkg-"-linkg-ram_ram_ram_ram_ram_lines=on -"-ram_ram_line.html-l_line_display_ram_ram_ram_ram_lineps.html"-ram_ram_ram_ram_ram_line_display_ram_ram_ram_out.cn/ram_line.htm"-line_display_lineps.pru.pru.pru.ines=-line_display_ram_ram_ram_ram_ram_ram_ram_ram_ram_ram_ram /ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/lib/libc.a /ti/ccs1000/ccs/tools/compiler/include  

    "boot28.asm"、第128行:警告#17001-D:不支持重定位类型(类型='R_0x14'(0)、文件="C:\ti\ccs1000\ccs\tools\compiler\ti-cgt-C2000-20.2.1.sps\lib\rts2800_fpu32_eabi.lib "、偏移= 0x0000000d、段=".text")
    "boot28.asm"、第133行:警告#17001-D:不支持重定位类型(类型='R_0x14'(0)、文件="C:\ti\ccs1000\ccs\tools\compiler\ti-cgt-C2000-20.2.1.sps\lib\rts2800_fpu32_eabi.lib "、OFFSET = 0x00000011、SECTION =".text")
    "boot28.asm"、第263行:警告#17001-D:不支持重定位类型(类型='R_0x14'(0)、文件="C:\ti\ccs1000\ccs\tools\compiler\ti-cgt-C2000-20.2.1.sps\lib\rts2800_fpu32_eabi.lib "、OFFSET = 0x00000013、SECTION =".text")
    "boot28.asm"、第264行:警告#17001-D:不支持重定位类型(类型='R_0x14'(0)、文件="C:\ti\ccs1000\ccs\tools\compiler\ti-cgt-C2000-20.2.1.sps\lib\rts2800_fpu32_eabi.lib "、OFFSET = 0x00000015、SECTION =".text")
    警告#10015-D:无法在目标系统上加载和运行输出文件"Project.out"
    完成构建目标:"project.out"

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

    e2e.ti.com/.../ram_5F00_lib.zip



    请检查我是否使用了以下源文件来创建我共享的运行时库。

    此外、我还共享了执行这些测试的项目的 zip 文件夹。

    e2e.ti.com/.../7271.Project.zip

    请查看我共享的项目、并尝试帮助我们了解这些警告。

    我还尝试将闪存库包括在内、当 在该项目中编译和测试时、闪存库具有与 rts2800_fpu32_eabi.lib 相同的功能(但包含版本18.1.3.LTS 编译器的库源文件)、为我提供了相同的警告集、


    ****为项目项目构建配置调试****

    "C:\\ti\\ccs1000\\ccs\\utils\bin\\gmake"-k -j 8 all -O  

    编译文件:"../main.c"
    调用:C2000编译器
    "c:/ti/ccs1000/ccs/tools/compiler/bin/cl2000 "-v28 -ml -mt --tmu_support=tmu0 -include_path="C:/Users/h352524/workspace_v10/Project -include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include "-g -diag_warning=225 --diag_wrap=off --display_error_number -gen_func_subsections=on --abi=eproc-preproc_raus.c"-preproc_dependency"-preproc_preproc_raus.c -raus.c。
    "./main.c"、第13行:警告#515-D:无法将类型为"void *"的值分配给类型为"int"的实体
    "./main.c"、第12行:警告#552-D:变量"结果"已设置、但从未使用
    建筑完工:"../main.c"

    构建目标:"project.out"
    调用:C2000链接器
    "c:/ti/ccs1000/ccs/tools/compiler/bin/cl2000 "-v28 -ml -mt --tmu_support=tmu0 -g -diag_warning=225 -diag_wrap=off -display_error_number -gen_func_subsections=on -abi=eabi -z -m"project.map"--stack_size=0x200 -display_error_ram_ram_ram_lineps"-"-line_ram_ram_ram_ram_line.html"-"-ram_ram_ram_ram_ram_line_display_ram_ram_ram_out.pru.prisot_line_ram_ram_line_ram_ram_line_ram_line_ram_line_ram_line.htm#-"-"-ram_ram_ram_ram_line_display_ram_ram_ram_ram_lineps.html"-ram_ram_line_display_ram_ram_ram_ram_ram_ram_ram_line_display_line./ti/ccs1000/ccs/tools/compiler/include  

    "C:\users\h352524\Desktop\RTL_Stuff F28388D\CRTL_Library_V18.1.3.LTS \FLASH_lib\boot28.asm"、第199行:警告#17001-D:不支持重定位类型(类型='R_0x14'(0)、文件="./RTS_TMS320F288lib_FLAS0.asm "、偏移= 0x0000000d、段=".text")
    "C:\users\h352524\Desktop\RTL_Stuff F28388D\CRTL_Library_V18.1.3.LTS \FLASH_lib\boot28.asm"、第204行:警告#17001-D:不支持重定位类型(类型='R_0x14'(0)、文件="./RTS_TMS320F288lib_TMS320F2838D.lib "、OFFSET = 0x00000011、SECTION =".text")
    "C:\users\h352524\Desktop\RTL_Stuff F28388D\CRTL_Library_V18.1.3.LTS \FLASH_lib\boot28.asm"、第334行:警告#17001-D:不支持重定位类型(类型='R_0x14'(0)、文件="./RTS_TMS320F288lib_FLAS0.asm "、OFFSET = 0x00000013、SECTION =".text")
    "C:\users\h352524\Desktop\RTL_Stuff F28388D\CRTL_Library_V18.1.3.LTS \FLASH_lib\boot28.asm"、第335行:警告#17001-D:不支持重定位类型(类型='R_0x14'(0)、文件="./RTS_TMS320F288lib_FLAS0.asm "、OFFSET = 0x00000015、SECTION =".text")
    警告#10015-D:无法在目标系统上加载和运行输出文件"Project.out"
    完成构建目标:"project.out"

    附加了包含已添加闪存运行时间库的项目 zip 文件:e2e.ti.com/.../Project_5F00_with_5F00_added_5F00_flash_5F00_lib.zip

    注意:请注意、在不同的 code composer studio 版本中测试时、项目名称可能会有所不同。

    我想了解以下这些重定位类型警告是什么。

    ‘编译器18.1.3似乎不支持“eabi”格式,那么 TI 提供的闪存 API 库如何具有相同的编译器标志。 与其他编译器版本相比、这里的可能性有多大?

    请注意、我们非常需要使用支持 eabi 的编译器版本、以便使用我们生成的闪存和 RAM 库进行编译。

    谢谢、此致

    Gurusha

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

    第一个项目的问题是链接器的此选项...

    [引用 user="gurusha Nahar"]-i"C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_20.2.1.LTS/include

    此路径是编译器头文件的路径。  链接器需要库的路径。   将其更改为以  lib 而 不是  include 结束。   

    第二个和第三个项目有一个共同的问题。  链接器的版本必须>=编译器的版本、用于编译链接器看到的任何文件或库。  您正在使用版本18.1.3.LTS 链接器链接由版本20.2.x.LTS 编译器构建的代码。  较高版本的编译器必须将旧版链接器无法处理的内容放入目标文件中。

    存在与版本相关的约束。  链接器的版本和编译器 RTS 库的版本必须匹配。  链接器对 RTS 库的内容进行假设、这些内容只能通过匹配版本来满足。  我在该线程中看不到违反此约束的情况。  但提及它似乎是相关的。

    我注意到第三个项目中的另一个问题。   在此命令中...

    [引用 user="gurusha Nahar"]生成文件:"../main.c"
    调用:C2000编译器
    "c:/ti/ccs1000/ccs/tools/compiler/bin/cl2000 "-v28 -ml -mt --tmu_support=tmu0 -include_path="C:/Users/h352524/workspace_v10/Project -include_path="C:/ti/ccs1000/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include "-g -diag_warning=225 --diag_wrap=off --display_error_number --gen_func_subsections=on --abi=eabi=preproc_raus.c"-preproc_preproc_decontinuation.pru.abus.c -raus.c.inu.c

    编译器二进制文件和--include_path 目录来自不同的位置。  我看不到此错误导致的特定问题。  但无论如何、最好解决它。

    请告诉我这些建议是否能解决问题。

    谢谢、此致、

    乔治

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

    乔治

    我想我已经为您提供了错误 CCS 窗口的输出。

    好的、我会像这样重新发布。

    我正在使用以下编译器和链接器标志、这些标志在以下项目设置中进行了更新:

    -v28 -ml -mt --float_support=fpu32 --tmu_support=tmu0 --vcu_support=vcu2 --fp_mode=relaxed --include_path="${project_root}"--include_path="C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include --advice:performance_support=vcu=copy_mode=relaxed --include_display=zh-subsection=ram_subsections=en_subs=en_off-subsections-subs=-ram_subs=zh-subsection-us_subs=-region_subs=-region-region_subs=-region_subs=-region-region-fun=-region_subs=-fun  

    这些是链接器选项

    m"${ProjName}.map"--stack_size=0x200 --warn_sections -i"${CG_TOOL_ROOT}/lib"-i"C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include --reread_libs --disable_auto_rts --diag_info=off --display_error_number --xml_link_info=-zram_model -dlink_copy=-xml_copy=-dlink_pression_zh-xml_model_model_zh-link_model_model_ipulation="-dlr_ipulation="-rts.  

    使用这些设置、它应该能够与我的库匹配。

    但是、我仍然收到以下警告、因此最终导致编译工程时出错:


    ****为项目 Project1构建配置调试****

    "C:\\ti\\ccs920\\ccs\\utils\\bin\\gmake"-k -j 8 all -O

    编译文件:"../main.c"
    调用:C2000编译器
    "c:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/bin/cl2000 -v28 -ml -mt --cla_support=cla1 -float_support=fpu32 -tmu_support=tmu0 -vcu_support=vcu2 -fp_mode=relaxed -include_path="c:/Users/h352524/workspace_v9_2/Project1 -include_path="C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include "-advice:cn=vcu_support=vcuits=vcu-region-pred=pruature=g_subs=pruature=g_subsection-region-reguls=-reguls=-reguls=prat_ab-reguls=-reguls=-reguls=-reguls=-reguls=-reguls=g_reguls=ma-reguls=-reguls=g_reguls=ma-reguls=pru_up-reguls=g_region-reguls=
    "./main.c"、第20行:警告#179-D:变量"val"已声明但从未引用
    "./main.c"、第25行:警告#552-D:变量"llmin"已设置但从未使用
    "./main.c"、第26行:警告#552-D:变量"llsec"已设置但从未使用
    建筑完工:"../main.c"

    构建目标:"Project1.out"
    调用:C2000链接器
    "c:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/bin/cl2000 -v28 -ml -mt --cla_support=cla1 -float_support=fpu32 -tmu_support=tmu0 -vcu_support=vcu2 -fp_mode=relaxed -advice:performance=float_support=fpu32 -tmu_support=tmu_support=vcu-inctrack-region-"-region-"-region_zh-ins-region_ex-region_is=-rom-rom_infotion_infotion_isecure-control-rom-ex-rom_infotion_isecontinat_infotion-rom-rom-display_infotion_infotion-rom-region_infotion-inat_infotion-content-content-content-content-display_subs"-subs=ram_infot_infotion-content-content-display-content-display_infot_subsectionsections"-subs=ram_infotion-content-content-display-display_subsectionsections./ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include /ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/lib

    错误#10198-D:中没有连接输入段
    警告#10440-D:在没有 SECTIONS 规范的情况下创建输出段".bSS"。 有关此部分的其他信息、请参阅 processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration 上的"C28x EABI 迁移"指南
    警告#10440-D:在不使用 SECTIONS 规范的情况下创建输出段".const"。 有关此部分的其他信息、请参阅 processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration 上的"C28x EABI 迁移"指南
    警告#10440-D:在没有 SECTIONS 规范的情况下创建输出段".sysmim"。 有关此部分的其他信息、请参阅 processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration 上的"C28x EABI 迁移"指南
    警告#10440-D:在没有 SECTIONS 规范的情况下创建输出段".init_array"。 有关此部分的其他信息、请参阅 processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration 上的"C28x EABI 迁移"指南
    警告#10062-D:未定义入口点符号"_c_int00"
    警告#10202-D:未找到合适的入口点;设置为0
    错误#10010:链接期间遇到错误;未生成"Project1.out"

    >>编译失败
    Makefile:142:目标'Project1.out'的配方失败
    gmake.1]:***[Project1.out]错误1.
    Makefile:138:目标“全部”的配方失败
    gmake:***[全部]错误2.

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

    由于这些警告、我无法编译工程。

    您能不能在这些特定的警告上吗?

    我们甚至尝试使用 TI 提供的库来构建我们的项目、但得到的警告完全相同。

    检查您的情况、请尝试通过创建新项目和编译、在您的末尾使用 v18.1.3.LTS 和 eabi 输出格式进行编译。  

    如果是编译、那么我们缺少了哪些主要设置?

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

    我不确定正在发生什么情况。  我认为这是...

    [引用 user="gurusha Nahar"]错误#10198-D:没有链接输入段

    (笑声) 与...相关

    [引用 user="gurusha Nahar"]警告#10062-D:入口点符号"_c_int00"未定义

    您不会在编译器附带的任何 RTS 库中进行链接。  而是链接...

    [引用 user="gurusha Nahar"]"./rts_TMS320F28388D_Flash.lib""./rts_TMS320F28388D_RAM.lib"[/quot]

    这两个库都不能定义函数_c_int00。  在编译器附带的 RTS 库中、提供函数_c_int00、并在用户的应用程序代码中调用函数 main。  我假设您在...中提供函数 main。

    [引用 user="gurusha Nahar"]。/main.obj"[/quot]

    由于没有函数调用 main、或 main.obj 中的任何其他函数、因此会忽略整个文件。  由于它是唯一链接的目标文件、这意味着不使用主应用程序中的输入段。  实际上、没有任何可链接的内容。

    关于...

    [引用 user="gurusha Nahar"]警告#10440-D:创建不带 SECTIONS 规范的输出段".bss"。 有关此部分的其他信息、请参阅 processors.wiki.ti.com/.../C28x_EABI:C28x_EABI_Migration上的"C28x EABI 迁移"指南

    (笑声) 和其他类似的诊断。  可以忽略它们。  目前、重点关注其他问题。  该 wiki 链接不正确。  编译器的更高版本会链接到此 页面 。

    谢谢、此致、

    乔治

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

    尊敬的乔治:

     RTS_TMS320F28388D_Flash.lib 包含 boot28.asm 文件、该文件将负责启动函数。

    [引用 user="George mock]必须是两个库都未定义函数_c_int00的情况。  在编译器附带的 RTS 库中、提供函数_c_int00、并在用户的应用程序代码中调用函数 main。  我假设您在...[/引号]中提供函数 main

    此外、我认为这条警告还可以、我们无论如何都可以更改属性中的入口点符号。 当我们使用 TI 提供的库时、也会出现此警告。

    但一个主要的问题是、如果我只包含库并删除基于 TI 的库路径的类似资源、同时删除 libc.c 并在运行时支持库的常规属性选项中选择无、我将会遇到以下错误:


    构建目标:"F28388D_Base_Core1_v1.Out"
    调用:C2000链接器
    "c:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/bin/cl2000 -v28 -ml -mt --float_support=fpu32 -tmu_support=tmu0 -off -fp_mode=strict -advice:performance=all --define=cpabi--define -define -flash -g -diag_warning=225 -display_error-gen_c_models=-cornategine-ex-core-example-example-ine-ine-from-cornategine-ine-example-ine-expression-cornate-f_cornate-example-ine-example-example-ine-ine-example-ine-example-ine-cornateg-cort-cornate-ine-ine-ine-example-example-ine-ine-example-ine-ine-express-cornate-ine-ine-ine-example-ine-ine-expression-cornate-f-cornate-f-cornate-f_/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include include_path="C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/lib "-o "F28388D_Base_Core1_v1.out""./Source/adc.obj ""./Source/adcmngr.obj ""./Source/cdstrbr.obj ""./Source/cputimer.obj ""./Source/crc.obj ""./Source/dataload.obj ""./Source/flash.obj ""./Source/delay.obj ""./Source/dttyconv.obj ""./Source/gm1cnf.obj ""./Source/pcfsch.obj ""./Source/fmtconvt.obj ""./Source/gpiodrvr.obj "./Source/c1global.obj /Source/gm1admin.obj /Source/main.obj /Source/qrb.obj /Source/tasklist.obj /Source/2838x_FLASH_lnk_cpu1.cmd /Source/rts_TMS320F28388D_FlashAPI.lib "/Source/sci.obj "."/Source/tasksch.obj /Source/f2838x_headers_nonBIOS_cpu1.cmd /Source/rts_TMS320F28388D_RAM.lib "./Source/pwmtest.obj /Source/syscntrl.obj /Source/vector.obj /Source/rts_TMS320F28388D_Flash.lib。

    >>警告:链接器选项无效--include_path=C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/lib (已忽略)
    "C:\users\h352524\Desktop\RTL_Stuff F28388D\CRTL_Library_V18.1.3.LTS \FLASH_lib\copy_decompress_none.c"、第112行:警告#17001-D:
    不支持重定位类型(类型='R_0x14'(0)、文件=
    "../Source/rts_TMS320F28388D_Flash.lib "、偏移=
    0x0000000f、SECTION =".text:解压缩:none:_TI_decompress_none")
    "C:\users\h352524\Desktop\RTL_Stuff F28388D\CRTL_Library_V18.1.3.LTS \FLASH_lib\boot28.asm"、第199行:警告#17001-D:
    不支持重定位类型(类型='R_0x14'(0)、文件=
    "../Source/rts_TMS320F28388D_Flash.lib "、偏移= 0x0000000d、
    SECTION =".text")
    "C:\users\h352524\Desktop\RTL_Stuff F28388D\CRTL_Library_V18.1.3.LTS \FLASH_lib\boot28.asm"、第204行:警告#17001-D:
    不支持重定位类型(类型='R_0x14'(0)、文件=
    "../Source/rts_TMS320F28388D_Flash.lib "、OFFSET = 0x00000011、
    SECTION =".text")
    "C:\users\h352524\Desktop\RTL_Stuff F28388D\CRTL_Library_V18.1.3.LTS \FLASH_lib\boot28.asm"、第334行:警告#17001-D:
    不支持重定位类型(类型='R_0x14'(0)、文件=
    "../Source/rts_TMS320F28388D_Flash.lib "、OFFSET = 0x00000013、
    SECTION =".text")
    "C:\users\h352524\Desktop\RTL_Stuff F28388D\CRTL_Library_V18.1.3.LTS \FLASH_lib\boot28.asm"、第335行:警告#17001-D:
    不支持重定位类型(类型='R_0x14'(0)、文件=
    "../Source/rts_TMS320F28388D_Flash.lib "、OFFSET = 0x00000015、
    SECTION =".text")
    警告#10015-D:无法加载输出文件"F28388D_Base-Core1_v1.out"、也无法加载
    在目标系统上运行
    已完成构建目标:"F28388D_Base_Core1_v1.Out"

    构建文件:"F28388D_Base_Core1_v1.Out"
    调用:C2000十六进制实用程序
    "C:/ti/ccs920/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/bin/hex2000 "-m2 -o "F28388D_Base-Core1_v1.hex"../../Tools/s2RecordGenTool/HexConversionOfcCore1.cmd
    Makefile:173:目标'F28388D_Base_Core1_v1.hex'的配方失败
    致命错误:无法打开输入文件
    "./../Tools/s2RecordGenTool/HexConversionOfcCore1.cmd:无此类文件或
    目录
    gmake[1]:***[F28388D_Base-Core1_v1.hex]错误1.
    gmake[1]:目标"辅助输出"不会由于错误而重新生成。
    Makefile:162:目标“全部”的配方失败
    gmake:***[全部]错误2.

    但是、当我按照相同的过程并使用 V20.2.1.LTS 和 eabi 编译我的项目时、它成功地为我的项目编译。

    为什么会这样?

    为何现在给我这种搬迁问题呢?

    请您能给我一些想法吗?

    谢谢、此致

    Gurusha

     

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

    关于这个问题...

    [引用 user="gurusha Nahar"]"C:\Users\h352524\Desktop\RTL_Stuff F28388D\CRTL_Library_V18.1.3.LTS \flash_lib\copy_decompress_none.c",第112行:警告#17001-D:
    不支持重定位类型(类型='R_0x14'(0)、文件=
    "../Source/rts_TMS320F28388D_Flash.lib "、偏移=
    0x0000000f、SECTION =".text:decompress:none:_TI_decompress_none")[/quot]

    我查看 了 RTS_TMS320F28388D_Flash.lib、该文件位于该线程前面某个帖子所附的 CCS 工程之一中。  使用此命令...

    % ofd2000 rts_TMS320F28388D_Flash.lib | findstr /c:"汇编器版本"
    汇编器版本: 20.2.1
    汇编器版本: 20.2.1
    汇编器版本: 20.2.1...
    

    我可以告诉您、此库是使用编译器版本20.2.1.LTS 构建的。  但是、此链接使用较旧的链接器版本18.1.3.LTS。  不支持此组合。  链接器的版本必须>=编译器的版本、用于编译链接器看到的任何文件或库。  在本例中、20.2.1.LTS 编译器必须使用版本18.1.LTS 链接器无法识别的重定位。

    解决方法是使用编译器版本18.1.3.LTS 重建库、或使用版本20.2.1.LTS 或更高版本的链接器。

    谢谢、此致、

    乔治