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.

[参考译文] 在 Raspberry Pi Zero W 上运行 Z-Stack Linux

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

https://e2e.ti.com/support/wireless-connectivity/zigbee-thread-group/zigbee-and-thread/f/zigbee-thread-forum/993930/running-z-stack-linux-on-raspberry-pi-zero-w

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

大家好、到目前为止、我已将 Z-Stack Linux GW 与 Raspberry Pi 3一起使用、没有任何问题。 现在我想使用 Raspberry Pi zero W、但当我运行 Z-Stack Linux 应用程序时、它会发出"非法指令"错误。 当我搜索它时、我发现了这个帖子和同一个问题、因此我将-March 标志从 armv7-A 更改为 armv6并重新编译了 Z-Stack Linux GW。 但不幸的是、问题仍然存在! 要在 Raspberry Pi zero w 上运行 Z-Stack Linux GW、我还必须做什么其他事情吗?

此致、Ahmad。

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

    基本而言、您只需正确设置交叉编译器即可使其正常工作。 您可以参阅 https://raspberrypi.stackexchange.com/questions/103737/cross-compile-for-raspberry-pi-zero-from-ubuntu 、为 Raspberry Pi Zero 设置交叉编译器。

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

    我之前使用 Raspberry Pi 3B 根据 此指令编译 Z-Stack 源、现在我使用 Raspberry PI 0本身来编译源。 有可能吗? 遗憾的是、我对交叉编译没有太多了解。  

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

    我认为 使用 Raspberry PI 0本身编译此源代码没有问题。

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

    但遗憾的是、我仍然无法在 RPI Zero 上运行 Z-Stack Linux GW 应用程序。 它们在 RPI 零上成功编译、但无法运行、并出现非法指令错误。

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

    “非法指令”与 Z-Stack Linux Gateway 参考设计没有太大关系。 它更多地涉及到您在 Zero IT 上的交叉编译环境或工具链。 您可以访问 https://www.raspberrypi.org/forums/viewtopic.php?t=247501 查看是否可以解决此问题。

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

    我终于找到了解决方案。 问题在于 Z-Stack Linux 源代码附带的预构建 PROTOBUF-c 库。 我获得了 protobuf-c 源代码、并针对 armv6重新编译它、还在 Makefiles 中将-March 标志更改为 armv6、并重新编译了所有内容、它成功运行。

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

    您好、Ahmad Fateh、

    我正在尝试为 ARMv8交叉编译 protobuf-c、但无法生成 libprotobuf-c。如果您可以共享为交叉编译 protobuf-c 库所遵循的步骤、那将非常棒。

    谢谢、

    Vikas

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

    请尝试参阅 https://sunmaysky.blogspot.com/2017/06/build-ti-z-stack-linux-home-gateway.html 中的步骤。 它是为 Ubuntu 虚拟机编写的、但应应用于嵌入式 Linux。

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

    YiKai Chen、

    感谢您共享链接。我的兴趣是专门对 libprotobuf-c 库进行交叉编译。因此 Linux 机器步骤不会对我有所帮助。TI 已经提供了有关如何在 Linux 主机上构建网关的用户指南。

    谢谢、

    Vikas

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

    大家好、Vikas、

    我认为 Z-Stack Linux 源代码附带的预构建 PROTOBUF-C 库必须在 ARMv8上运行(因为向后兼容)、因为它是为 armv7构建的。 我实际上在 RPI Zero 本身上进行了本机编译。 这些是我执行的步骤:

    1.从此 链接下载 protobuf-c 源代码

    2.在终端中运行:  

      /configure && make && make install

    将 libprotobuf-c*。*文件复制到 Z-Stack-GW/Source/protobuf-c-arm/lib 中