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

STM32F091RC-NUCLEO 开发板 RT-Thread BSP 使用指南:快速上手与外设驱动配置

发布时间:2026/9/26 8:15:54

资讯中心
01
ARTICLE

STM32F091RC-NUCLEO 开发板 RT-Thread BSP 使用指南:快速上手与外设驱动配置

STM32F091RC-NUCLEO 开发板 RT-Thread 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点击查看免费下载NUCLEO-F091RC 是意法半导体推出的基于 ARM Cortex-M0 内核的 ST Nucleo-64 系列开发板本文以 RT-Thread 开源仓库中 bsp/stm32/stm32f091-st-nucleo 目录下的 BSP板级支持包为核心系统讲解该 BSP 的板载资源、外设驱动支持现状、MDK5 快速上手流程以及通过 ENV 工具开启 SPI、I2C、TIMER、PWM、ADC、RTC 等片上外设的进阶配置方法。读完本文你将能够把 RT-Thread 操作系统真正运行在这块开发板上并根据项目需要按需裁剪与扩展外设驱动。开发板介绍STM32F091RC-NUCLEO 开发板是 ST 官方推出的一款基于 ARM Cortex-M0 内核的开发板最高主频为 48MHz。该开发板具有丰富的扩展接口Arduino 兼容接口可以方便地验证 STM32F091 芯片性能同时板载 ST-LINK 调试器支持即插即用。该开发板常用板载资源如下MCUSTM32F091RC主频 48MHz256KB FLASH32KB RAM外部 RAM无外部 FLASH无常用外设按键1 个 user 按键兼具唤醒功能连接 PC13常用接口USB 转串口、Arduino 接口等调试接口标准 SWD从 BSP 源码 board/board.h 可以看到与资源定义对应的宏STM32_FLASH_SIZE定义为256 * 1024256KBSTM32_SRAM_SIZE定义为 3232KBHEAP_BEGIN由链接器符号MDK 的Image$$RW_IRAM1$$ZI$$Limit、IAR 的 CSTACK 段或 GCC 的__bss_end动态确定HEAP_END为 SRAM 末端地址0x20000000 32 * 1024即系统堆从 BSS 段末尾一直延伸到片内 SRAM 顶部。外设支持情况本 BSP 目前对外设的支持情况如下表所示板载外设支持情况备注ST-LINK 虚拟串口支持使用 USART2片上外设支持情况备注GPIO支持PA0, PA1... PC15 --- PIN: 0, 1...64UART支持USART1/2SPI支持SPI1I2C支持软件 I2CTIMER支持TIM14/TIM16/TIM17ADC支持ADC1RTC支持支持外部晶振 LSE 和内部低速时钟 LSIPWM支持TIM2 输出FLASH支持片上 FLASHFAL 抽象IWG支持独立看门狗外设支持对应的驱动配置上述外设支持能力均可在 board/Kconfig 中逐一找到对应开关默认开启的项目与当前仓库中 rtconfig.h 的实际配置一致BSP_USING_USB_TO_USART板载 USB 转串口对应 USART2默认开启并自动选中BSP_USING_UART与BSP_USING_UART2BSP_USING_GPIO默认开启自动选中RT_USING_PINBSP_USING_UART默认开启自动选中RT_USING_SERIAL其中BSP_STM32_UART_V1_TX_TIMEOUT默认 2000在 rtconfig.h 中可以看到 BSP 默认的片上外设组合为 GPIO UART2控制台设备为uart2RT_CONSOLE_DEVICE_NAME uart2并启用了RT_USING_SERIAL_V1与RT_SERIAL_USING_DMA这意味着串口驱动同时具备 DMA 通道扩展能力。使用说明使用说明分为快速上手与进阶使用两个章节快速上手面向刚接触 RT-Thread 的新手遵循简单步骤即可将 RT-Thread 操作系统运行在该开发板上并看到实验效果。进阶使用面向需要在 RT-Thread 上使用更多开发板资源的开发者通过 ENV 工具对 BSP 进行配置开启更多板载资源实现更多高级功能。快速上手本 BSP 为开发者提供 MDK4、MDK5 和 IAR 工程并且支持 GCC 开发环境。下面以 MDK5 开发环境为例介绍如何将系统运行起来。请注意在执行编译工作前请先打开 ENV 执行以下指令该指令用于拉取必要的 HAL 库及 CMSIS 库否则无法通过编译pkgs --update该命令会依据 BSP 内的 Kconfig 中rsource ../libraries/Kconfig引入的依赖关系以及 rtconfig.h 中声明的软件包选项PKG_USING_STM32F0_HAL_DRIVER、PKG_USING_STM32F0_CMSIS_DRIVER、PKG_USING_CMSIS_CORE自动拉取对应版本的 STM32F0 HAL 库与 CMSIS 库到本地packages目录。硬件连接使用数据线连接开发板到 PC打开电源开关。开发板板载 ST-LINK数据线同时承担供电、调试与虚拟串口功能。编译下载双击 project.uvprojx 文件打开 MDK5 工程编译并下载程序到开发板。工程默认配置使用板载 ST-LINK 仿真器下载程序在通过 ST-LINK 连接开发板的基础上点击下载按钮即可下载程序到开发板。MDK5 工程由 ENV 工具的scons --targetmdk5生成并保持与 rtconfig.py 中的工具链配置一致该文件同时定义了 GCCarm-none-eabi-、MDKarmcc、IARiccarm三种工具链的编译参数、链接脚本board/linker_scripts/link.lds/link.sct/link.icf与烧录后处理动作生成rtthread.bin。运行结果下载程序成功之后系统会自动运行。连接开发板对应串口到 PC在终端工具里打开相应的串口115200-8-1-N复位设备后可以看到 RT-Thread 的输出信息\ | / - RT - Thread Operating System / | \ 4.0.0 build Dec 21 2018 2006 - 2018 Copyright by rt-thread team msh 出现msh 提示符即代表 RT-Thread 内核与 FinSH 命令行组件已成功运行。与此同时程序入口 applications/main.c 会驱动板载 LED2PA5以 500ms 周期闪烁——该示例演示了 RT-Thread PIN 设备接口rt_pin_mode、rt_pin_write与线程延时rt_thread_mdelay的典型用法可以作为后续 GPIO 应用的模板。进阶使用此 BSP 默认只开启了 GPIO 和串口 2BSP_USING_USB_TO_USART的功能如果需使用 SPI、I2C 等更多高级功能需要利用 ENV 工具对 BSP 进行配置步骤如下在 BSP 目录bsp/stm32/stm32f091-st-nucleo下打开 ENV 工具。输入menuconfig命令配置工程配置好之后保存退出。输入pkgs --update命令更新软件包。输入scons --targetmdk4/mdk5/iar命令重新生成工程随后用对应 IDE 重新编译下载即可。更多详细的外设驱动使用介绍请参考 STM32 系列 BSP 外设驱动使用教程以及同目录下的 STM32 系列驱动介绍、STM32 系列外设驱动添加指南。各片上外设的 menuconfig 配置要点以下配置项均来自 board/Kconfig配置后建议对照重新生成的 rtconfig.h 确认宏是否生效。UART默认开启 USART2可选 USART1BSP_USING_UART1/BSP_USING_UART2使能对应串口每个串口可单独开启BSP_UARTn_RX_USING_DMA、BSP_UARTn_TX_USING_DMA需先开启RT_SERIAL_USING_DMA。BSP_UARTn_RX_BUFSIZE串口接收缓冲区大小范围 6465535默认 256V2 串口框架下生效。BSP_UARTn_TX_BUFSIZE串口发送缓冲区大小范围 065535默认 0V2 串口框架下生效。BSP_UARTn_DMA_PING_BUFSIZEDMA 乒乓接收缓冲区大小范围 3265535默认 64需同时开启 RX DMA。BSP_STM32_UART_V1_TX_TIMEOUT串口 V1 框架发送超时默认 2000。SPI默认关闭BSP_USING_SPI使能 SPI 总线框架选中RT_USING_SPI随后可开启BSP_USING_SPI1并可选开启BSP_SPI1_TX_USING_DMA与BSP_SPI1_RX_USING_DMA开启 RX DMA 会自动选中 TX DMA。I2C默认关闭软件 I2CBSP_USING_SOFT_I2C使能软件 I2C 总线框架BSP_USING_SOFT_I2C1使能 swi2c1 总线默认 SCL 引脚号为 34PA6 区域、SDA 引脚号为 35PA7 区域可通过RT_SOFT_I2C1_SCL_PIN/RT_SOFT_I2C1_SDA_PIN修改。BSP 同时定义了RT_SOFT_I2C1_SCL_PIN_DEFAULT/RT_SOFT_I2C1_SDA_PIN_DEFAULT作为引脚默认值兜底。TIMER默认关闭BSP_USING_TIM使能定时器设备选中RT_USING_CLOCK_TIME可选BSP_USING_TIM14、BSP_USING_TIM16、BSP_USING_TIM17。PWM默认关闭BSP_USING_PWM使能 PWM 设备选中RT_USING_PWMBSP_USING_PWM2使能 TIM2 输出 PWMBSP_USING_PWM2_CH4使能 TIM2 通道 4。ADC默认关闭BSP_USING_ADC使能 ADC 设备选中RT_USING_ADCBSP_USING_ADC1使能 ADC1。FLASH默认关闭FAL 抽象BSP_USING_ON_CHIP_FLASH使能片上 FLASH。BSP 预置了 FAL 分区表 board/ports/fal_cfg.happ分区从偏移 0 开始、大小 240KBparam分区从 240KB 开始、大小 16KB共同覆盖 256KB 片内 Flash。RTC默认关闭可选时钟源BSP_USING_ONCHIP_RTC使能 RTC选中RT_USING_RTC。通过BSP_RTC_USING_LSE/BSP_RTC_USING_LSI二选一选择时钟源默认使用 LSE 外部低速晶振。该配置与 board/board.c 中的SystemClock_Config相呼应——时钟初始化会打开 LSE、HSI、HSI14、LSI 多个振荡器并将RTCClockSelection设置为RCC_RTCCLKSOURCE_LSE。WDT默认关闭BSP_USING_WDT使能独立看门狗选中RT_USING_WDT对应文档中的 IWG 外设。系统时钟配置说明BSP 的系统时钟初始化位于 board/board.c 的SystemClock_Config()其要点如下使能备份域访问并配置 LSE 驱动能力为RCC_LSEDRIVE_HIGH打开 HSI8MHz 内部高速时钟、HSI14ADC 专用、LSI内部低速时钟与 LSE外部 32.768kHz 晶振系统时钟源选择 HSI经 PLL 6 倍频RCC_PLL_MUL6、RCC_PREDIV_DIV1得到 48MHz 主频AHB 与 APB1 均为 1 分频Flash 等待周期为 1外设时钟选择上USART1/USART2 均挂载 PCLK1RTC 选择 LSE 作为时钟源。该时钟树是理解串口波特率115200与各类外设分频配置的基础也决定了 PWM、TIMER 等外设的时基来源。注意事项初次编译前务必在 ENV 中执行pkgs --update拉取 HAL/CMSIS 依赖否则编译会因缺少 STM32F0 HAL 驱动而失败默认 BSP 仅开启 GPIO 与 UART2虚拟串口其余外设需通过menuconfig显式开启并重新生成工程串口参数为 115200-8-1-N控制台设备固定为uart2请勿随意修改RT_CONSOLE_DEVICE_NAME以免丢失日志输出本文所涉配置均以当前仓库 bsp/stm32/stm32f091-st-nucleo 目录内的实际文件为准若使用 RT-Studio 等其他工具链请参考 STM32 系列如何创建新项目。联系人信息维护人zylx赞分享操作系统嵌入式物联网嵌入式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 在 STM32F091RC-Nucleo 开发板上的 BSP 上手与进阶配置指南RT Thread 在 STM32F091RC Nucleo 开发板上的 BSP 上手与进阶配置指南 本文以 RT Thread 官方为 STM32F091RC操作系统嵌入式物联网嵌入式OSRTOSES32VF2264 开发板 RT-Thread BSP 快速上手与外设驱动配置指南ES32VF2264 开发板 RT Thread BSP 快速上手与外设驱动配置指南 ES PDS ES32VF2264 是上海东软载波微电子EastSoft操作系统嵌入式物联网嵌入式OSRTOSRT-Thread N32H760ZIL7-STB 开发板 BSP 使用指南快速上手与外设驱动配置RT Thread N32H760ZIL7 STB 开发板 BSP 使用指南快速上手与外设驱动配置 本指南以 RT Thread 仓库内 N32H760ZIL操作系统嵌入式物联网嵌入式OSRTOS上一篇Vanna 2.0企业级AI-SQL生成框架的架构演进与实战指南下一篇告别单调用250配色方案打造你的专属终端工作空间创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
02
RELATED NEWS

相关资讯

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

03
WHY YAOTU

想打造同款高转化官网?

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

◈

场景化定制

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

◐

营销型架构

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

▲

全周期服务

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

免费获取你的建站方案

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