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.

[参考译文] CC2530:如何编译 ZED 和 ZR ii One? Z-STACK 3.0.1

Guru**** 2539500 points
Other Parts Discussed in Thread: Z-STACK, CC2530

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/708833/cc2530-how-to-compile-zed-and-zr-ii-one-z-stack-3-0-1

器件型号:CC2530
Thread 中讨论的其他器件:Z-stack

我对 GenericApp 示例进行了编程、我想制作一体化 ZED 和 ZR。  为此、我设置了 ZNP 中的选项   

-DZSTACK_DEVICE_BUIGE=""(DEVICE_BUIGE_router | DEVICE_BUIGE_ENDDEVICE)"

并在 IAR 中设置 AllDevice-PRO.lib

但我得到四个误差

错误[Pe020]:标识符"BDB_network_steining_capable"未定义 C:\Texas Instruments\Z-Stack 3.0.1_ForTest\Components\stack\bdb\bdb.c 112

错误[Pe020]:标识符"BDB_network_formation_capable"未定义 C:\Texas Instruments\Z-Stack 3.0.1_ForTest\Components\stack\bdb\bdb.c 112

错误[Pe020]:标识符"BDB_Finding_Binding_Capability "未定义 C:\Texas Instruments\Z-Stack 3.0.1_ForTest\Components\stack\bdb\bdb.c 112
ERROR[Pe020]:标识符"BDB_TOUCHLINK_Capability "未定义 C:\Texas Instruments\Z-Stack 3.0.1_ForTest\Components\stack\bdb\bdb.c 112

 我可以设置哪些选项?

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

    由于 CC2530具有有限的 RAM/Flash,我认为不可能实现一体化 ZED 和 ZR。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    为什么?
    ZNP 就是一个示例。 它可以是 ZC、ZR 还是 ZED? UOU 可以倒角 ZNP 的角色、而无需重新编程闪存
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    ZNP 比 SOC 应用更加紧凑。 例如,ZNP 没有所有与 BDB 和 UI 相关的代码。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我的应用程序也没有 UI。 它由 MT 组成。 我在闪存中的位置没有问题、但在编译方面有问题。
    现在我发现了同样的东西-我只能使用协调器选项为 ZNP 设置选项。
    例如、我可以设置
    -DZSTACK_DEVICE_BUIGE=""(DEVICE_BUIGE_Coordinator | DEVICE_BUIGE_router | DEVICE_BUIGE_ENDDEVICE)"
    -DZSTACK_DEVICE_BUIGE="(DEVICE_BUIGE_Coordinator | DEVICE_BUIGE_ENDDEVICE)"
    -DZSTACK_DEVICE_BUILD ="(DEVICE_BUIL_Coordinator | DEVICE_BUIL_router)"

    但我无法设置
    -DZSTACK_DEVICE_BUIGE="(DEVICE_BUIGE_ROWER | DEVICE_BUIGE_ENDDEVICE)"
    -DZSTACK_DEVICE_BUIGE="(DEVICE_BUIGE_ENDDEVICE)"


    在第二种情况下、我会遇到编译错误
    错误[Pe020]:标识符"BDB_network_steining_capable"未定义 C:\Texas Instruments\Z-Stack 3.0.1_ForTest\Components\stack\bdb\bdb.c 112
    错误[Pe020]:标识符"BDB_network_formation_capable"未定义 C:\Texas Instruments\Z-Stack 3.0.1_ForTest\Components\stack\bdb\bdb.c 112
    错误[Pe020]:标识符"BDB_Finding_Binding_Capability "未定义 C:\Texas Instruments\Z-Stack 3.0.1_ForTest\Components\stack\bdb\bdb.c 112
    ERROR[Pe020]:标识符"BDB_TOUCHLINK_Capability "未定义 C:\Texas Instruments\Z-Stack 3.0.1_ForTest\Components\stack\bdb\bdb.c 112

    或(适用于-DZSTACK_DEVICE_BUIGE="(DEVICE_BUIGE_ENDDEVICE)")
    ERROR[E46]:Nwk (C:\Texas Instruments\Z-Stack 3.0.1_ForTest\Projects\ZStack\Libraries\)中引用的未定义外部"Link_STATUS_Jitter_MASK"
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    需要修改 bdb.h 中的 include 和宏以更好地指定构建类型、请参阅以下 Wiki 页面中的新条目:
    processors.wiki.ti.com/.../Zigbee_Known_Issues_and_Proposed_Fixes

    我已将此反馈提交给软件开发团队。 对于-DZSTACK_DEVICE_BUIGE="(DEVICE_BUIGE_ENDDEVICE)"案例、我只添加了:
    其他
    const uint16 glink_status_jitter_mask = 0;

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

    您好、Pavel、

    我更改了协调器的默认配置、如下所示。

    在 bdb.h 上、在接下来的行中添加 ZG_BUIGE_Joining _type 标志:


    第65行

    #if (ZG_build_Join_type ||(Zstack_device_build = device_build_router)||(Zstack_device_build = device_build_ENDDEVICE)//++更改此行
    //可选
    #if defined (inter_PAN)&&(defined (BDB_TL_INITIATOR)|| defined (BDB_TL_TARGET))
    #define BDB_TOUCHLINK_Capability _ enabled 1.
    其他
    #define BDB_TOUCHLINK_Capability _使能0
    #endif
    其他
    #if defined (inter_PAN)&&(defined (BDB_TL_INITIATOR)|| defined (BDB_TL_TARGET))
    #ERROR 无法为协调器启用 TouchLink。 请确保不要定义 BDB_TL_INITIATOR BDB_TL_TARGET
    #endif
    #endif

    第104行

    /*********
    *宏
    *

    // bdbNodeCommissioningCapability 宏
    #if (ZG_BUIING_Coordinator_TYPE)
    #define BDB_network_steering 功能(BDB_network_steering 功能启用<0)
    #define BDB_network_forming_capability (BDB_network_formation_enabled<1)
    #define BDB_Finding_Binding_Capability (BDB_Finding_Binding_Capability 已启用<<2)
    #define BDB_TOUCHLINK_FLUability (0<3)//ZC 无法执行 TL 过程
    #endif
    #if (ZG_build_Join_type ||(Zstack_device_build = device_build_router)//++更改此行
    #define BDB_network_steering 功能(BDB_network_steering 功能启用<0)
    #define BDB_network_formation_capability (BDB_router_form_distributed_NWK_enabled<1)
    #define BDB_Finding_Binding_Capability (BDB_Finding_Binding_Capability 已启用<<2)
    #define BDB_TOUCHLINK_FANability (BDB_TOUCHLINK_FACT_ENABLED)<<3)
    #endif

    通过注释协调器设置并添加路由器和设备构建来修改 f8wCoord.cfg:

    /*协调器设置*/
    //-DZDO_Coordinator // Coordinator functions
    //-DRTR_NWK

    /*通用一体机设置*/
    -DZSTACK_DEVICE_BUIGE=""(DEVICE_BUIGE_router | DEVICE_BUIGE_ENDDEVICE)"

    /*其他设置*/
    -DNWK_AUTO_POLL

     

    使用-C $PROJ_DIR$\..\..\Librarys\TI2530DB\bin\AllDevice-Pro.libz 更改器件库

     

    通过此更改、项目会编译、但需要进一步测试才能保证没有任何损坏。

     

    此致、

     

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

    谢谢!  我 为您 的雷诺测试感到非常不满。  

    这条线路怎么样?  我需要更改它吗?

    我已将此反馈提交给软件开发团队。 对于-DZSTACK_DEVICE_BUIGE="(DEVICE_BUIGE_ENDDEVICE)"案例、我只添加了:

    其他

    const uint16 glink_status_jitter_mask = 0;

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Wiki 上提供了更新、不再需要使用此语句。

    此致、
    Ryan
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    以下描述似乎与章节标题"由于 BDB 报头构建类型而导致的错误"无关。 仅当您希望在同一设备上合并 ZR/ZT 时才需要这些功能。 如果您对您的章节标题更具体、以防开发人员产生任何误解。

    通过注释协调器设置并添加路由器和设备构建来修改 f8wCoord.cfg:

    /*协调器设置*/
    //-DZDO_Coordinator // Coordinator functions
    //-DRTR_NWK

    /*通用一体机设置*/
    -DZSTACK_DEVICE_BUIGE=""(DEVICE_BUIGE_router | DEVICE_BUIGE_ENDDEVICE)"

    /*其他设置*/
    -DNWK_AUTO_POLL

    使用-C $PROJ_DIR$\..\..\Librarys\TI2530DB\bin\AllDevice-Pro.lib 更改器件库,并将所有"#if (ZStack_router_build)|| Defined (ZBIT)"的实例替换为"#if (ZStack_router_build)||(ZG_BUILD)||(ZEV_TYPE)|(ZBIT)