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.

[参考译文] 编译器/TMS320F28388D:如何将 FLASH_API、F2838x_C28x_FlashAPI.lib 的现有运行时库与定制的 FLASH_API 运行时库进行比较

Guru**** 2193075 points
Other Parts Discussed in Thread: TMS320F28388D, C2000WARE
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/927675/compiler-tms320f28388d-how-to-compare-the-existing-run-time-library-for-flash_api-f2838x_c28x_flashapi-lib-with-the-custom-made-flash_api-runtime-library

器件型号:TMS320F28388D
主题中讨论的其他器件: C2000WARE

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

尊敬的 TI:

我已经使用文档  spnu632中列出的闪存 API 函数为 FLASH_API 创建了一个定制运行时间库

我需要比较我创建的库和 TI 提供的库(F2838x_C28x_FlashAPI.lib)

如何做到这一点? 是否有任何程序?

您使用了哪些编译器链接器命令选项?

尽快回复

谢谢、此致、

Gurusha

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

    Gurusha、

    闪存 API 的自定义运行时间库是什么意思?  这到底是什么?

    只要您使用闪存 API 库中的函数、这些函数将具有相同的二进制文件。   

    谢谢、此致、

    Vamsi

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

    您好、Vamsi、

    定制运行时库意味着、我已经使用  spnu632中列出的所有 API  以及编译器手册中的一些编译器/链接器命令选项、通过脚本语言创建了 FLASH_API 库。\

    此致、

    Gurusha

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

    Gurusha、

    只要您嵌入库、就不需要比较二进制文件。  将库嵌入到应用程序中时、不会重新编译库。

    谢谢、此致、
    Vamsi

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

    您好!

    我已经创建了一个运行时库;通过 使用脚本语言 RTS_TMS320F28388D_FlashApi.lib、该脚本语言包含使用 TI 编译器 v20.2.0.1.LTS 编译的所有源文件、并且目标文件会在 当前项目的闪存 API 的运行时库中实现。 我已附上一张有关批处理文件的图片。

    您可以查看以下链接中的帖子、以了解我为 RAM 和闪存创建运行时库所执行的过程、以及用于 FLASH_API 的过程:

    https://e2e.ti.com/support/microcontrollers/c2000/f/171/t/916940

    我使用的源文件列在闪存 API 手册 1.60.00.00版中。

    TI 还提供了其闪存 API 库  F2838x_C28x_FlashAPI.lib。

     


    我想比较库,我尝试使用  cgxml-2.61.00 工具,是否还有其他工具要比较?

     

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

    Gurusha、

    1) 1)编译器标志看起来正常。  我们还使用了--gen_func_subsections=on

      您从哪里获得了编译器选项?   

    2) 2)对于 comaprison、您可以使用  CG_xml 包中的 objdiffhttp://software-dl.ti.com/ccs/esd/documents/sdto_cgt_cg_xml_overview.html。  

    如果您对此还有其他问题、我可以联系我们的编译器团队、进一步帮助您。

    谢谢、此致、
    Vamsi

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

    您好、Vamsi、

    我是 Honeywell 的员工、你们已经共享了闪存 API 项目(ARM 和 C28x)以及 F2838x 的源代码。

    我有以下疑问需要您解决:

    1.  我想创建相同的库、F2838x_C28x_FlashAPI.lib、该库在以下 TI 路径中提供:  

    C:\ti\C2000Ware_3_02_00_00_Software\libraries\flash_api\f2838x\C28x\lib  

    我创建的闪存 API 库与 CG_xml 工具进行了比较、实际上不匹配。

    请帮我指出问题。

    我已经分享了下面的屏幕截图:请检查它是否显示"文件不同":

     

    2.您能否告诉我您在与我们共享的项目中使用了哪个编译器版本?

     

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

    Gurusha、

    这是令人困惑的部分。  我不知道你来自霍尼韦尔。  我们一直与 Nagesh 交谈、因此会产生混淆。

    我还在我提供给 Nagesh 的项目中提供了编译器版本。  请参阅该文档并使用该编译器版本、看看这是否有助于修复它。

    我正在编辑您的帖子、以删除您复制的编译器标志。

    谢谢、此致、
    Vamsi

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

    您好、Vamsi、

    即使我不知道你已经和我的同事 Nagesh 交谈了。

    我检查了工程文件夹、在哪里应该显式检查编译器版本? 因为无论如何、我能够从任何编译器生成编译。

    是否有您提到过的任何地方使用要使用的编译器?

    另外、您能否回答我的第一个问题、即 sh_size 只是我通过 CG_xml 工具比较的两个不同库之间的区别

    谢谢!

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

    Gurusha、

    您可以右键点击工程并查看编译设置。  使用编译器版本18.1.3.LTS 编译 C28x 闪存 API 库。

    在比较方面:我要求我们的编译器为您提供帮助。 请在一天或两天内回复。

    谢谢、此致、
    Vamsi

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

    Vamsi、  

    我签入了最新的 code composer studio、在构建设置中检测到 V20.2.1.LTS。 因此、我假设 V20可能已经使用过。

    那么、您已经为运行时库配置了 v18.1.3.LTS、不是吗?

    关于比较、请花点时间。

    谢谢、此致、

    Gurusha

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

    我可以简单地介绍一下 objdiff 中的这些差异。

    [引用 user="gurusha Nahar"]我已共享以下屏幕截图:请检查屏幕截图是否显示"文件不同:

    请关注第一个屏幕截图中显示的第一个差异。  这一差异的原因很可能是许多其他差异的原因。

    它指出.text:fapi_initializeAPI 段的大小为一个库中的0xe6字、而另一个库中的0xcc 字。  类似这样的段名始终意味着它包含一个 C 函数。  函数的名称与.text:之后的段名称部分匹配。  因此、请解释为什么该函数具有不同的大小。  26个字的差异似乎很大。  编译器版本是否相同?  源代码?  构建选项?

    谢谢、此致、

    乔治

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

    Gurusha、

    是的、我使用 了 V18.1.3.LTS。

    谢谢、此致、
    Vamsi

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

    您好、Vamsi、

    那么、您使用 的输出格式是 ELF?

    如果基于 eabi、则工程将不会编译、因为编译器版本 TI v18.1.3.LTS 不支持 ELF 输出格式。

    谢谢、此致、

    Vamsi

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

    尊敬的乔治:

    我已根据基于 TI 的库文件  F2838x_C28x_FlashAPI.lib 更改了编译器版本

    我使用了以下编译器链接器选项:

    set Compiler_flags=-v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support="C :\ti\ccs1010\ccs\tools\compiler\ti-cgt-C2000-18.1.spt\include"--include_path=-include_exclus_exclus-ine-exclus_exclus=-c28x=-gui_di_exclus_exclus=-inatifore_ine-gui_de=-inatifore_ine-f28x=-ine-exclus_exclus_exclus_exclus-inatifore_bi-f28x=-inatifore_ex-ine-gui_di_ex-ine-gui_di_di_di_di_ex-ines=-inatifori_di_gui_di_di_di_di_di_di=-ines=-inatifori_ex-inategot_ex-inategot_inateg /Users/h352524/Desktop/CGCU/C2000_F021_FlashAPI_V1.60_QT/C28x/F021DEV_C2000/API/Include/Fapi /Users/h352524/Desktop/CGCU/C2000_F021_FlashAPI_V1.60_QT/C28x/F021DEV_C2000/API/Include/F021


    当我与以下命令进行比较时、  

    objdiff.exe T:\EPS_CoreAssets\TMS320C28xx\C28xxRuntimeLibrary\SDF\LifeCyclData\ReleaseRTS_TMS320F28388D_FlashApi.lib C:\ti\C2000Ware_3_02_00_00_Software\libraries\flash_api\f2838x\lib\F2838x_FlashApi.lib

    不过、差异仍然可见、请串联参阅下面的屏幕截图:  

    我遇到了两个奇怪的问题:

    1.我使用相同的源文件以相同的项目设置编译项目、但为什么我仍然会获得 C 函数的差异(我认为编译器-链接器选项将帮助您解决这一疑问)。

    此外、我无法理解电流差异、尽管您已经在某种程度上进行了解释、您能否详细说明一下。

    此外、如果根据@、您使用了 v18.1.3.LTS、因此如果我们使用输出格式作为 V18的输出格式、则会在 CCS 属性中产生错误、  编译器版本 TI v18.1.3.LTS 不支持 ELF 输出格式。

     请检查编译器-链接器选项、以便为创建 FLASH_API 库提供清晰说明。

    谢谢、此致

    Gurusha

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

    请理解、关于此主题、我拥有的唯一适用的专业知识是 objdiff。  我对闪存库没有任何专业知识。

    当处理 objdiff 的大量输出时、通常最好选择一个差异并专注于解释其发生方式。  在开始时、忽略所有其他差异。   

    在每个库中的多个文件中 、__TI_build_attributes 部分显示了差异。  此段未加载到目标执行。  它存储在构建过程中使用的额外数据。  即使如此、也没有理由期望构建属性有所不同。  这是一个用于查看库构建属性的命令的常规形式。

    ofd2000 --obj_display=none、battrs name_of_library.lib

    此命令使用目标文件显示实用程序 ofd2000C28x 汇编工具手册中对此进行了说明。 它转储库中每个文件的构建属性。  除非发生非常不寻常的情况、否则库中每个文件的构建属性都是相同的。  捕获第一个文件的构建属性。  它将与...类似。

    目标文件:file.obj
    
    在"_TI_build_attributes"中生成属性
    
    格式版本:"A"
    
    [0]供应商名称:"TI"(Texas Instruments、Inc.)
    
    标记文件:
    属性:
    Tag_Producer_Name 汇编器
    Tag_Producer_VMajor 21. (主要生产商版本+1)
    Tag_Producer_VMinor 3. (生产者次要版本+1)
    Tag_Producer_VPatch 2. (生成者修补程序版本+1)
    Tag_marked_Pro 1 (标记为 PRO TOOLS)
    
    1>供应商名称:"c28xabi"(德州仪器(TI) C28x 架构的 ABI)
    
    标记文件:
    属性:
    Tag_C28x 1 (C28x 代码存在)
    Tag_float_args 1.
    Tag_double_args 1. 

    对每个库重复此过程。  这些构建属性应该匹配、但它们不匹配。  您看到的区别是什么?

    谢谢、此致、

    乔治

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

    Gurusha、

    对于 V18.1.3.LTS、您可以将输出格式保留为"传统 COFF"、而不是将其更改为 eabi (ELF)。  只需在编译器标志中添加"--abi=eabi"标志即可。  如果要进行比较、请使用此编译器版本。

    谢谢、此致、
    Vamsi

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

    您好、Geroge、

    是的、我可以看到它们之间的 TI_attributes 之间的差异。

    这些主要是:

    Tag_Producer_VMinor 13.      (生产者次要版本+1)

     TAG_TMU  1 (TMU 0)

    差异可见。

    您可以参阅下面的屏幕截图、在大多数目标文件中、差异是相同的。

    这是什么? 请您向我解释一下。

    如果这不会影响 FLASH_API 的运行时库的功能、我认为我应该能够对其进行测试。

    谢谢、此致

    Gurusha

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

    您还能告诉我屏幕截图中我们可以看到的另外两个差异吗?

    1.FlashStateMachine.obj:

    sec->.text:_fapi_setupFlashStateMachine

    2.Info.obj:

    SEC:->.text:Fapi_getLibInfo  

    原始数据不同  


    我需要尽快解决此问题、以便能够进一步测试。  

    谢谢

    Gurusha

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

    您好、Vamsi、

    对于我们来说、将"eabi"用作 TMS320F28388D 项目的一部分非常重要。 那么、在编译器/链接器选项中只输入 abi="eabi"是否合适?

    此外、我还需要以下方面的进一步帮助:

    我们已将   TI 提供的 F2838x_C28x_FlashAPI.lib 库与您向我们的团队提供的 FLASH_API 项目对应的库进行了比较、结果如下:  

    文件相同。  我们在创建的库中需要相同的结果。  

    此外、我们还希望像您的生成方式一样生成库、您能否进一步帮助我消除这些差异并快速为我提供正确的编译器/链接器选项?

    提前感谢

    此致

    Gurusha

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

    这两个库是使用不同版本的编译器构建的。  一个使用版本18.12.3.LTS、另一个使用版本18.1.3.LTS。  此外、使用版本18.12.3.LTS 构建的库使用编译器选项--TMU_support=tmu0、而另一个库不使用编译器选项--TMU_support

    这些差异会导致构建中的其他详细信息不同。  我建议您更改一个库的构建以匹配另一个库。 然后再次进行比较。

    谢谢、此致、

    乔治

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

    Gurusha、

    是的、正如我之前提到的、您可以使用该标志 "--abi=eabi"。  这将为您提供 eabi。

    感谢您确认我们在 C2000Ware 中提供的库与您通过编译我提供的项目/源代码获得的库相匹配。

    我已经查看了您使用的编译器设置以及所有匹配项。  但是、您需要使用相同的编译器版本并使用 eabi 标志。  您能否确认情况是否如此?

    不确定您是否更改了任何代码、因此存在差异。

    谢谢、此致、
    Vamsi

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

    感谢您的快速响应、

    实际上、我采用了项目中按原样提供的源文件、然后使用编译器标志和链接在一起进行编译以创建库。

    我不确定我们创建库的过程有何区别。

    此致、

    Gurusha

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

    Gurusha、

    您未确认是否使用了相同的编译器版本和 eabi 标志。

    谢谢、此致、

    Vamsi

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

    您好!

    是的、我使用您刚才所说的相同编译器版本进行了编译。


    set Compiler_flags=-v28 -ml -mt --cla_support=cla2 --float_support=fpu32 --tmu_support="C:\ti\ccs1010\ccs\tools\compiler\ti-cgt-C2000-18.1.spt\include"--include_path=-include_exclus_exclus=-un28x=-exclus_exclus_exclus-gui_di_diag=-inatifore_ine_ine-gui_di_exclus=-c28x=-inatifore_ex-inatifore_pr-ine-f28x=-inatifore_ex-ine-gui_di_exclus_exclus-ine_inatifore_ine-ine-f28x=-inatifore_ex-ine-gui_di_exclus=-inatifore_ex-ine-f28x=-inatifore_ex-ine-gui_di_ex-ine-ine-ine-ine-f28x=/Users/h352524/Desktop/CGCU/C2000_F021_FlashAPI_V1.60_QT/C28x/F021DEV_C2000/API/Include/Fapi /Users/h352524/Desktop/CGCU/C2000_F021_FlashAPI_V1.60_QT/C28x/F021DEV_C2000/API/Include/F021

    但我在这里注意到的一件事是、  

    当我使用 COFF ABI (现在我已更改为 eabi)进行编译并进行比较时、它说编译器是不同的。 现在可能会出现这种差异、因为您还使用了 COFF ABI、对吧?

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

    Gurusha、

    下面是我使用的编译器标志。  

    您能否确认您使用的编译器版本?   

    谢谢、此致、
    Vamsi

    -v28 -ml -mt --float_support=fpu32 --include_path="C:/ti/CCS_preReleases/ccs1000/ccs/tools/compiler/ti-cgt-c2000_18.1.3.LTS/include --include_path="C:/Users/a0271901/Desktop/C2000_F021_FlashAPI_V1.60_QT/C28x/F021DEV_C2000/API/Include/F021 --include_path="C:/Users/a0271901/Desktop/C2000_F021_FlashAPI_V1.60_QT/C28x/F021DEV_C2000/API/Include/Fapi --advice:performance=all --define=C28x --define cc_lit_ENDIAN --gen=F2838x=undefine-exit_definature=f284x-und_ex-define=f28x=f28x=-und_ex-define -define -und_guide-subsection=-undefinature=f284x-und_und_un_ex-define -und_guidature=f2837x=-und_un_un_un_un_exitsection=f284x-und_und_un_un_guidag=f28x=-und-und-und_ex-und_guide-subs=fategot_un_un_un_un_un_un_un-forbad

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

    感谢 Vamsi 共享编译器选项。

    我使用了相同的编译器标志、再次进行了编译和比较。 唯一的区别是编译器路径。

    仍然会得到以下差异。

    您好、Geroge、

    我需要对库进行测试、 同时也要满足截止日期、但由于以下列出的差异而无法完成:

    PS:这是全新的比较、我使用 Vamsi 提供的编译器标志执行了比较。

    此致、

    Gurusha

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

    您正在使用不同版本的编译器构建库。  第一个库使用18.1.0.x.LTS、第二个库使用18.12.x.LTS。  我无法分辨 x 位是什么、但我可以分辨它是相同的。  

    谢谢、此致、

    乔治  

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

    您好!

    我不使用其他编译器。

    您可以检查上述帖子。 我共享了编译器链接器选项比较的屏幕截图。

    我使用 的与 Vamsi 提供的相同的 V18.1.3.LTS

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

    查看 objdiff 输出的唯一方法是使用不同版本的编译器。  下面是一个缩小的演示...

    C:\work>type file.c
    int a;
    
    C:\work>\ti\缂 栬瘧鍣\ti-cgt-C2000-18.1.3LTS \bin\cl2000 file.c
    
    C:\work>copy file.obj f_18_1_3.obj
    已复制1个文件。
    
    C:\work>\ti\cl编译 器\ti-CGT-C2000_18.12.3.LTS \bin\cl2000 file.c
    
    C:\work>copy file.obj f_18_12_3.obj
    已复制1个文件。
    
    C:\work>objdiff f_18_1_3.obj f_18_12_3.obj ofd2000
    处理 f_18_1_3.obj ...
    正在处理 f_18_12_3.obj ...
    正在比较文件...
    
    ========================================================================================================================================================
    比较段:SECTIONS =$build.attributes
    ========================================================================================================
    原始数据是不同
    的===========================================================================================================
    比较段:section =$build.attributes:build_attributes:vender_section:vender_name = TI:attribute_section:attribute_list:tag = Tag_Producer_VMinor:arguments ===========================================================================================================================================================================================================================================================
    
    差异: f_18_1_3.obj f_18_12_3.obj
    常量: 0x2. 0xD
    
    文件不同 

    gurusha Nahar 说:
    我共享了编译器链接器选项比较的屏幕截图。

    构建选项相同。  但编译器 shell cl2000必须来自不同的目录。

    谢谢、此致、

    乔治

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

    您好、Geroge、

    我已经尝试了一次、但问题仍然是一样的。 虽然路径和所需的一切都是相同的、但我不知道为什么它不使用同一个编译器进行编译。

    我们能否与您的团队就该问题进行快速讨论?

    我不理解的一件事

    此外 、CG_xml 工具是否具有检查库编译器版本的功能。

    此致、

    Gurusha

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

    [引用 user="gurusha Nahar"]我不确定为什么它不使用同一编译器进行编译

    我不知道这些库是如何构建的细节。  因此、我无法帮助解决这个问题。  我将通知 C2000专家、他们可以提供帮助。

    [引用 user="gurusha Nahar"]  CG_xml 工具是否具有检查库编译器版本的功能。

    在本主题前面的这个论坛帖子中、我展示了如何使用 ofd2000来查看库的构建属性。  这些属性中包括使用的编译器版本。

    谢谢、此致、

    乔治

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

    我使用了相同的流程来创建我在上面提到的库。

    并使用了以下编译器包含路径

    C:\ti\ccs1010\ccs\tools\compiler\ti-cgt-C2000_18.1.3.LTS \include

    在我删除的同一目录包含 v18.12.3.LTS 之前、我想可能是因为它会重定向到该目录以调用 cl2000。

    由于我只有此编译器选项、因此它应该起作用、但在比较时它不匹配。

    我还想补充的另一个问题是、

    我们从 TI 获得的项目基于编译器 v18.1.3.LTS、输出格式为 coffabi。 但它使用运行时库  F2838x_C28x_FlashAPI.lib

    它也构建在版本18.1.3.LTS 上、但使用 eabi 作为输出格式。 我在这里无法理解这种特殊的特点。 是否可以使用不同输出格式的库?

    附件是 TI 共享的项目属性的屏幕截图。

    此致

    Gurusha

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

    尊敬的乔治:

    此外、我还检查了我创建的库的编译器版本。

     以下屏幕截图中仅显示每个目标文件的汇编器版本、这意味着与编译器版本相同、对吧?

    但再说一次、为什么选择 V18.12.3.LTS?  

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

    Gurusha、

    是的、该汇编器版本是编译器版本。

    关于使用 v18.1.3.LTS 生成 EABI 的问题: 如前所述、不会更新 CCS 以允许为此编译器版本选择"EABI "输出格式。  但是、编译器本身可以接受 eabi 作为编译器标志中的附加选项。  我与您分享了这一信息。  因此、不用担心。

    关于使用 V18.12.3.LTS 编译的工程: 请右键单击您的工程->显示编译设置->常规->工程选项卡->工程类型和工具链->编译器版本: 您在这里看到的工程编译器版本是什么?  是否为 TI v18.1.3.LTS?   

    谢谢、此致、

    Vamsi

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

    供参考。对于可能提及此帖子的其他人: 我正在关闭此帖子。  我离线与客户合作。  为批处理文件选择的编译器路径不正确且已修复。

    谢谢、此致、

    Vamsi