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.

[参考译文] RTOS/CC3200:Simplelink 1.1.0库和示例编译错误

Guru**** 2589280 points
Other Parts Discussed in Thread: CC3200, CC3200SDK, CC3120, CC3100

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/781107/rtos-cc3200-simplelink-1-1-0-libraries-and-examples-build-errors

器件型号:CC3200
Thread 中讨论的其他部件:CC3120CC3100

工具/软件:TI-RTOS

我必须将基于 CC3200 ES 的项目的一些修改移植到 CC3200 EX 和 XC3200HZ、因为现场已经有数百个电路板在使用它们。 我创建了一个 CCSv8工作区、只是为了在其中放置库和一些示例。 一些使用 TI-RTOS 或 FreeRTOS 的示例、如 httpserver、get_time 和 get_weather、无法正确编译、返回此错误:

文件"C:/TI/CC3200/CC3200SDK_1.1.0.E/cc3200-sdk/oslib/ccs/free_rtos/free_rtos.a "的 Tag_ABI_VFP_args 属性值为"0"、不同于先前看到的属性("1");合并不兼容的文件为空:文件"C:/TI/CC3200/CC3200SDK_1.1.0.E/cc3200-sdk/oslib/ccs/free_rtos/free_rtos.a "的 Tag_ABI_VFP_args 属性值为"0"、不同于先前看到的属性("1");合并不兼容的文件   httpserver          C/C++问题

我假设该错误与浮点设置有关、因此我使用 C/C++ Build/Settings/ARM Compiler/Processor options/Specify floating point support = FPv4SPD16和 sam 值更新了不端项目、但没有任何变化。

PROVISIONING_ap 编译的其他示例工程、但会出现以下警告:

无效的项目路径:未找到包含路径(C:\TI\tirtos_simplelink_2_13_01_09\products\UIA_2_00_01_34\packages)。    Provisioning_ap      路径条目   路径输入问题
警告正确、因为正确的路径为:C:\TI\tirtos_simplelink_2_13_01_09\products\UIA_2_00_02_39\packages、但我无法更改、因为它属于编译器共享路径中内置的 CCS、因此... 我无法修改它。 奇怪的是、我安装了 TI-RTOS 2.13.01.09、但没有应用任何更新或补丁。

产品"TI-RTOS for SimpleLink Wireless MCU" v2.1.0.03当前未安装。 将使用兼容版本2.13.1.09。    Provisioning_ap      Provisioning_ap   问题
在这种情况下、我不理解该警告、因为在 simple link 1.1.0的文档中、编写的是安装 TI-RTOA 2.13.01.09

在构建示例时、我需要做什么、不会出现任何错误、也可能不会发出任何警告?

谢谢、
Massimo

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

    使用最新的 ARM 编译器、您必须将浮点支持更改为无(因为 CC3200不支持硬件浮点)。 您需要在链接到的任何库(如 https://server 和配置)中执行此操作并重新编译它们、以及您的 ti_rtos_config 项目。

    对于 tirtos 警告、请确保工作区中的 ti_rtos_config 工程的版本与所需版本相同。 然后在应用程序项目中,确保在“属性”->“生成”->“依赖项”选项卡中引用了正确的项目。 这将修复项目继承的 TI-RTOS 版本(您可以在“属性”->“常规”->“产品”选项卡中进行检查)。

    此致、
    Sarah
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sarah、
    我认为 FPv4SD16选项是错误的... 我之所以放置它、是因为导入示例工程该选项不同(vfplib)、标记为已弃用、并单击指定在 FPv4SD16中更改的信息标记。
    没有关于 TI-RTOS 警告的新闻、至少是关于我更正的前3个项目的新闻。

    同时、我有一个新问题:使用 GNU C/C++编译器并使用 CCS V8创建 C++项目的正确方法是什么? 我知道、如果没有创建 C++框架程序的选项、我还必须开始选择 CCS 工程。 我能够创建一个空项目、并验证了它编译 C++主程序并识别 C++源文件。 我知道我必须编写一个链接器命令文件、直到看起来一切都正常、但我无法进行调试。 单击 Debug 会加载并启动应用程序,但不会在 main()处的断点处停止。 这是控制台上的完整输出:

    Cortex_M4_0:GEL 输出:
    内存映射初始化完成
    Cortex_M4_0:GEL 输出:
    目标复位

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

    我不建议使用 SimpleLink Wi-Fi 器件从头开始 CCS 项目。 项目中有很多特定于器件的设置、尤其是在使用 TI-RTOS 时。 我建议您从 SDK 中的一个示例开始、如 Getting Started_With wlan_station、删除现有的.h 和.c 文件、并添加您自己的源代码。 这将为您节省大量时间和调试。

    您应该从项目属性中选择一个 GNU 编译器。 CC3200 SDK 采用 C 语言编写、因此您必须针对 C++进行调整。 本主题的简短讨论内容如下: e2e.ti.com/.../567924

    此致、
    Sarah
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Sarah、
    我不是 SimpleLink 的初学者、我从 XCC 芯片开始、然后实施了许多基于 CC3100/3200的解决方案、有些基于 CC3120/3220。 仍在等待测试 CC323x 芯片。

    实际上、我已经复制/粘贴/删除项目以加快开发。 我用这种方式完成了一些基本程序。 在任何情况下、都有几个令人烦恼的问题:
    在同一个项目中、我习惯了多种不同的编译配置、如调试、 不同选项的版本、但也有一些使用不同编译器的版本(主要用于单元测试或 CC3100不同 MCU 的情况)、但似乎不可能具有不同的配置、其中一些基于 ARM GNU C/C++编译器、另一些基于 TI ARM C/C++编译器。
    导入之前保存在 zip 文件中的工程完成"解析和导出链接资源"检查并不能真正解决这些问题、因为它们是作为绝对路径而不是相对路径保存的。 使用 zip 文件导出/导入是 Eclipse 调整路径的技巧、通常可以使用、至少对于许多其他基于 Eclipse CDT 的 IDE 而言是如此。

    关于 C++框架程序/向导:这是一项重要的缺失功能、至少应在任何基于 Eclipse CDT 的 IDE 中正常提供 C++和 C/C++空项目。 至少 TI 应提供几个工作示例。
    遗憾的是、我仍然有调试问题、因此您的答案无法解决我的主要问题:
    为了能够使用 GNU 或 TI ARM C/C++编译器编写/编译/调试非常简单的 C/C++应用、我需要检查/解算什么?


    我发现的主要问题与自1.0版本以来 API 和源代码的变化有关。 因此、我有了 SimpleLinkAbstractionLibrary (SLAL)、它仅使用 TI 最低级的源代码、解决了我之前遇到的95%的问题。
    如果我不批准 TI 策略来解决与不同芯片版本相关的错误、并且考虑到可以区分读取寄存器的芯片版本、我也了解这些错误。 我不喜欢其他很多东西、例如不使用标准 C 类型和 .h 文件中过多的#include、使用过于常用的定义作为成功和失败等。

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

    [引用用户="Massimo Manca ]1. 我以前在同一个工程中具有多种不同的编译配置、 不同选项的版本、但也有一些使用不同编译器的版本(主要用于单元测试或 CC3100 不同 MCU 的情况)、但似乎不可能具有不同的配置、其中一些基于 ARM GNU C/C++编译器、另一些基于 TI ARM C/C++编译器。

    这当然是可能的。 实际上、在工程的属性中、如果您将编译器版本从 TI 编译器更改为 GNU 编译器、则工程将创建使用 GNU 编译器的新编译配置。 但是、GNU 工程(如库、路径等)的性质和要求可能与 TI 编译器工程不同、因此更改编译器版本自动创建的编译配置很可能需要在编译之前对编译器和链接器设置进行一些手动调整。

    [引用用户="Massimo Manca ]2. 导入之前保存在 zip 文件中的工程完成"解析和导出链接资源"检查并不能真正解决这些问题、因为它们被保存为绝对路径而不是相对路径。 使用 zip 文件导出/导入是 Eclipse 调整路径的技巧、通常可以使用、至少对于许多其他基于 Eclipse CDT 的 IDE 而言是如此。[/quot]

    有关导出/导入至存档时链接资源如何工作的更多信息、请参阅此链接。
    http://software-dl.ti.com/ccs/esd/documents/ccs_sharing-projects.html

     [引用 user="Massimo Manca "]我需要检查/解决哪些问题才能使用 GNU 或 TI ARM C/C++编译器编写/编译/调试非常简单的 C/C++应用程序?

    正如 Sarah 提到的、我不建议为 SimpleLink 器件从头开始新的 C++项目、因为您需要手动添加大量设置和源文件才能实现基本的程序运行。 相反、我建议从 TI-RTOS 示例开始。 TI-RTOS 软件包中有为 GNU 编译器设置的示例、还有一个 C++示例(称为 bigtime)。  

    为了更轻松地从 TI-RTOS 查看示例并将其导入到 CCS 中、您可以使用 Resource Explorer Classic 界面(菜单 View->Resource Explorer Classic)。 首次启动时、单击"Configure Resource Explorer to discover examples..."并添加 TI-RTOS 安装的路径。 配置后、它应显示在左窗格中。 然后、您可以导航到其中、在其中选择一个示例并将其导入。  

    希望这对您有所帮助!