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.

[参考译文] CC1310:当配置为将 C 文件视为 C++文件时、无法编译。

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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1323760/cc1310-cannot-build-when-configured-to-treat-c-files-as-c-files

器件型号:CC1310
Thread 中讨论的其他器件: SYSBIOS

环境。

Code Composer 版本:9.1

SDK: SimpleLink CC13x0 SDK 4.20.02.07

编译器版本:TI v18.12.2.LTS

XDC 工具:3.51.3.28_CORE

分步过程:

  1. 在 Resource Explorer 中、我下载了一个示例项目 gpiointerrupt、它具有 CSS 编译器但没有 RTOS。  
  2. 结果:能够成功建立此软件。
  3. 更改设置以将 C 文件视为 C++文件。 (因为我打算在设置最低环境后添加更多用 C++编写的代码。)
  4. 结果:编译错误且未能生成软件。

问题描述中显示的日志包括:

关于问题: #2772此常量表达式具有"char *"类型,而不是所需的积分或枚举类型 CC1310_LAUNCHXL.c /gpiointerrupt_CC1310_LAUNCHXL_nortos_ccs 行668 C/C++问题

用于 C++的#pragma 位置和 NOINIT 的语法与 C 不同、因此、我修改了以下命令来修复编译错误。

文件名:CC1310_LAUNCHXL.c

//#pragma location (flashBuf、NVS_REGION_BASE); -->注释掉
//#pragma NOINIT (flashBuf);                         -->注释掉

#pragma location(NVS_REGES_BAS);
#pragma NOINIT;

关于问题: #145无法使用"const void *"类型的值来初始化"const UDMACC26XX_HWAttrs *"类型的实体。

目前、我没有使用任何 DMA 工具、因此我现在只想对此进行注释。

__static_inline void UDMACC26XX_channelDisable (UDMACC26XX_Handle handle、uint32_t channelBitMask)
{
//UDMACC26XX_HWAttrs const *hwAttrs = handle->hwAttrs; -->注释掉
//HWREG (hwAttrs->baseAddr + uDMA_O_CLEARCHANNELEN)= channelBitMask; -->注释掉

经过我对这两个问题所做的所有更改后、我仍然有问题。 请参阅下面的编译错误。

当然、我在这里错过了一些东西。 任何人都可以为我指明正确的方向。

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

    尊敬的 Marc:

    C++开发的一个更好起点是 偏置时间 示例、在 SYSBIOS 示例下。

    您能告诉我这对您有何帮助吗?

    此致、

    亚瑟