nRF52832学习笔记(1)-- nRF connect SDK基础知识

nRF connect SDK 结构和内容

nRF connect SDK是一个可扩展的统一软件开发工具包,用于构建Nordic Semiconductor nRF32、nRF53和nRF91系列无线设备的低功耗无线应用程序。他提供一个可扩展的框架,用于为内存受限的设备构建大小优化的软件,以及为更高级的设备和应用程序构建强大而复杂的软件。

他集成了zephyr实时操作系统和广泛的完整应用程序,示例和协议堆栈,如 Bluetooth Low Energy, Bluetooth mesh, Matter, Thread/Zigbee and LTE-M/NB-IoT/GPS, TCP/IP。它还包括中间件,如CoAP、MQTT、LwM2M、各种库、硬件驱动程序、用于安全性的可信固件- m和安全引导加载程序(MCUBoot)。nRF connect SDK的体系结构如下图所示
nRF52832学习笔记(1)-- nRF connect SDK基础知识_第1张图片
Zephyr RTOS和第三方组件(例如:MCUBoot, Trusted Firmware-M)在上图中以深蓝色显示。

Zephyr RTOS是一款开源的实时操作系统,适用于联网和资源受限的嵌入式设备。它包括一个调度程序,确保可预测/确定的执行模式,并抽象出时间需求。它还提供了一组丰富的基本库和中间件,可以简化开发并帮助缩短产品推向市场的时间。Zephyr RTOS是高度可配置的,并支持可扩展配置,从内存受限设备的非常小的配置(最小8千字节,例如,简单的LED闪烁应用程序)到功能强大,功能丰富,高处理能力设备(多mb内存)的大内存配置。

nRF Connect SDK为Nordic的所有设备和软件组件提供了一个单一的代码库。它简化了从一个应用程序到另一个应用程序的模块、库和驱动程序的移植,从而减少了开发时间。通过允许开发人员为他们的应用程序挑选必要的软件组件,可以保证高内存效率。nRF Connect SDK公开托管在GitHub上。

**在内部,nRF Connect SDK代码被组织成四个主要的存储库:

  • nrf – Applications, samples, connectivity protocols (Nordic)
  • nrfxlib – Common libraries and stacks (Nordic)
  • Zephyr – RTOS & Boardconfigurations (open source)
  • MCUBoot – Secure Bootloader (open source)**

除了四个主要的存储库之外,还有其他存储库,如TrustedFirmware-M存储库和Matter存储库。

下图显示了nRF Connect SDK中的工具链,该工具链基于Zephyr工具链。可以看到一组不同的工具,每个工具在应用程序的创建中扮演着不同的角色,从配置系统到构建系统。

nRF52832学习笔记(1)-- nRF connect SDK基础知识_第2张图片Kconfig(后续更新)生成配置整个系统的定义,例如在应用程序中包含哪个无线协议或哪些库。Devicetree(后续更新)描述了硬件。然后CMake使用来自Kconfig和devicetree的信息来生成构建文件,Ninja将使用这些文件来构建程序。GCC编译器系统用于创建可执行文件。

源代码(.c)和通过Kconfig (.conf)实现的配置系统的高度解耦,以及通过devicetree (*.dts)实现的硬件描述系统的高度解耦,使得在不同的硬件和不同的配置上使用相同的应用程序源代码变得非常容易,而且只需进行最小的更改。这对易于移植性和可维护性有很大的影响。

nRF52832学习笔记(1)-- nRF connect SDK基础知识_第3张图片 到此介绍完了nRF connect SDK的内容和结构。后续进入实际操作部分,通过VSCode来构建nRF connect SDK。

你可能感兴趣的:(Nordic,nRF52,DK,NRF52832学习笔记,学习,经验分享)