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.

[FAQ] [参考译文] [常见问题解答] IDE 已知问题和修复程序

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/770557/faq-ide-known-issues-and-fixes

主题中讨论的其他器件:CC2640

1:如何在 IAR 中启用 TI-RTOS 对象查看器(ROV)?

答: 可以在应用程序的项目选项->调试器->插件选项卡下启用 ROV。 在滚动列表中选择"TI-RTOS "。

2: 为什么我的 CC2650STK SensorTag 仅在我在 CCS 中进行调试时工作?

答: SensorTag 需要使用引导映像管理器(BIM)、除了应用程序和堆栈项目外、还需要对其进行编程。 BIM 包含在预构建的固件十六进制映像中。 请参阅 TI BLE Wiki 上 SensorTag 用户指南中的固件构建过程


3:我的"开箱即用"BLE 示例未在 IAR 中编译、我收到一条错误消息、提示"Variable expansion failed"。 出什么问题了?

答: IAR 有时无法包含 TI RTOS 和 CC26XXWARE 的路径变量、您需要再次手动导入这些变量。  

转至  Project->Configure Custom Argument Variables,选择  Import  并选择相应的变量文件。 示例位置: projects\ble\SimpleBLEPeripheral\CC26xx\IAR\SimpleBlePeripheral.custom_argvars


4:我遇到预编译错误、指示 BLE-Stack v3.0/CC2640R2 SDK v1.0.22无法识别 lib_search.exe

答: 此 SDK 中堆栈预编译期间使用的 lib_search.exe 可执行文件需要安装 Windows 64位。 对于32位 Windows 安装、请使用此32位版本 的 lib_search.exe (zip)。 从 CC2640R2 SDK v1.30.00.25开始、提供了32位兼容版本。


5:我的 CC-DEVPACK-DEBUGGER (DevPack 调试器/XDS110)在 SmartRF 闪存编程器2 v1.7.x 中未检测到 SensorTag?

答: 可能需要固件更新。 请根据 《CC2640 BLE 软件开发人员指南》(SWRU393)安装 CCS。 CCS 将在启动调试会话时检测是否需要固件更新。 打开并构建 SensorTag 项目、然后通过 CCS 调试器对 SensorTag 进行编程。 请记住关闭 SmartRF Flash Programmer 2。

6:在构建 Stack 项目时,我在 Boundary.exe 上遇到链接器或编译后错误。

答: (适用于 BLE-Stack v2.1.1和更早的 SDK 版本)边界工具用于将堆栈闪存/RAM 边界调整为最佳值。 这些错误通常在修改堆栈配置以使 RAM/Flash 使用发生变化时发生。

  1. 验证参数变量/路径是否指向 Boundary.exe 的安装位置。 默认位置:C:\Program Files (x86)\Texas Instruments\Boundary。 如果该工具安装到不同的路径、则需要更新 IDE:
    1. IAR:tools->Configure Custom Argument Variables ->“CC26xx TI-RTOS”-> BOUNDARY
    2. CCS:Stack Project Properties -> Build、“Steps”选项卡、“Post-build steps”。
    3. 有关  如何解决边界工具或链接器生成的构建错误的详细信息,请参阅《CC2640 BLE 软件开发人员指南》(SWRU393)中的“使用边界工具配置 RAM 和闪存边界”一节。

      对于 BLE-Stack v2.2.0+:  使用 Frontier 工具、无需重建 Stack 项目。  CC2640 BLE 软件开发人员指南中提供了详细信息,但过程是构建协议栈,然后构建应用程序 只有在更改 Stack 项目时才需要重建堆栈。

7:IAR 中出现预编译错误,在单击“工具”->“选项”->“消息”->“显示所有编译消息”之后,它看起来就像这样
gmake[1]:输入目录`C:/ti/simplelink/ble_cc26xx_2_00_00_42893/Projects/ble/SimpleBLEPeripheral/CC26xx/IAR/Config/src/sysbios
预处理库源文件...
C:/用户/ /AppData/Local/Temp/make904-2.sh:1:语法错误:"("意外
C:/用户/ /AppData/Local/Temp/make904-3.sh:1:语法错误:"("意外

答: 无论出于何种原因、您的系统都为 IAR 安装到的路径禁用了8.3路径名别名(例如 PROGRA~2)。 目前唯一已知的可行解决方案是在 C:\IAR\EWARM 7401等位置安装 IAR 或其他路径、而不带空格或长名称。


8:我在应用程序项目中遇到类似如下的"资源暂时不可用"预编译错误:

正在创建包含 ROM 中未包含的 API 的 SYS/BIOS 库...  
0 [Main] sh 6420 SYNC_ITH_CHild:子6332 (0x19C)在状态代码0xC0000142的初始化之前死亡  
23 [Main] sh 6420 SYNC_ITH_Kild:***子状态等待 longjmp  
C:/Users/username/AppData/Local/Temp/make6628-1.sh:fork:资源暂时不可用

答:   在 XDCTools 安装中、与 sh.exe 很可能会与您安装的其他软件包发生冲突。 请在  系统中搜索 sh.exe 并禁用冲突的软件包。 此外、cygwin 等文件系统工具可能会导致与 XDCTools 冲突;这些安装也应禁用。

9:无法生成我的 CCS 工程。

答: 首先验证您使用的是相应 SDK 的发行说明中指定的所需最低 CCS IDE 版本和 TI 编译器版本。 此外、请勿在 BLE-Stack SDK 路径和 CCS 工作区或 Windows %APPDATA%路径中使用空格。 在这些路径中使用空格将导致生成错误。 还建议将 SDK 安装到默认位置、以确认您的设置是否正常工作。 此外、如果在 XDCTools 之前的 Windows 路径中存在 Cygwin 版本、预编译步骤可能会失败。 建议调整路径、以便在 XDCTools 之前找不到其他版本的 Cygwin。


10:我仍然遇到某种构建错误。

答: 请使用 E2E "插入代码、附加文件等"选项并 附加 您的 IAR 或 CCS 构建日志(回形图标)。 请注意、对于 IAR、您必须启用构建日志:工具->选项->消息->将构建消息记录到文件中。 请根据需要压缩文件。 附加编译文件、而不仅仅是显示错误的代码段、对于确定编译环境和诊断编译错误所需的其他因素至关重要。

 
11:调试或加载 Stack FlashROM 项目时,我收到错误消息,表示找不到矢量表或无法运行到 main。

答: Stack 项目不是可执行的,因此无法直接从 IDE 调试它。必须从 Application 项目工作区调试 Stack。 在 IAR 中,如果使用“下载活动应用程序”来下载(编程) Stack 映像,则不应遇到这些警告。 在 CCS 中、您将看到这些警告、但是只要闪存存储器已成功编程、它们就可以被忽略。 下载堆栈后、切换到应用工作区/项目并启动调试会话。 更多详细信息,请参见 《CC2640 BLE 软件开发人员指南》(文献编号:SWRU393)。


12:我的 CC-DEVPACK-DEBUG (DevPack 调试器/XDS110)始终在 Windows 设备管理器中报告"固件升级模式"?

答: 请确保 SensorTag 中插入了电池、并按照 Wiki 上的步骤操作: processors.wiki.ti.com/.../CC13xx_CC26xx_Tools_Overview

13:如何解砖器件?

答: 使用 SmartRF 闪存编程器2。 在扳手图标(右上角)下,选择“CC26xx/CC13xx 强制批量擦除”。 请注意、执行批量擦除时、闪存编程工具将始终报告"成功"。 如果 CC26xx 器件配置(CCFG)被设定为禁用整体擦除功能、尽管闪存编程工具报告"成功"、此操作将不会成功。

14.调试或加载 Stack FlashROM 项目时,我收到错误消息,表示找不到矢量表或无法运行到 main。

答: Stack 项目不是可执行的,因此无法直接从 IDE 调试它。必须从 Application 项目工作区调试 Stack。 在 IAR 中,如果使用“下载活动应用程序”来下载(编程) Stack 映像,则不应遇到这些警告。 在 CCS 中、您将看到这些警告、但是只要闪存存储器已成功编程、它们就可以被忽略。 下载堆栈后、切换到应用工作区/项目并启动调试会话。 更多详细信息,请参见《CC2640 BLE 软件开发人员指南》(文献编号:SWRU393)。

15.如何使用带有 CCS 10.2的 ti-clang 编译器运行工程?

答:请参阅此 帖子