问题标签 [zephyr-rtos]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
630 浏览

aws-iot - Zephyr AWS IOT 示例应用程序

我有一个在 Zephyr OS 上运行的嵌入式应用程序

我想在 AWS IOT 上推送传感器数据,Zephyr 中没有适用于 AWS 的示例应用程序,但有适用于 Azure 和 Google IOT 的示例应用程序

谁能指导我使用 AWS IOT 编写示例应用程序或一些参考

0 投票
0 回答
250 浏览

c - Zephyr 和亚马逊网络服务在 mqtt_input 失败

我正在尝试使用 MQTT 库连接到 Amazon IOT 服务

以下是日志:

0 投票
2 回答
804 浏览

build - ESP32 的 Zephyr hello world 应用程序失败

操作系统:Ubuntu 18.04,64bit(新安装)
Zephyr 版本:2.2.99
Zephyr SDK 版本:0.11.2
xtensa-esp32-elf-gcc 版本:5.2.0 --build=x86_64-build_pc-linux-gnu

根据 Zephyr 和 esp 的入门指南,我们设置了环境变量。

导出 ZEPHYR_TOOLCHAIN_VARIANT="espressif"
导出 ESPRESSIF_TOOLCHAIN_PATH="/home/swapna/Documents/Workspace/esp/xtensa-esp32-elf"
导出 ZEPHYR_SDK_INSTALL_DIR="/home/swapna/Documents/Workspace/Zephyr_ESP/zephyr-sdk"

我们构建 hello_world 应用程序:

west build -b esp32 示例/hello_world

[84/122] 构建 ASM 对象模块/xtensa/CMakeFiles/modules_xtensa_hal.dir/src/hal/cache_asm.S.obj
失败:modules/xtensa/CMakeFiles/modules_xtensa_hal.dir/src/hal/cache_asm.S.obj
ccache /home/swapna/Documents/Workspace/esp/xtensa-esp32-elf/bin/xtensa-esp32-elf-gcc -DBUILD_VERSION=zephyr-v2.2.0-844-g6c2451c5c0a6 -DKERNEL -D_FORTIFY_SOURCE=2 -D__ZEPHYR__=1 - I/home/swapna/Documents/Workspace/Zephyr_ESP/zp/zephyr/include -Izephyr/include/generated -I/home/swapna/Documents/Workspace/Zephyr_ESP/zp/zephyr/soc/xtensa/esp32 -I/home/ swapna/Documents/Workspace/Zephyr_ESP/zp/zephyr/soc/xtensa/esp32/include -I/home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/esp-idf/zephyr/../components/esp32 /include -I/home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/esp-idf/zephyr/../components/soc/esp32/include -I/home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/xtensa/include -I/home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/xtensa /zephyr/soc/esp32 -isystem /home/swapna/Documents/Workspace/Zephyr_ESP/zp/zephyr/lib/libc/minimal/include -isystem /home/swapna/Documents/Workspace/esp/xtensa-esp32-elf/bin /../lib/gcc/xtensa-esp32-elf/5.2.0/include -isystem /home/swapna/Documents/Workspace/esp/xtensa-esp32-elf/bin/../lib/gcc/xtensa-esp32 -elf/5.2.0/include-fixed -Os -imacros/home/swapna/Documents/Workspace/Zephyr_ESP/zp/zephyr/build/zephyr/include/generated/autoconf.h -ffreestanding -fno-common -g -xassembler -with-cpp -imacros/home/swapna/Documents/Workspace/Zephyr_ESP/zp/zephyr/include/toolchain/zephyr_stdint。h -D_ASMLANGUAGE -Wall -Wformat -Wformat-security -Wno-format-zero-length -Wno-main -Wno-pointer-sign -Wpointer-arith -Wno-unused-but-set-variable -Werror=implicit-int - fno-asynchronous-unwind-tables -fno-pie -fno-pic -fno-strict-overflow -fno-reorder-functions -fno-defer-pop -ffunction-sections -fdata-sections -mlongcalls -nostdinc -MD -MT 模块/xtensa/CMakeFiles/modules_xtensa_hal.dir/src/hal/cache_asm.S.obj -MF modules/xtensa/CMakeFiles/modules_xtensa_hal.dir/src/hal/cache_asm.S.obj.d -o modules/xtensa/CMakeFiles/modules_xtensa_hal .dir/src/hal/cache_asm.S.obj -c /home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/xtensa/src/hal/cache_asm.S小号小号obj -c /home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/xtensa/src/hal/cache_asm.Sobj -c /home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/xtensa/src/hal/cache_asm.S
/home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/xtensa/src/hal/cache_asm.S:汇编程序消息:
/home/swapna/Documents/Workspace/Zephyr_ESP/zp/modules/hal/xtensa/src /hal/cache_asm.S:186:错误:未知操作码或格式名称“declfunc”

0 投票
1 回答
847 浏览

bluetooth - Zephyr OS:通用 BLE API

我正在尝试编写一个小的 Zephyr OS 运行时系统,它使用 BLE 在我的两个 nrf52840dk 板之间进行通信。在过去的几天里,我一直在阅读 BLE,并熟悉了 GATT 服务器/客户端。

我最好使用的 API 如下所示:

我设法做的是通过将我的系统限制为两台设备来实现类似的效果,一台是 GATT 服务器,一台是 GATT 客户端。

服务器公开客户端扫描和订阅的一个属性。服务器可以通过通知客户端属性的更改来向客户端“发送”消息,并且可以通过客户端向属性发出写入请求来发送消息。

客户端可以通过写入属性向服务器发送消息,同时它可以通过服务器接收消息,通知它订阅的属性有更新。

我认为这些原语必须存在于 GATT 层之下(在 HCI 层中?),但 Zephyr 文档在大多数地方都非常稀疏。在此之后,我有两个问题。

  • 我对 BLE 的理解是否正确,BLE 设备之间的大多数通信都是通过此类 GATT 服务器/客户端关系或通过 BLE 网状网络进行的?
  • 任何指向关于我在哪里可以阅读上面描述的更通用 API 的信息的指针(或者如果它已经存在,指向那个的指针)都会有所帮助。

编辑:我接受了优素福的回答。他的回答连同它下面的评论充分回答了我的问题。

0 投票
1 回答
782 浏览

zephyr-rtos - Zephyr cmake 错误`字符串子命令 REGEX,模式 MATCH 需要至少 5 个参数来命令。

嗨,我正在尝试运行入门指南,但我遇到了问题,我目前在 zephyr 目录中,我想运行示例,所以我尝试west build -p auto -b qemu_x86 samples/basic/blinky但它给出了

有一个google colab试图重现该问题。

0 投票
1 回答
1267 浏览

zephyr-rtos - ZephyrOS:如何将驱动程序模块添加到树外项目

我还没有找到关于如何将驱动程序模块添加到树外 Zephyr 项目的明确信息,所以我将自己提供答案。

0 投票
1 回答
605 浏览

openssl - OpenSSL 服务器数据包被分割成每个数据包 270 字节

问题
我正在尝试使用 OpenSSL 分析 DTLS 1.2 握手(通过 IPv6)s_servers_client使用 Wireshark 捕获它。握手按预期工作,但无论出于何种原因,服务器数据包都会被分割成一个非常小的大小(270 字节)。

这是握手的流程,括号中的数据包大小:

似乎服务器不会发送任何超过 270 字节的数据包。但是可以清楚的看到,客户端没有这样的限制,将客户端证书一包发送。

如何复制行为
打开终端(Ubuntu 18.04)并使用此命令启动服务器:

打开另一个终端并启动客户端:

该项目需要通过 IPv6 进行 DTLS 会话,无需任何票证。密码套件需要是 ECDHE-ECDSA-AES128-CCM8 并且客户端需要由服务器验证。
为了排除源自网络的任何错误,我将环回地址分配给服务器。loopback接口的MTU是65536,应该不是罪魁祸首。

不成功的尝试我尝试在服务器和客户端上
设置 flagsmax_send_frag和9000 但这也没有改变任何东西。但是,使用 TLS 1.2 可以在不分割服务器证书的情况下工作。不幸的是,我们的项目需要D TLS。split_send_fragsread_buf

0 投票
1 回答
325 浏览

build - 尝试切换板目标时 Zephyr 构建错误

我正在尝试为板 B 构建适用于板 A 的 zephyr 示例代码(即构建是为代码 A 编写的,但我需要更改它以便它与板 B 一起使用)。我不断遇到这个错误,我不知道如何克服它。我已将 、 和 子文件夹替换为/board适用/soc/dts我的电路板的文件。我更改了 Makefile 以针对我的板,它成功地找到了它。

这是错误:

我已经检查以确保soc.h#include <devicetree.h>. 我不确定我现在还能尝试什么,因此不胜感激。谢谢!

0 投票
1 回答
1245 浏览

systemtime - 如何在 Zephyr RTOS 中获取系统时间?

我正在寻找从用户空间区域获取在 Zephyr RTOS(2.0) 中显示的当前系统时间的方法。我正在使用gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu工具链。GCC 支持类似于'localtime ' 的东西。

0 投票
1 回答
870 浏览

c++ - 使用 googletest 将 c++ 代码单元测试到 Zephyr

我们开始使用 Zephyr 并决定使用 C++。我现在正试图弄清楚如何对代码进行单元测试。据我了解,已经集成到 zephyr/nrfconnect 中的 ztest 和 unity 不支持 c++。我决定使用googletest。我创建了一个自定义模块来下载、编译和集成到 zephyr。我现在有一些麻烦。

我的项目结构如下所示:

测试/按钮的 CMakeList 如下所示:

module/googletest 的 CMakeLists.txt 看起来像:

CMakeLists.txt.in

GoogleTest 框架似乎可以正确编译,但是在链接时,我有很多错误:

有人能帮我吗?

西里尔