ARTICLE DETAIL

资讯详情

深耕编程入门与网站建设的一线实战洞察。

Zephyr 上的 RAK3172 WisDuo LoRa 板级支持:STM32WLE5CC 硬件解析、烧录调试与 hello_world 实战

Zephyr 上的 RAK3172 WisDuo LoRa 板级支持:STM32WLE5CC 硬件解析、烧录调试与 hello_world 实战 操作系统嵌入式RTOS物联网【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址https://gitcode.com/GitHub_Trending/ze/zephyr点击查看免费下载本篇技术指南围绕 Zephyr RTOS 仓库中 RAK3172 板级定义boards/rakwireless/rak3172/doc/index.rst展开完整梳理该 WisDuo LPWAN 模块的硬件资源、设备树与分区布局、支持的驱动功能并给出从源码构建、pyOCD 烧录到串口验证hello_world的完整实操流程。读完本文你将能够在 Zephyr 环境下独立完成 RAK3172 应用的构建、烧录与串口调试并理解其时钟树、LoRa 射频前端与 MCUboot 分区等底层实现细节。板级概览一颗邮票模块承载完整 LoRa 节点RAK3172 是 RAKwireless 推出的 WisDuo LPWAN 邮票式stamp模块核心是一颗STM32WLE5CC芯片。该板级支持定义位于boards/rakwireless/rak3172/其compatible字符串为stm32,rak3172_stm32wl见 rak3172.dts。从板级 YAMLrak3172.yaml可以看到官方声明的能力矩阵项目数值 / 说明类型mcuARM Cortex 架构RAM64 KBFlash256 KB支持的驱动counter、gpio、i2c、nvs、spi、uart、watchdog、lora工具链zephyr、gnuarmemb模块的硬件特征如下主控STM32WLE5CCLPWAN 专用单核 Cortex®-M4主频 48 MHz存储256-Kbyte Flash 64-Kbyte SRAM射频LoRa® 调制 RF 收发器安全硬件 AES256 加密引擎 真随机数生成器TRNG天线SMA 连接器直连 LoRa 天线IO 接口UART、I2C、SPI、SWD评估底板breakout board以 RAK3172 邮票模块为核心将模块引脚扇出到标准的2.54 mm 排针方便直接访问模块全部引脚也便于快速评估模块各项能力。板卡引脚分布如下图所示从板级源码角度看RAK3172 有两块 LED 指示灯定义于 rak3172.dts绿色 LEDGPIOA0与蓝色 LEDGPIOA1并已通过aliases将led0指向绿色 LED应用中可直接使用标准 LED API 操作。设备树剖析时钟树、串口与外围接口板级设备树文件 rak3172.dts 及其公共定义 dts/arm/rakwireless/rak3172.dtsi 共同描述了整块板卡的硬件拓扑下面逐层拆解。时钟树48 MHz 系统主频系统时钟由 PLL 从HSE 32 MHz晶振倍频得到。在公共 dtsi 中clk_hse与clk_lse均被使能LSE 频率固定为 32768 Hz用于驱动 RTC 与低功耗定时器pll配置为div-m 1、mul-n 6、div-r 4、div-q 4以 HSE 为时钟源rcc将系统时钟设定为DT_FREQ_M(48)即 48 MHzlptim1被选为 Zephyr 系统定时器zephyr,system-timer时钟源来自 LSE适合低功耗场景rtc同样以 LSE 为时钟源并处于okay状态串口usart1 作默认控制台chosen节点将zephyr,console与zephyr,shell-uart均指向usart1PB6/PB7其波特率默认配置为 115200。usart2PA2/PA3同样以 115200 使能可作为扩展串口使用。其他外围接口I2C2SCLPA12、SDAPA11时钟频率配置为I2C_BITRATE_FAST400 kHzSPI1NSSPA4、SCKPA5、MISOPA6、MOSIPA7看门狗iwdg独立看门狗已使能并经aliases暴露为watchdog0安全外设aesAES256 硬件加密与rng真随机数发生器均处于okay状态LoRa 射频前端LoRa 收发器挂载于subghzspi总线上公共 dtsi 中定义了射频前端控制引脚与发射功率参数tx-enable-gpiosPC13FE_CTRL1rx-enable-gpiosPB8FE_CTRL2power-amplifier-output rfo-hprfo-hp-max-power 22最大 22 dBm 发射功率射频驱动实现在 drivers/lora/native/sx126x/含 STM32WL 专用 HAL sx126x_hal_stm32wl.c此外也提供了基于 LoRaMAC-node 的 drivers/lora/loramac-node/sx126x.c 实现可供参考。Flash 分区面向 MCUboot 的布局flash0定义了四段分区rak3172.dts256 KB Flash 的分配如下分区起始地址大小用途boot_partition0x0000000032 KBmcuboot只读slot0_partition0x00008000108 KBimage-0主镜像槽slot1_partition0x00023000108 KBimage-1升级镜像槽storage_partition0x0003e0008 KB存储分区NVS 等chosen中zephyr,code-partition指向slot0_partition说明该板默认采用 MCUboot 双槽 OTA 升级方案应用镜像烧写至 slot0。支持的驱动功能借助板级 YAML 与设备树RAK3172 在 Zephyr 中支持以下子系统uartusart1/usart2115200 默认波特率usart1 同时承担控制台与 shell 角色gpio全部引脚可访问含两路板载 LEDi2cI2C2 快速模式 400 kHzspiSPI1 四线全功能counterlptim1 低功耗定时器同时兼任系统定时器watchdogiwdg 独立看门狗nvs基于 storage 分区的非易失存储lorasub-ghz 射频收发rfo-hp最大 22 dBm默认 defconfigrak3172_defconfig已开启CONFIG_SERIAL、CONFIG_GPIO、CONFIG_CLOCK_CONTROL、CONFIG_CONSOLE、CONFIG_UART_CONSOLE并启用CONFIG_ARM_MPU与CONFIG_HW_STACK_PROTECTION以提供内存保护与硬件栈保护。烧录与调试SWD 探针 pyOCDRAK3172 没有板载调试器需要通过外部调试探针连接SWD 引脚进行烧录与调试。Zephyr 侧已在 board.cmake 中预配置好三套烧录工具参数pyOCD目标芯片stm32wle5ccux并附加cmsis_dap.limit_packets1以规避部分 CMSIS-DAP 探针的传输限制J-Link设备名STM32WLE5CC速率 4000 kHz烧录后自动复位STM32CubeProgrammerSWD 端口、硬件复位模式使用 pyOCD 烧录前需要先安装 STM32WL 的器件支持包该芯片不在 pyOCD 默认器件库内$ pyocd pack --update $ pyocd pack --install stm32wl构建并烧录 hello_world以hello_world示例演示完整流程。首先进入 Zephyr 环境构建并烧录$ west build -b rak3172 samples/hello_world $ west flashwest flash会根据board.cmake中配置的 runner 自动调用 pyOCD 完成烧录若使用 J-Link 或 STM32CubeProgrammer也可显式指定$ west flash -r jlink $ west flash -r stm32cubeprogrammer烧录完成后用串口终端连接开发板。默认情况下usart1通过板载 USB 转 TTL 转换器暴露给主机串口参数如下波特率115200数据位8校验位None停止位1连接串口后应看到如下输出Hello World! rak3172/stm32wle5xx其中rak3172/stm32wle5xx表明当前运行的是 RAK3172 板级目标SoC 为 STM32WLE5 系列至此应用已在目标板上成功运行。小结RAK3172 是 Zephyr 生态中一个开箱即用的 LoRa 节点参考平台设备树层面已完整覆盖 48 MHz 时钟树、usart1 控制台、I2C/SPI、看门狗、AES/RNG 与 rfo-hp 射频前端分区布局面向 MCUboot 双槽 OTA烧录链路同时支持 pyOCD、J-Link 与 STM32CubeProgrammer。开发者只需west build -b rak3172即可将任意 Zephyr 应用含 LoRa 相关 sample快速部署到该模块上进行评估与产品原型验证。赞分享操作系统嵌入式RTOS物联网【免费下载链接】zephyrPrimary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.项目地址https://gitcode.com/GitHub_Trending/ze/zephyr点击查看免费下载相关推荐Zephyr MAX32650FTHR 开发板支持详解硬件特性、烧录与调试实战Zephyr MAX32650FTHR 开发板支持详解硬件特性、烧录与调试实战 本篇基于 Zephyr 仓库中 MAX32650FTHR 开发板的板级文档操作系统嵌入式RTOS物联网Zephyr MadMachine SwiftIO 开发板支持详解mm_swiftio 与 mm_feather 的硬件、烧录与调试实战Zephyr MadMachine SwiftIO 开发板支持详解mm_swiftio 与 mm_feather 的硬件、烧录与调试实战 本文围绕 Zephy操作系统嵌入式RTOS物联网Zephyr 中的 NXP LPCXpresso54114 板级支持硬件、引脚复用、烧录与调试实战指南Zephyr 中的 NXP LPCXpresso54114 板级支持硬件、引脚复用、烧录与调试实战指南 本篇指南围绕 Zephyr 仓库中 LPCXpress操作系统嵌入式RTOS物联网创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表