使用 Nordic Connect SDK (NCS) 而不是标准 Zephyr 的优势是什么
1:nRF Connect SDK 将 Memfault SDK 嵌入为模块:
- name: memfault-firmware-sdkpath: modules/lib/memfault-firmware-sdkrevision: 1.18.0remote: memfault
在不更新 nRF Connect SDK 的情况下更新 Memfault SDK,您可以在应用程序的 west.yml 中添加 Memfault SDK 作为模块:
manifest:remotes:- name: nrf-connect-sdkurl-base: https://github.com/nrfconnect# Add the Memfault GitHub repo- name: memfaulturl-base: https://github.com/memfaultprojects:- name: sdk-nrfremote: nrf-connect-sdkpath: nrfrevision: v3.0.1import: true# Explicitly add the Memfault SDK, to override the version in the sdk-nrf manifest- name: memfault-firmware-sdkpath: modules/lib/memfault-firmware-sdkrevision: 1.25.0remote: memfaultself:path: my_example_application
Zephyr 的 west 工具将使用明确列出的 memfault-firmware-sdk
模块版本,而不是由 nrf-connect-sdk
模块指定的版本。参考:
https://docs.zephyrproject.org/latest/develop/west/manifest.html#example-1-3-downstream-of-a-zephyr-release-with-module-fork
更新 West Manifest 后,运行👉 west update
👈来拉取 Memfault SDK。仔细检查在 modules/lib/
下是否看到 SDK 源文件夹 memfault-firmware-sdk
。您可以使用以下命令手动检查 SDK 的版本(从 West 工作区根目录运行):
http://# open the Memfault Firmware SDK commit in the default web browser: ❯ open https://github.com/memfault/memfault-firmware-sdk/commit/$(git -C modules/lib/memfault-firmware-sdk rev-parse HEAD)
虽然 Zephyr 是一个强大的实时操作系统,并且是 Nordic Connect SDK 的基础操作系统,但直接使用 NCS 为针对 Nordic MCU 开发的开发者提供了几个优势:
-
优化 Memfault 集成:Nordic 与 Memfault 紧密合作,确保 NCS 与 Memfault 的无缝集成。这种合作有助于确保最新的 Memfault 兼容性功能能够及时融入 NCS 发布版本中。
-
简化 Memfault 实现:NCS 为 Memfault 提供内置支持,使集成过程简单直接,所需开发工作量最小。这使开发者能够快速在他们的 nRF MCU 项目中利用 Memfault 的调试和远程监控功能。
-
硬件兼容性:Nordic 对 NCS 与其硬件平台进行严格的测试和验证。这降低了在为 nRF MCU 开发时遇到未预见的硬件特定问题的风险。
-
最新的 Zephyr 基础:Nordic 通过定期整合主线 Zephyr 项目的更新来维护 NCS。这确保了开发者在使用 NCS 时能够受益于最新的 Zephyr 功能和错误修复。通常,NCS 发布频率为每年 2-4 次
https://www.nordicsemi.com/Products