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.

[参考译文] LAUNCHXL-CC2650:Launchpad CC2650的编译和编程问题

Guru**** 2583445 points
Other Parts Discussed in Thread: CC2530, CC2630, LAUNCHXL-CC2650, Z-STACK, CC2650

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/668703/launchxl-cc2650-compiling-and-programming-issues-with-launchpad-cc2650

器件型号:LAUNCHXL-CC2650
主题中讨论的其他器件:CC2530CC2630Z-stackCC2650

大家好、

我刚刚收到了 LAUNCHXL-CC2650套件。 我不熟悉使用此 LaunchPad。 所以、我开始深入研究它的架构和功能。 我的目标是使其成为将与协调器(CC2530)通信的 Zigbee 终端器件(CC2630)。  我已经按照一些基本步骤开始了这一步、如下所述:

使用的 IDE:IAR EWARM 7.40.2

Z-stack:Z-stack_Home_1.2.2a

我已按照 这些 wiki 说明进行操作。 我执行了在那里写入的所有操作、但当我编译程序(SampleSwitch)时、我会遇到错误

构建配置:SampleSwitch - CC2650LP  
正在更新生成树...  
执行预编译操作  
实验板.c  
警告[Pe047]:宏"Board_SPI0_miso"的重新定义不兼容(在 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 97的第107行声明)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
警告[Pe047]:宏"Board_SPI0_MOSI"的重新定义不兼容(在 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 98的第108行声明)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
警告[Pe047]:宏"Board_SPI0_CLK"的重新定义不兼容(在 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 99的第106行声明)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
警告[Pe047]:宏"Board_I2C0_SCL0"的重新定义不兼容(在 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 107的第96行声明)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
警告[Pe047]:宏"Board_SPI_FLASH_CS"的重新定义不兼容(在 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 111的第101行声明)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE1445]:枚举"CC2650_I2CName"的重新定义无效(在 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 162的第156行声明)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE101]:"CC2650_I2C0"已经在当前作用域中声明(位于 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cC2650LP\Board.h 163的第157行)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE101]:"CC2650_I2CCOUNT "已在当前范围内声明(位于 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 165的第158行)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE256]:类型名称"CC2650_I2CName"的重新声明无效(在 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cC2650LP\Board.h 166的第159行声明)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE1445]:enum "CC2650_CryptoName"的重新定义无效(在"C:\ti\simplelink\Zstack_home_1_02_044539\projects\Zstack\ C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\CC2650172\LaunchPad 的第67行声明 Board.h)  
HomeAutomation\SampleSwitch_LP\CC26xx\..\common\CC26xx\LaunchPad\Board.h")  
ERROR[PE101]:"CC2650_CRYPTO0"已在当前作用域中声明(位于"C:\ti\simplelink\Zstack_home_1_02_44539\projects\Zstack\ C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\LaunchPad\CC2650173\LaunchPad 的第69行 Board.h)  
HomeAutomation\SampleSwitch_LP\CC26xx\..\common\CC26xx\LaunchPad\Board.h")  
ERROR[PE101]:"CC2650_CRYPTOCOUNT"已在当前范围内声明(位于"C:\ti\simplelink\Zstack_home_1_02_44539\projects\C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\chchpads\CC2650175\LaunchPad 的第69行 Board.h)  
Zstack\HomeAutomation\SampleSwitch_LP\CC26xx\..\..\common\CC26xx\LaunchPad\Board.h")  
ERROR[PE256]:类型名称"CC2650_CryptoName"的重新声明无效(在"C:\ti\simplelink\Zstack_home_1_02_44539\projects\Zstack\ C:\ti\tirtos_simplelink_2_11_01_09\packages/ti\boards\CC2650lp\Board.h 中声明)  
HomeAutomation\SampleSwitch_LP\CC26xx\..\common\CC26xx\LaunchPad\Board.h")  
ERROR[Pe1445]:枚举"CC2650_SPIName"的重新定义无效(在 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cC2650LP\Board.h 183的第165行声明)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE101]:"CC2650_SPI0"已在当前作用域中声明(位于 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 184的第166行)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE101]:"CC2650_SPICOUNT"已在当前作用域中声明(位于 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 187的第167行)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE256]:类型名称"CC2650_SPIName"的重新声明无效(在 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cC2650LP\Board.h 188的第168行声明)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE1445]:枚举"CC2650_UARTName"的重新定义无效(在 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 194的第174行声明)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE101]:"CC2650_UART0"已在当前作用域中声明(位于 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 195的第175行)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE101]:"CC2650_UARTCOUNT"已在当前范围内声明(位于 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 197的第176行)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE256]:类型名称"CC2650_UARTName"的重新声明无效(在 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cC2650LP\Board.h 198的第177行声明)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[Pe1445]:enum "CC2650_UdmaName"的重新定义无效(在 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 204的第183行声明)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE101]:"CC2650_UDMA0"已在当前范围内声明(位于 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 205的第184行)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE101]:"CC2650_UDMACOUNT"已在当前范围内声明(位于 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.h 207的第185行)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[PE256]:类型名称"CC2650_UdmaName"的重新声明无效(在 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cC2650LP\Board.h 208的第186行声明)  
"C:/ti/tirtos_simplelink_2_11_01_09/packages/ti/boards/SensorTag/CC26XXST_0120/Board.h ")  
ERROR[Pe136]:结构"UARTCC26XX_HWAttrs"没有字段"intPriority " C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cC2650LP\Board.c 98  
ERROR[PE136]:结构"UDMACC26XX_HWAttrs"没有字段"intPriority " C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.c 140  
ERROR[Pe136]:结构"SPICC26XX_HWAttrs"没有字段"intPriority " C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.c 176  
ERROR[PE146]:初始化程序值过多 C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.c 186  
ERROR[Pe136]:结构"I2CCC26XX_HWAttrs"没有字段"intPriority " C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cC2650LP\Board.c 242  
ERROR[PE136]:结构"CryptoCC26XX_HWAttrs"没有字段"intPriority " C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.c 283  
运行 C/C++编译器时出错  

错误总数:26.  
警告总数:5.

但是、当我编译未更改的 SampleSwitch 程序时、我能够成功编译。 请指导我成功编译它、我无法通过 IAR IDE 擦除闪存、这会显示一个错误:  

然后、我尝试更新固件并更改序列号、然后又出现错误路由的错误。 请指导我如何解决此问题?

此致、

Priya

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您在未进行任何修改的情况下构建原始 SampleSwitch 示例、您能否成功构建它?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Priya、

    我在严格遵循 Wiki 说明时未遇到任何错误、请特别注意"添加板相关文件"和"更改包含目录和删除未使用的驱动程序"部分。

    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,黄晨
    很抱歉我的回答有延迟。 是的、我能够成功构建原始 SampleSwitch 示例。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Ryan、
    很抱歉我的回答有延迟。 我将再次尝试精确地遵循 Wiki 指令、并将很快返回给您进行更新。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您必须在 processors.wiki.ti.com/.../CC2650_LaunchPad_User's_Guide_for_ZigBee 中错过一些步骤 。 最好重新执行这些步骤、并确保您准确地执行这些步骤。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!  

    我已从零开始卸载并重新安装了所有内容、并按照 Wiki 的每个步骤进行操作。 但是、当我尝试构建项目时、我遇到了以下错误:  

    ERROR[PE136]:结构"UDMACC26XX_HWAttrs"没有字段"intPriority " C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.c 140  
    ERROR[Pe136]:结构"SPICC26XX_HWAttrs"没有字段"intPriority " C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cc2650LP\Board.c 176  
    ERROR[Pe136]:结构"I2CCC26XX_HWAttrs"没有字段"intPriority " C:\ti_tirtos_simplelink_2_11_01_09\packages/ti\boards\LaunchPad\cC2650LP\Board.c 242  
    ERROR[Pe136]:结构"CryptoCC26XX_HWAttrs"没有字段"intPriority "  

    因此、我从 Board.c 文件中的任何位置对 intPriority 进行了注释、并成功构建了项目。 (我、老实说、不知道评论是否重要)。 如果我做得对或不对、请指导我?

    如果这是构建它的正确方法、那么下一个问题我将面临、我无法在我的 Launchpad 中下载项目。 我所面临的错误是:XDS110调试探针需要固件升级。  (上面附上了屏幕截图)、我尝试使用 XDSdfu 下载固件、然后遇到错误的路由器路径。 请以正确的方法指导我。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    1.我认为从 Board.c 文件中的任何位置对 intPriority 进行注释都不会有问题。
    2.我没有看到 XDS110问题的屏幕截图,但您可以升级固件以再次进行测试。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您的快速回复和帮助。

    我尝试更新固件并成功更新固件

    但我在下载代码时遇到错误:

    如何解决此错误?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您启动闪存编程器2、它会识别您的器件吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    在开始时、闪存编程器要求更新 XDS110固件、我更新了固件、然后它向我展示了器件:

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尝试重新启动桌面并再次测试。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    你好,黄晨

    我已重新启动计算机。 这给我带来了一个错误:
    需要固件升级。

    这是我最初在 IAR IDE 中遇到的错误,然后我尝试使用 XDSDFU 升级固件,然后在 IAR IDE 中,它向我显示了以下错误:
    致命错误:无法连接到 XDS 仿真器
    无法访问路由器路径
    电路板配置文件可能不正确
    仿真封装:5.1.641.0

    但是、我启动了闪存编程器2、其中弹出窗口警告我再次更新固件、然后我使用闪存编程器工具升级了固件。 然后、我能够在闪存编程器中检测到 XDS110 (它的屏幕截图已在前面发布)。 但是、当我使用 IAR 下载项目时、再次出现固件升级错误。

    希望很快解决问题:(但非常感谢你们为我提供的所有支持。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您使用哪个 IAR 版本?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    7.40.2.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果您再次在 IAR 中更新 FW 并重新启动桌面、它是否起作用?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如何在 IAR 中更新 FW? 我使用 XDSDFU 更新了固件、然后我尝试进行调试、并抛出无法访问路由器路径的错误。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    通常、如果 FW 不匹配、IAR 应弹出 DB 以请求 FW 更新。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    IAR 刚刚警告过使用 XDSDFU 更新固件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我希望您能帮助我解决这个问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您能否进行屏幕截图以向我展示 IAR 的弹出功能?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    请找到我在 IAR 窗口中关注的内容的屏幕截图。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这有时是由 USB 电缆损坏造成的。 我建议您更换 USB 电缆以再次进行测试。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好、Priya、

    我同样需要修复中断优先级错误、但我选择将它们添加到必要的结构中、而不是删除对它们的提及。 正如宜家所说,这不应影响最终操作。 您使用的是正确版本的 EWARM。 确保您的项目选项-> TI XDS 已选择 TI XDS110仿真器。 您是否能够顺利地对任何默认 LAUNCHXL-CC2650示例进行编程和调试?

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

    您好!

    我尝试更换 USB 电缆。 但仍会出现同样的错误、即无法访问路由器路径。 :(

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    我能够成功编译它们、没有错误、但无法对它们进行编程。 我收到"XDS110固件升级"错误。 当我更新固件时、出现错误"router path could not be accessed"(无法访问路由器路径)。 我是否遗漏了什么?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的仿真软件包版本为:5.1.641.0错误是否可能是由这个仿真软件包引起的?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    可能会尝试从 processors.wiki.ti.com/.../XDS_Emulation_Software_Package 下载最新的 XDS 仿真软件包 、并更新您的 XDS110以再次进行测试。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    下载并安装7.0.188.0仿真软件包、然后更新 XDS110固件已解决问题。 我现在能够将程序下载到闪存中。
    感谢您 Yikai 和 Ryan 付出的时间和努力。 )