尧图网络科技YAOTU DIGITAL 获取报价
获取报价
首页 / 资讯中心 / 文章详情

RT-Thread 在 STM32F446 Nucleo-144 开发板上的 BSP 上手指南:资源、快速启动与进阶配置

发布时间:2026/9/27 10:46:47

资讯中心
01
ARTICLE

RT-Thread 在 STM32F446 Nucleo-144 开发板上的 BSP 上手指南:资源、快速启动与进阶配置

RT-Thread 在 STM32F446 Nucleo-144 开发板上的 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 仓库中 NUCLEO-F446ZE 开发板 BSP 说明 为主体结合 BSP 英文版 README 与 STM32 Nucleo-144 通用 BSP 文档系统讲解 STM32F446ZECortex-M4 180MHz在 RT-Thread 下的板级支持包使用全流程。读者将掌握NUCLEO-F446ZE 的硬件资源与外设支持现状、MDK5/IAR/GCC 三套工程从编译下载到串口观测的完整路径以及通过 ENV menuconfig 开启更多片上外设的进阶方法。开发板与 MCU 资源介绍MCUSTM32F446ZE 核心规格NUCLEO-F446ZE 搭载的 STM32F446ZE 属于 STM32F446xC/E 系列其核心是基于 Arm® Cortex®-M4 的 32 位 RISC 内核最高主频 180 MHz关键特性如下内核Cortex-M4 CPU 带单精度 FPU支持全部单精度数据处理指令与数据类型配备 ART 加速器可从 Flash 零等待执行、MPU 内存保护单元提供约 225 DMIPS1.25 DMIPS/MHzDhrystone 2.1以及完整 DSP 指令集存储器512 KB Flash、128 KB SRAM、4 KB 备份 SRAMFSMC 外部存储器控制器支持 16 位数据总线SRAM、PSRAM、SDRAM/LPSDR SDRAM、NOR/NAND Flash支持双模式 QuadSPI模拟外设3 路 12 位、2.4 MSPS ADC最多 24 通道三路交替模式下可达 7.2 MSPS、2 路 12 位 DAC定时器最多 17 个定时器含 2 个看门狗、1 个 SysTick以及最多 12 个 16 位、2 个 32 位定时器最高 180 MHz各含最多 4 路 IC/OC/PWM 或脉冲计数通信接口最多 20 个包括 SPDIF-Rx、最多 4 路 I2CSMBus/PMBus、4 个 USART 2 个 UART11.25 Mbit/s支持 ISO7816、LIN、IrDA、modem 控制、最多 4 路 SPI45 Mbits/s其中 3 路可复用 I2S 音频、2 路 SAI、2 路 CAN2.0B Active、SDIO、CEC以及 USB 2.0 FS/HS OTG 控制器片内 PHY 与 ULPI显示/接口LCD 并行接口8080/6800 模式、8 至 14 位并行摄像头接口最高 54 Mbytes/s时钟与电源1.7 V~3.6 V 供电POR/PDR/PVD/BOR4~26 MHz 晶振16 MHz 内部 RC1% 精度带校准的 32 kHz RTC 振荡器与内部 32 kHz RC支持 Sleep、Stop、Standby 低功耗模式VBAT 供电 RTC 与 20×32 位备份寄存器调试与标识SWD/JTAG、Cortex-M4 Trace Macrocell最多 114 个可中断 I/O其中最多 111 个 90 MHz 快速 I/O、112 个 5V 容忍带亚秒精度硬件日历的 RTC、CRC 计算单元、96 位唯一 ID。板级资源与 Nucleo-144 平台特性NUCLEO-F446ZE 是 ST 面向 STM32F4 系列推出的Nucleo-144 规格开发板LQFP144 封装其平台级特性包括详见 STM32_Nucleo-144_BSP_Introduction.md3 个用户 LED、2 个用户按键 复位按键、32.768 kHz 晶振板载 ST-LINK 调试器/编程器支持 USB 重枚举大容量存储、虚拟串口、调试端口无需额外下载器ST Zio 扩展接口兼容 ARDUINO® Uno V3与 ST Morpho 排针可连接 MCU 几乎所有外设供电方式灵活ST-LINK、USB VBUS 或外部电源支持 IAR™、Keil®、STM32CubeIDE 等主流 IDE。本 BSPbsp/stm32/stm32f446-st-nucleo的常用板载资源如下资源类别明细MCUSTM32F446ZE主频 180 MHz512 KB FLASH128 KB RAMLEDLED1绿色PB0、LED2蓝色PB7、LED3红色PB14常用接口USB 转串口板载 ST-LINK 虚拟串口调试接口标准 ST-LINK/SWD外设支持现状当前 BSP 对片上外设的支持情况如下表所示外设支持情况备注USB 转串口支持通过板载 ST-LINK 虚拟串口实现GPIO支持通过 RT-Thread PIN 设备UART支持默认使用 UART1从默认配置rtconfig.h可以看到BSP 默认仅使能了BSP_USING_GPIO、BSP_USING_UART与BSP_USING_UART1其余片上外设均处于关闭状态需要后续通过 menuconfig 开启。快速上手让 RT-Thread 跑起来本 BSP 同时提供 MDK5project.uvprojx、IARproject.ewp工程并支持 GCC 开发环境见 rtconfig.py 中对 gcc/keil/iar 三种工具链的分支配置。下面以 MDK5 为例介绍完整流程。编译前准备拉取 HAL 库与 CMSIS 包请注意由于 BSP 依赖的 STM32 HAL 库与 CMSIS 包通过 RT-Thread 软件包机制托管对应配置见 rtconfig.h 中的PKG_USING_STM32F4_HAL_DRIVER、PKG_USING_STM32F4_CMSIS_DRIVER与PKG_USING_CMSIS_CORE在执行编译工作前必须先打开 ENV 工具执行以下指令否则会因缺少必要的 HAL/CMSIS 头文件而无法通过编译pkgs --update硬件连接使用数据线Type-A 转 Mini-B连接开发板到 PC该数据线同时承担供电、下载与调试功能连接后开发板的电源指示灯LD3/PWR与通信指示灯LD1/COM点亮。编译下载MDK5 流程双击project.uvprojx打开 MDK5 工程注意是project.uvprojx而非template.uvprojx模板工程点击 Options for Target在 Debug 选项卡中选择ST-LINK Debugger并进入 SettingPort 选择 SW (Serial Wire)Flash Download 勾选 Reset and Run编译并点击下载按钮程序即通过板载 ST-LINK 烧录到开发板。工程默认配置使用 ST-LINK 仿真器下载在通过 ST-LINK 正确连接开发板的前提下点击下载按钮即可完成烧录。运行结果验证下载成功且复位后系统自动运行蓝色 LED2PB7以 500 ms 周期闪烁——这正是 applications/main.c 中main线程的逻辑将GET_PIN(B, 7)对应引脚配置为输出rt_pin_mode(LED2_PIN, PIN_MODE_OUTPUT)后循环执行rt_pin_write(LED2_PIN, PIN_HIGH/LOW)与rt_thread_mdelay(500)实现 500 ms 翻转。连接开发板对应串口到 PC在终端工具中以115200-8-1-N参数打开串口Windows 下可用 PuTTY 等工具复位设备后即可看到 RT-Thread 的启动横幅与 msh 命令行提示符\ | / - RT - Thread Operating System / | \ 4.0.0 build Jan 7 2019 2006 - 2018 Copyright by rt-thread team msh 终端工具参考PuTTY若本机暂无终端软件可选用 PuTTY 等免费串口工具下载后选择 Serial 连接方式填入对应 COM 口与 115200 波特率即可。串口参数务必与 BSP 默认终端配置一致数据位 8、停止位 1、无校验否则输出将出现乱码。进阶使用用 ENV 开启更多片上外设默认 BSP 仅使能 GPIO 与 UART1关于默认串口见下文注意事项的说明。若需使用 SPI、I2C、ADC、SD 卡、Flash 等更多外设需要通过 RT-Thread ENV 工具重新配置并重新生成工程步骤如下在 bsp/stm32/stm32f446-st-nucleo 目录下打开 ENV 工具输入menuconfig命令配置工程完成配置后保存退出输入pkgs --update命令更新软件包同步拉取新开启外设对应的驱动依赖输入scons --targetmdk4/mdk5/iar命令重新生成工程按实际使用的 IDE 选择目标。menuconfig 中的外设开关外设开关定义于 board/Kconfig主要结构如下Onboard Peripheral Drivers板载外设驱动配置菜单本 BSP 当前为空On-chip Peripheral Drivers片上外设驱动配置菜单默认已开启BSP_USING_GPIO选择RT_USING_PIN默认 yBSP_USING_UART选择RT_USING_SERIAL默认 y其下包含 UART1 开关BSP_USING_UART1默认 y及一系列可调参数BSP_STM32_UART_V1_TX_TIMEOUTUART 发送超时默认 2000仅串口 V1 生效BSP_UART1_RX_USING_DMA/BSP_UART1_TX_USING_DMAUART1 收发 DMA 使能依赖RT_SERIAL_USING_DMA默认 nBSP_UART1_RX_BUFSIZEUART1 接收缓冲大小64~65535默认 256仅串口 V2 生效BSP_UART1_TX_BUFSIZEUART1 发送缓冲大小0~65535默认 0仅串口 V2 生效BSP_UART1_DMA_PING_BUFSIZEUART1 RX DMA ping-pong 缓冲大小32~65535默认 64需同时满足串口 V2 与 RX DMA 条件。其余外设ADC、SPI、I2C、PWM、SDIO 等由source引入的 HAL_Drivers/drivers/Kconfig 统一管理如BSP_USING_ADC_V2、BSP_USING_ADC1等均默认关闭可在 menuconfig 中按需勾选。配置后工程再生成的原理从 SConscript 可以看出BSP 编译时向全局添加了STM32F446xx宏定义board/SConscript 则负责将 board.c 与 CubeMX 生成的 stm32f4xx_hal_msp.c 编入Drivers组并添加 CubeMX 头文件搜索路径。执行scons --targetmdk5/iar后SConstruct 会根据当前 menuconfig 生成的 rtconfig.h 自动重建工程文件使新开启的外设驱动被纳入编译。时钟与内存布局BSP 底层实现要点180 MHz 主频的来源board/board.c 中的SystemClock_Config()展示了该 BSP 的时钟树配置以外部高速晶振 HSE 为源PLLM4、PLLN180、PLLP2得到 180 MHz 系统时钟PLLQ2供 USB并启用 Over-Drive 模式以满足 180 MHz 下的电压要求随后配置 AHB 不分频HCLK180 MHz、APB1 四分频45 MHz、APB2 二分频90 MHzFlash 等待周期为 5FLASH_LATENCY_5。这是整板所有外设时钟的基础修改外设时钟树时需保持与 HAL 库配置一致。内存与堆的边界定义board/board.h 定义了本 BSP 的地址布局Flash起始0x08000000大小 512 KBSTM32_FLASH_SIZE 512 * 1024SRAM大小 128 KB末端地址0x20000000 128 * 1024STM32_SRAM_END堆区heap起始HEAP_BEGIN按编译环境取链接脚本符号Keil 的Image$$RW_IRAM1$$ZI$$Limit、IAR 的 CSTACK 段末尾__segment_end(CSTACK)、GCC 的__bss_end结束于HEAP_END STM32_SRAM_END。这也解释了链接脚本 link.lds、link.sct 与 link.icf 三套文件分别服务 GCC/Keil/IAR 的原因修改内存布局时需要三处联动。注意事项默认终端输出设备是 UART1与部分其他 STM32 BSP如通用 Nucleo-144 文档中提到的 USART3 默认不同本 BSP 在 rtconfig.h 中通过RT_CONSOLE_DEVICE_NAME uart1将控制台绑定到 UART1串口调试请以 115200-8-1-N 连接 UART1 对应的虚拟串口编译前务必执行pkgs --update拉取 HAL/CMSIS 依赖包否则无法通过编译工程默认使用板载 ST-LINKSW 模式下载若使用其他下载器需在工程选项中重新配置 Debugger 与 Flash Download 设置本 BSP 的维护信息维护人邮箱 qihengchuan8888163.com中文文档由 RT-Thread 社区 Meco Man 翻译jianingmanfoxmail.com。延伸阅读STM32_Nucleo-144_BSP_Introduction.mdNucleo-144 系列通用 BSP 文档必读含板级特性、MDK5 详细下载配置与进阶步骤STM32 系列 BSP 外设驱动使用教程进阶使用章节的详细展开讲解各外设驱动在 menuconfig 中的开启方式与驱动 API 用法applications/main.cLED2 闪烁示例的源码入口可作为 PIN 设备 API 的入门样例board/Kconfig本 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 STM32F207ZG Nucleo-144 BSP 快速上手与进阶配置指南RT Thread STM32F207ZG Nucleo 144 BSP 快速上手与进阶配置指南 本指南以 RT Thread 仓库中 bsp/stm32/st操作系统嵌入式物联网嵌入式OSRTOSRT-Thread 在 STM32F091RC-Nucleo 开发板上的 BSP 上手与进阶配置指南RT Thread 在 STM32F091RC Nucleo 开发板上的 BSP 上手与进阶配置指南 本文以 RT Thread 官方为 STM32F091RC操作系统嵌入式物联网嵌入式OSRTOSRenovate Helm Datasource 完全指南基于 index.yaml 的 Chart 版本发现与 S3 仓库支持Renovate Helm Datasource 完全指南基于 index.yaml 的 Chart 版本发现与 S3 仓库支持 Renovate 的 Hel操作系统嵌入式物联网嵌入式OSRTOS上一篇英雄联盟Akari助手你的终极游戏智能伴侣免费开源提升300%游戏效率下一篇暗黑破坏神2存档编辑器完整指南免费开源工具d2s-editor高效实用教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

更多网站建设与数字化升级内容

03
WHY YAOTU

想打造同款高转化官网?

懂行业、懂生意,从建站到增长一站式陪跑

◈

场景化定制

不做模板站,围绕你的业务场景量身设计,小众不撞款。

◐

营销型架构

以转化目标组织内容与路径,让官网真正带来询盘。

▲

全周期服务

设计、开发、运营、运维一体,上线只是开始。

免费获取你的建站方案

留下需求,专属顾问 24 小时内为你输出方案建议。