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.

[参考译文] 编译器/TMDSCNCD28035ISO:太阳能微型逆变器示例代码未编译

Guru**** 2512785 points
Other Parts Discussed in Thread: TMS320F28035, CONTROLSUITE, C2000WARE, C2000WARE-DIGITALPOWER-SDK

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/881948/compiler-tmdscncd28035iso-solar-micro-inverter-sample-code-not-compiling

器件型号:TMDSCNCD28035ISO
主题中讨论的其他器件:TMDSSOLARUINVKITC2000WAREcontrolSUITEC2000WARE-DIGITALPOWER-SDK

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

您好!

     我目前拥有这   款 Piccolo TMS320F28035隔离式 controlCARD、并为此购买了一个集线站/基板。

卡:

http://www.ti.com/tool/TMDSCNCD28035ISO

集线站:

https://www.ti.com/tool/TMDSDOCK28035

微型逆变器基板:

http://www.ti.com/tool/TMDSSOLARUINVKIT#technicaldocuments

我在“C:\……”中找到了示例代码 \controlSUITE\development_kits\TMDSSOLARUINVKIT_V100\MicroInv_F2803x"。 我正在使用 controlSUITE、因为我在 C2000Ware 中找不到示例代码。  

我创建了一个新的 CCS 项目并添加了 controlSUITE 中的所有文件、如此屏幕截图所示。 我还必须添加一组头文件、并将2个库链接到项目中。 我使用的是"F28035_FLASH_SolarMicroInv.cmd"文件以及给定的"xds100v1_F28035.ccxml"文件。

我的问题是、我在编译时遇到错误。 我遇到了大量未解析的符号错误(附带的屏幕截图显示了错误和使用的所有文件)、因此我浏览了这些文件、我发现这些变量已定义、但它们并未编译。 例如、AdcRegs 位于"ADC_SOC_Cnf.c" 中、它仅包含"DSP2803x_Device.h"。  我发现了一个类似的帖子、说我需要将所有"#include"语句放在"#ifndeF/#define "语句之前、但这只是给我造成了更多错误。  

最后、我将使用 F28035_FLASH_SolarMicroInv.CMD 文件、但仍然收到程序无法放入存储器的错误。 是否有任何方法可以分配更多的内存、以便其适合?  

请提出任何建议。  

谢谢、

亚伯拉罕·库鲁维拉

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

    您好、Abraham、

    虽然我已经将您的问题发送给了一位主题专家、但我想不出您为什么必须手动创建新项目并添加文件、而不是直接从 controlSUITE 导入项目。

    虽然您尝试的操作没有任何危害、但我建议直接从 controlSUITE 导入项目并尝试编译。 这样、您就可以比较您创建的项目中缺少的内容、以便更好地了解问题。

    由于 CCS 工程中的路径断开、编译可能已损坏。 请检查您的包含选项并查看它们是否有效。

    谢谢、此致

    Pramod

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

    您好 Pramod、

    我采纳了您的建议、似乎几乎可以解决我的问题。 我尝试通过两种方式上传:

    第一:

    File -> Open Projects from File System:

    第2次:

    Project -> Import CCS Projects

    这两种方法都将项目上传到 CCS 中、我必须下载并将当前使用的编译器切换到版本6.2.5。 所有这些之后、我还剩下最后一个错误。 搜索之后、似乎我需要勾选"Use default build command"、但 CCS 不允许我勾选它。 我尝试了一些我在网上看到的"修复"、例如创建新 的不同工作区和重新加载项目。 您对如何继续有什么建议吗?

    谢谢、

    亚伯拉罕·库鲁维拉

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

    您好、Abraham、

    将来如果您要寻找类似的解决方案、请参阅 C2000Ware-DigitalPower-SDK 软件包以获取类似示例。 如果您仍然需要有关链接器命令文件的存储器分配的帮助、请参阅此 wikipage 的常见问题解答: https://processors.wiki.ti.com/index.php/C28x_Compiler_-_Understanding_Linking

    您使用的是哪个版本的 CCS? 我能够使用编译器版本18.12.4.LTS 在 CCSv 9.3.0中构建此项目。 请注意、使用较旧的编译器可能与较新的 CCS 版本不兼容。 我建议、如果您恢复使用较旧的编译器、您还应使用支持该编译器的相应 CCS 版本。 对于编译器 v6.4、我建议您使用 CCSv7.4.0。


    此致、

    Ozino

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

    您好、Ozino、

    我也在使用 CCSv 9.3.0。 我使用的是18.12.4.LTS、但我收到一条编译器警告、说我需要6.2.5、这就是我下载并使用它的原因。 我创建了一个全新的工作区、将项目上传到该工作区中、并使用了18.12.4.LTS 编译器。 "Use default build command"被自动勾选(我也尝试取消勾选)。 我仍然遇到错误。  

    它要求提供 DSP2803x_头文件。 接下来、我添加了一个指向所需所有头文件的包含路径。 我仍然得到 gmake 错误。 我很困惑、因为我认为 Pramod 建议直接上传项目会导致不需要添加这些额外的头文件。 无论如何、我不确定如何继续。   

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

    您好、Abraham、

     

    查看您的快照,我发现仍有一些损坏的文件(例如,所有 DSP2803x_*.*、*.libs。 您可以注意到下图中突出显示的文件图标左下角的小感叹号)、如果您只是按原样从 controlSUITE 导入项目、则最好不要这样做。

     

    如果您导入项目、理想情况下它应该与此类似。

    相对于 DSP2803x_*.*文件和*.lib 的箭头显示它们是链接文件。 要了解中断原因、请导航至工程属性 à Resource à Linked Resources。 在"链接资源"选项卡下、将列出链接的文件。 请确保您针对每个断开的链接单击编辑以解析文件路径。 诸如 controlSUITE_F2803x_device_support_root 等宏在路径变量选项卡下定义。 我认为这些宏中很少有无效。 请修复它们、然后您应该能够编译项目。

     

     

    以上内容应指向正确的方向。

    此外、正如 Ozino 提到  的、您应该能够使用编译器18.12.4.LTS 编译这些代码、并参阅 C2000Ware-DigitalPower-SDK 以了解类似的解决方案。

    谢谢、此致

    Pramod

     

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

    您好、Abraham、

    正如 Pramod 先前所建议的、我强烈建议您将项目原样从 controlSUITE 导入到 CCS 中。 我还建议您在项目导入窗口中选择"Copy projects into workspace"选项。 这将在 CCS 工作区目录中创建工程版本及其依赖项。 按原样导入项目后、应满足所有依赖项。

    就编译器错误而言、不匹配的编译器版本应发出工程警告而不是错误。 下面是我的控制台输出和问题窗口的快照。

    此致、

    Ozino

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

    您好 Pramod、

    我像您说的那样导入了这个项目、但我继续修复了损坏的文件。 我还添加了项目请求的另一组包含。 但是、我仍然收到此错误"Cannot open source file stdint.h"。 我尝试通过 controlSUITE 查找此文件、但该文件不在其中的任何位置(据我所知)。   

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

    更新:

    由于您能够使其正常工作、我决定只需下载另一个 controlSUITE 并重新导入项目。 它现在起作用了! 我不确定为什么我的旧 controlSUITE 不起作用、因为文件完全相同。

    感谢 Pramod 和 Ozino 的帮助!  

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

    亚伯拉罕  

    很高兴听到您的解决方案在工作。 感谢您的反馈。

    此致、

    Ozino