新闻详情

新闻详情

首页 / 资讯中心 / 详情

RT-Thread 在 NUCLEO-STM32L552ZE-Q 开发板上的 BSP 上手与移植指南

发布时间:2026/9/28 2:19:08来源:尧图网络
RT-Thread 在 NUCLEO-STM32L552ZE-Q 开发板上的 BSP 上手与移植指南
操作系统嵌入式物联网嵌入式OSRTOS【免费下载链接】rt-threadRT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/项目地址https://gitcode.com/gh_mirrors/rt/rt-thread点击查看免费下载本篇指南基于 RT-Thread 仓库中bsp/stm32/stm32l552-st-nucleo板级支持包BSP围绕 STM32L552ZE 这颗 Arm Cortex-M33 超低功耗 MCU系统讲解 BSP 的软硬件资源、外设支持现状、快速上手的编译下载流程以及通过 ENV 工具进阶配置扩展驱动的方法。读完本文你将能够独立完成该 BSP 的工程拉取、MDK5/IAR/GCC 三套工具链的构建、串口控制台的验证并结合源码理解时钟树、堆内存划分与 LPUART1 映射等底层实现细节。1. 开发板与 MCU 概览NUCLEO-L552ZE-Q 是 ST 官方 Nucleo-144 系列开发板核心芯片为 STM32L552ZE隶属于 STM32L5 系列。该系列基于 Arm Cortex-M33 内核是 ST 面向超低功耗与安全场景的主力产品线。BSP 文档对芯片能力的描述如下详见 README.md主频最高 110 MHzCortex-M33 内核集成单精度 FPU支持全部 Arm 单精度数据处理指令与数据类型、完整 DSP 指令集、TrustZone 感知支持以及内存保护单元MPU可用于增强应用安全性存储最高 512 KB Flash双 Bank、支持读-写同时进行、256 KB SRAM其中 64 KB 带硬件奇偶校验并支持 FSMC 外部存储器接口与 OCTOSPI 接口安全特性Arm TrustZoneARMv8-M mainline 安全扩展、最多 8 个可配置 SAU 区域、RDP 读保护、主动篡改检测、安全固件升级支持、安全隐藏保护电源管理D1/D2/D3 三个独立电源域1.62~3.6 V 供电支持 Sleep、Stop、Standby、VBAT 四种低功耗模式Standby 模式在 Backup SRAM 关闭、RTC/LSE 开启时功耗仅 2.95 μA时钟内部振荡器 64 MHz HSI、48 MHz HSI48、4 MHz CSI、32 kHz LSI外部 4~48 MHz HSE 与 32.768 kHz LSE3 个 PLL1 个系统时钟 2 个内核时钟支持分数模式外设规模最多 35 个通信外设4× I2C、4× USART 4× UART 1× LPUART、6× SPI、4× SAI、2× CAN/CAN FD、2× USB OTG、Ethernet MAC、SD/SDIO/MMC 等、11 个模拟外设3× 16 位 ADC、2× 12 位 DAC、2× 比较器、2× 运放、DFSDM、最多 22 个定时器与看门狗、LCD-TFT 控制器与 DMA2D 图形加速器。BSP 中 board/board.c 的SystemClock_Config()函数给出了实际的时钟树配置开启 MSIRCC_MSIRANGE_6、LSE 与 HSI48系统时钟 PLL 以 MSI 为源RCC_PLLSOURCE_MSIPLLM1、PLLN55、PLLPDIV7最终得到 110 MHz 的 SYSCLKAHB/APB1/APB2 均不分频Flash 等待周期设为 5FLASH_LATENCY_5。这与“110 MHz 主频”的芯片规格一致可作为理解该 BSP 时钟配置的入口。开发板外观图见 figures/board.png更多板级细节如 Arduino 接口、ST Zio 与 morpho 连接器可参考 README_zh.md 中的介绍。2. BSP 目录结构与外设支持现状该 BSP 目录结构如下相对仓库根目录bsp/stm32/stm32l552-st-nucleo/ ├── applications/ # 用户应用main.c 闪烁 LED 例程 ├── board/ # 板级支持board.c/h、CubeMX_Config、linker_scripts ├── figures/ # 文档配图board.png ├── project.uvprojx # MDK5 工程 ├── project.ewp/eww # IAR 工程 ├── SConscript / SConstruct# scons 构建脚本 ├── Kconfig # BSP 顶层 Kconfig └── rtconfig.h / rtconfig.py当前 BSP 默认开启的外设支持情况来自 README_zh.md 的外设支持表格板载外设支持情况备注USB 转串口支持板载 ST-LINK 虚拟串口片上外设支持情况备注GPIO支持引脚驱动框架UART支持调试串口为 LPUART1默认开启的硬件驱动在 rtconfig.h 中有直接体现BSP_USING_GPIO、BSP_USING_UART、BSP_USING_LPUART1均被定义且控制台设备名称为RT_CONSOLE_DEVICE_NAME lpuart1即系统启动后 finsh/MSH 命令行运行在 LPUART1 上。此外 board/Kconfig 还预留了BSP_UART1_RX_USING_DMA依赖BSP_USING_UART1 RT_SERIAL_USING_DMA选项默认关闭供需要 DMA 接收场景时开启。3. 快速上手把 RT-Thread 跑起来3.1 编译前的关键一步拉取 HAL 与 CMSIS 库本 BSP 不直接在仓库内携带 STM32L5 的 HAL 驱动而是通过软件包方式引入。因此在执行编译工作前必须先打开 ENV 工具执行以下命令否则无法通过编译pkgs --update该命令会依据 rtconfig.h 中声明的软件包依赖PKG_USING_STM32L5_HAL_DRIVER、PKG_USING_STM32L5_CMSIS_DRIVER、PKG_USING_CMSIS_CORE拉取对应的 HAL 库与 CMSIS 库到packages/目录。3.2 硬件连接使用数据线连接开发板ST-LINK USB 口到 PC打开电源开关。工程默认配置使用 ST-LINK 仿真器下载程序因此无需额外接线。3.3 编译与下载双击 project.uvprojx 打开 MDK5 工程点击编译并下载程序到开发板。除 MDK5 外本 BSP 同时提供 IAR 工程project.ewp/project.eww并支持 GCC 工具链三种环境均可用。对于 GCC 环境rtconfig.py 中配置了arm-none-eabi-前缀的交叉编译工具链编译参数为-mcpucortex-m33 -mthumb -mfpufpv5-sp-d16 -mfloat-abihard链接脚本指向 board/linker_scripts/link.lds默认构建 debug 版本-O0 -gdwarf-2 -g构建产物为rtthread.bin。3.4 运行结果验证下载成功之后系统自动运行板载 LEDPC7 绿色 LED见 applications/main.c 中LED0_PIN GET_PIN(C, 7)以 500 ms 周期闪烁。将开发板串口ST-LINK 虚拟串口连接到 PC在终端工具中打开对应串口115200-8-1-N即波特率 115200、8 数据位、1 停止位、无校验复位设备后可以看到 RT-Thread 启动信息与 MSH 命令行\ | / - RT - Thread Operating System / | \ 4.0.1 build Mar 5 2019 2006 - 2019 Copyright by rt-thread team msh 出现msh 提示符即代表系统已正常运行。main 线程中的 LED 闪烁循环rt_pin_writert_thread_mdelay也同时验证了 GPIO 驱动与线程调度的正确性。4. 进阶使用通过 ENV 开启更多外设此 BSP 默认只开启了 GPIO 与 LPUART1如需使用更多高级功能UART1、DMA 等可按照以下步骤利用 ENV 工具配置在 BSP 目录bsp/stm32/stm32l552-st-nucleo下打开 ENV 工具输入menuconfig命令配置工程配置完成后保存退出。BSP 的菜单结构由 board/Kconfig 定义On-chip Peripheral Drivers菜单下可开关 GPIOBSP_USING_GPIO默认开启联动RT_USING_PIN、UARTBSP_USING_UART默认开启联动RT_USING_SERIAL、LPUART1BSP_USING_LPUART1默认开启并可配置 UART TX 超时BSP_STM32_UART_V1_TX_TIMEOUT默认 2000与 UART1 RX DMA默认关闭输入pkgs --update命令更新软件包输入scons --targetmdk4/mdk5/iar命令重新生成对应工具链的工程文件。需要注意的是顶层 Kconfig 定义了芯片型号与板级型号SOC_STM32L552ZE选中SOC_SERIES_STM32L5BOARD_STM32L552_NUCLEO选中BOARD_SERIES_STM32_NUCLEO_144并引用../libraries/Kconfig与board/Kconfig因此修改后的配置会同步生成新的 rtconfig.h。STM32 系列外设驱动的详细配置方法可参考 STM32 系列 BSP 外设驱动使用教程。5. 关键底层实现解析5.1 调试串口 LPUART1 的引脚映射BSP 的调试串口为 LPUART1引脚映射如下见 README_zh.md 注意事项与 CubeMX 生成的 stm32l5xx_hal_msp.c 中的 GPIO 配置一致PG7 ------ LPUART1_TX PG8 ------ LPUART1_RX在stm32l5xx_hal_msp.c中HAL_UART_MspInit对 LPUART1 的时钟源选择为RCC_LPUART1CLKSOURCE_PCLK1并使能__HAL_RCC_LPUART1_CLK_ENABLE()GPIO 复用配置为GPIO_AF8_LPUART1。控制台设备名lpuart1rtconfig.h 中RT_CONSOLE_DEVICE_NAME与之对应系统启动后的打印输出即走此串口。5.2 内存布局与堆空间划分board/board.h 定义了该 BSP 的内存参数Flash起始地址0x08000000容量 512 KBSRAM1起始地址0x20000000容量 256 KB堆起点HEAP_BEGIN根据工具链不同分别取 MDK 的Image$$RW_IRAM1$$ZI$$Limit、IAR 的CSTACK段末尾、GCC 的__bss_end堆终点为STM32_SRAM1_END。GCC 链接脚本 link.lds 中 ROM 定义在0x08000000512 KBRAM 定义在0x20000000。脚本中还包含了 RT-Thread 特有的段FSymTab/VSymTabfinsh 命令符号表、SORT(.rti_fn*)组件自动初始化段以及.init_arrayC 构造函数段这是 RT-Thread 组件自动初始化机制RT_USING_COMPONENTS_INIT在链接层面的支撑。5.3 应用入口与 LED 例程applications/main.c 是用户应用入口演示了最基础的 GPIO 操作#define LED0_PIN GET_PIN(C, 7) int main(void) { int count 1; rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT); while (count) { rt_pin_write(LED0_PIN, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(LED0_PIN, PIN_LOW); rt_thread_mdelay(500); } return RT_EOK; }该例程使用 RT-Thread 的 pin 驱动框架rt_pin_mode/rt_pin_write对应 rtconfig.h 中的RT_USING_PIN配合rt_thread_mdelay完成线程内延时展示了 BSP 默认 GPIO 驱动的最小可用闭环。6. 注意事项与常见问题务必先执行pkgs --update未拉取 STM32L5 HAL 与 CMSIS 软件包会导致编译失败这是本 BSP 与自带驱动库 BSP 的最大区别串口参数固定为 115200-8-1-N使用任意终端工具如 MobaXterm、PuTTY、串口调试助手时需保持一致LPUART1 引脚不可随意更换TX/RX 分别固定映射到 PG7/PG8由 CubeMX 工程 CubeMX_Config.ioc 统一维护若需修改请同步更新 HAL MSP 配置内核为 Cortex-M33 带 FPUGCC 编译参数-mfpufpv5-sp-d16 -mfloat-abihard与 IAR 的--fpuVFPv5_sp均针对该内核的浮点特性配置更换工具链时注意保持一致更多 STM32 Nucleo-144 系列 BSP 的通用说明务必阅读 STM32_Nucleo-144_BSP_IntroductionREADME 中标注为 Must-Read。7. 参考文档与延伸阅读文档说明STM32_Nucleo-144_BSP_Introduction如何在 STM32 Nucleo-144 系列板卡上运行 RT-Thread必读STM32 系列 BSP 外设驱动使用教程进阶外设驱动的详细配置教程STM32 系列 BSP 制作教程如何为 STM32 新板卡制作 BSPSTM32 系列外设驱动添加指南为新外设添加驱动的方法本 BSP 由维护人 liukang 提供基于 CubeMX 工程与 RT-Thread HAL 驱动框架搭建适合作为 STM32L5 系列Cortex-M33 TrustZone在 RT-Thread 上的入门与二次开发起点。赞分享操作系统嵌入式物联网嵌入式OSRTOS【免费下载链接】rt-threadRT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/项目地址https://gitcode.com/gh_mirrors/rt/rt-thread点击查看免费下载相关推荐RT-Thread 在 NUCLEO-L476RG 开发板上的 BSP 移植与使用指南RT Thread 在 NUCLEO L476RG 开发板上的 BSP 移植与使用指南 NUCLEO L476RG 是 ST 官方推出的基于 STM32L476操作系统嵌入式物联网嵌入式OSRTOS扫描件变可搜索文档用 Umi-OCR 生成双层PDF的四步流程扫描件变可搜索文档用 Umi OCR 生成双层PDF的四步流程 你手边是不是也有一批扫描版 PDF——合同、论文、旧书只能一页页翻CtrlF 一按毫无反操作系统嵌入式物联网嵌入式OSRTOSRT-Thread 在 NUCLEO-H503RB 开发板上的 BSP 移植与使用指南RT Thread 在 NUCLEO H503RB 开发板上的 BSP 移植与使用指南 本篇指南以 RT Thread 仓库中 bsp/stm32/stm32h操作系统嵌入式物联网嵌入式OSRTOS上一篇Grad-CAM PyTorch 终极指南5分钟掌握神经网络可视化技术下一篇【亲测免费】 Kiwix Android 开源项目搭建与使用指南创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

图像分割选型与实战:语义、实例、全景分割全流程解析 2026/9/28 3:06:14

图像分割选型与实战:语义、实例、全景分割全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
番外A2-用LangChain框架实现ReAct Agent 2026/9/28 3:06:00

番外A2-用LangChain框架实现ReAct Agent

文章目录项目概述Agent与链的区别工具与工具包:Agent的武器库今天要聊什么项目结构核心文件说明1. 工具定义 - tools.py 📝tool装饰器怎么用工具说明2. Agent配置 - agent.py ⚙️ReAct Prompt模板Prompt占位符说明Agent创建函数配置说明ReAct模式到底怎…

阅读更多 →
Open CoDesign 品牌参考实战:用 DESIGN.md 复刻 Spotify 风格的设计系统 2026/9/28 3:06:00

Open CoDesign 品牌参考实战:用 DESIGN.md 复刻 Spotify 风格的设计系统

人工智能AI 应用桌面应用 【免费下载链接】open-codesign Open-source Claude Design alternative. One-click import your Claude Code / Codex API key. Prompt → prototype / slides / PDF. Multi-model (Claude, GPT, Gemini, Kimi, GLM, Ollama). BYOK, local-first, MIT…

阅读更多 →
Longhorn 官方 Helm Chart 部署指南:Kubernetes 分布式块存储的安装、配置与卸载 2026/9/28 3:05:59

Longhorn 官方 Helm Chart 部署指南:Kubernetes 分布式块存储的安装、配置与卸载

云原生存储高可用容器编排 【免费下载链接】longhorn Cloud-Native distributed storage built on and for Kubernetes 项目地址: https://gitcode.com/gh_mirrors/lo/longhorn 点击查看 免费下载 导读 本文以 Longhorn 项目仓库中的 chart/app-readme.md 与 char…

阅读更多 →
手腕骨折检测:YOLOv8引入注意力机制的完整实战指南 2026/9/28 3:05:52

手腕骨折检测:YOLOv8引入注意力机制的完整实战指南

简介:面向医学影像分析与计算机视觉开发者,这是一套基于Pytorch与YOLOv8、融合注意力机制的手腕骨折检测实战项目。在传统YOLOv8基础上引入注意力模块,使模型能聚焦腕部关键区域,提升骨折特征识别精度与效率,适用于辅助…

阅读更多 →
深度强化学习股票交易策略:从MDP设计到回测避坑指南 2026/9/28 3:05:52

深度强化学习股票交易策略:从MDP设计到回测避坑指南

简介:一套基于深度强化学习的自动化股票交易策略设计源码,面向量化研究者、金融分析师和具备Python基础的开发者,解决人工交易受情绪影响、难以适应市场动态变化的问题。项目用PPO、A2C、DDPG三种Actor-Critic算法训练交易代理,覆…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉