rt-thread/bsp/stm32
SCZeiDan d78429eb8e
[stm32] i2c hard driver fixup:增加硬件I2C传输超时等待时间
问题:
在使用硬件 I2C 驱动进行音频模块 WM8978 配置时,发现连续 rt_i2c_transfer 进行 I2C 传输时发现,连续多次调用 rt_i2c_transfer 会出现丢包现象;溯源发现是每次使用 rt_i2c_transfer 传输2字节,传输频率过高导致底层 HAL_I2C_Master_Seq_Transmit_DMA 报错 HAL_BUSY;

现象:
rt_completion_wait超时等待完成之后,I2C仍处于HAL_I2C_STATE_BUSY_TX状态,且后续第二次运行至HAL_I2C_Master_Seq_Transmit_DMA时会直接返回HAL_BUSY,从而直接 goto out; 退出而不会再次进行超时等待;

* drv_hard_i2c.c: 修复325行缺失'}'语法错误;更改HAL_I2C_xx_Transimt_xx调用中目标设备地址值;i2c_hard_config.h: 添加STM32F系列芯片xx_DMA_CONFIG宏定义;

* 回溯I2C设备地址传参处(msg->addr<<1)修改;

* fixup: 增加硬件I2C传输延时,解决连续传输导致HAL_BUSY状态;
2024-05-04 12:51:27 -04:00
..
docs [debug] 整理debug宏并增加RT_DEBUGING_CONTEXT (#7805) 2023-07-22 10:36:42 +08:00
libraries [stm32] i2c hard driver fixup:增加硬件I2C传输超时等待时间 2024-05-04 12:51:27 -04:00
stm32f072-st-nucleo [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32f091-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f103-100ask-mini fixup: debug 2024-04-19 21:30:12 -04:00
stm32f103-100ask-pro [bsp][stm32]fix stm32f103 default console uart name 2024-04-11 18:49:10 -04:00
stm32f103-atk-nano [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f103-atk-warshipv3 [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f103-blue-pill [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32f103-dofly-M3S [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f103-dofly-lyc8 [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f103-fire-arbitrary [bsp][stm32f103-fire-arbitrary] fix missing header file 2024-04-16 01:39:30 -04:00
stm32f103-gizwits-gokitv21 [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f103-hw100k-ibox [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f103-onenet-nbiot [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f103-yf-ufun [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f103-ys-f1pro [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f107-uc-eval [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f207-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f302-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f334-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f401-st-nucleo [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32f401-weact-blackpill [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32f405-smdz-breadfruit [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f405zg-mini-template [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f407-armfly-v5 [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f407-atk-explorer [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f407-lckfb-skystar [BSP][STM32]add stm32f407-lckfb-skystar 2024-04-13 08:00:15 -04:00
stm32f407-robomaster-c [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32f407-rt-spark [spi] soft_spi_pin_init loop variable is initialized to 0 2024-04-29 17:49:20 -04:00
stm32f407-st-discovery [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f410-st-nucleo [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32f411-atk-nano [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f411-st-nucleo [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32f411-weact-blackpill [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32f412-st-nucleo [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32f413-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f427-robomaster-a [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32f429-armfly-v6 [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f429-atk-apollo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f429-fire-challenger [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f429-st-disco [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f446-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f469-st-disco [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32f723-st-disco [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f746-st-disco [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f746-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f767-atk-apollo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f767-fire-challenger-v1 [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f767-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32f769-st-disco [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32g070-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32g071-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32g431-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32g474-st-nucleo [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32g491-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32h7s7-st-disco [bsp][renesas][stm32]Fix some bsp probelm in 5.1.x. 2024-04-18 20:32:47 -04:00
stm32h503-st-nucleo [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32h563-st-nucleo [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32h743-armfly-v7 [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32h743-atk-apollo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32h743-openmv-h7plus [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32h743-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32h747-st-discovery [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32h750-armfly-h7-tool [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32h750-artpi [bsp][renesas][stm32]Fix some bsp probelm in 5.1.x. 2024-04-18 20:32:47 -04:00
stm32h750-fk750m1-vbt6 [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32h750-weact-ministm32h7xx [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l4r5-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l4r9-st-eval [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l4r9-st-sensortile-box [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l010-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l053-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l412-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l431-BearPi [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32l431-tencentos-tiny-EVB_MX+ [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l432-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l433-ali-startkit [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l433-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l452-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l475-atk-pandora [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32l475-st-discovery [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l476-st-nucleo [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32l496-ali-developer [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l496-st-discovery [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l496-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32l552-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32mp157a-st-discovery [bsp] format drivers code 2024-03-24 09:18:25 +08:00
stm32mp157a-st-ev1 [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32u575-st-nucleo [RTduino] change the pinout group name 2024-03-29 21:49:13 +08:00
stm32u585-iot02a [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32wb55-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32wl55-st-nucleo [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32wle5-yizhilian-lm401 [bsp] update projects 2024-03-21 11:23:29 +08:00
stm32wle5-yizhilian-lm402 [bsp] update projects 2024-03-21 11:23:29 +08:00
tools [tool][release] add tools/release folder for the scrips that prepare the version release 2023-05-15 09:03:04 -04:00
README.md [BSP][STM32]add stm32f407-lckfb-skystar 2024-04-13 08:00:15 -04:00

README.md

STM32 BSP 说明

STM32 系列 BSP 目前支持情况如下表所示:

BSP 文件夹名称 开发板名称
F0 系列
stm32f072-st-nucleo ST 官方 STM32F072-nucleo 开发板
stm32f091-st-nucleo ST 官方 STM32F091-nucleo 开发板
F1 系列
stm32f103-100ask-mini 百问网F103 Mini开发板
stm32f103-100ask-pro 百问网F103 Pro开发板
stm32f103-atk-nano 正点原子 F103 NANO 开发板
stm32f103-atk-warshipv3 正点原子 F103 战舰V3 开发板
stm32f103-blue-pill STM32F103C8T6蓝色最小系统板
stm32f103-dofly-lyc8 德飞莱 STM32F103 开发板
stm32f103-dofly-M3S 德飞莱 STM32F103 开发板
stm32f103-fire-arbitrary 野火 F103 霸道开发板
stm32f103-gizwits-gokitv21 GoKit V2.1开发板
stm32f103-hw100k-ibox 硬件十万个为什么 STM32F103 iBox 开发板
stm32f103-onenet-nbiot STM32F103 OneNET NB-IoT 开发板
stm32f103-yf-ufun STM32F103 yf-ufun 开发板
stm32f107-uc-eval uC/Eval STM32F107 评估板(中国版)
F2 系列
stm32f207-st-nucleo ST 官方 STM32F207-nucleo 开发板
F3 系列
stm32f302-st-nucleo ST 官方 STM32F302-nucleo 开发板
stm32f334-st-nucleo ST 官方 STM32F334-nucleo 开发板
F4 系列
stm32f407-rt-spark 睿赛德官方 F407 星火一号开发板
stm32f401-st-nucleo ST 官方 STM32F401 Nucleo-64 开发板
stm32f405-smdz-breadfruit 三木电子 SM1432F405 开发板
stm32f407-lckfb-skystar 立创开发板 天空星STM32F407开发板
stm32f407-atk-explorer 正点原子 F407 探索者开发板
stm32f407-robomaster-c 大疆公司 RoboMaster C型开发板
stm32f407-st-discovery ST 官方 STM32F407-discovery 开发板
stm32f410-st-nucleo ST 官方 STM32F410-Nucleo-64 开发板
stm32f411-atk-nano 正点原子 F411 NANO 开发板
stm32f411-st-nucleo ST 官方 STM32F411-Nucleo-64 开发板
stm32f411-weact-MiniF4 F401/F411最小系统开发板Black Pill
stm32f412-st-nucleo ST 官方 STM32F412-Nucleo-144 开发板
stm32f413-st-nucleo ST 官方 STM32F413-Nucleo-144 开发板
stm32f427-robomaster-a 大疆公司 RoboMaster A型开发板
stm32f429-armfly-v6 安富莱 F429-v6 开发板
stm32f429-atk-apollo 正点原子 F429 阿波罗开发板
stm32f429-fire-challenger 野火 F429 挑战者开发板
stm32f429-st-disco ST 官方 STM32F429-discovery 开发板
stm32f446-st-nucleo ST 官方 STM32F446-nucleo 开发板
stm32f469-st-disco ST 官方 STM32F469-discovery 开发板
F7 系列
stm32f746-st-disco ST 官方 STM32F746-discovery 开发板
stm32f767-atk-apollo 正点原子 F767 阿波罗开发板
stm32f767-fire-challenger-v1 野火 F767-V1 挑战者开发板
stm32f767-st-nucleo ST 官方 STM32F767-nucleo 开发板
stm32f769-st-disco ST 官方 STM32f769-discovery 开发板
G0 系列
stm32g070-st-nucleo ST 官方 STM32G070-nucleo 开发板
stm32g071-st-nucleo ST 官方 STM32G071-nucleo 开发板
G4 系列
stm32g431-st-nucleo ST 官方 STM32G431-nucleo 开发板
H7 系列
stm32h743-armfly-v7 安富莱 STM32H743 v7 开发板
stm32h743-atk-apollo 正点原子 h743 阿波罗开发板
stm32h743-openmv-h7plus OPENMV 官方 H7-PLUS 开发板
stm32h743-st-nucleo ST 官方 STM32H743-nucleo 开发板
stm32h747-st-discovery ST 官方 STM32H747I-discovery 开发板
stm32h750-armfly-h7-tool 安富莱 STM32H750 Tool 开发板
stm32h750-artpi RT-Thread 官方 STM32H750-artpi 开发板
stm32h750-fk750m1-vbt6 反客科技 FK750M1-VBT6 开发板
stm32h750-weact-ministm32h7xx 微行电子 STM32H7xx 核心板
L0 系列
stm32l010-st-nucleo ST 官方 STM32L010-nucleo 开发板
stm32l053-st-nucleo ST 官方 STM32L053-nucleo 开发板
L4 系列
stm32l4r5-st-nucleo ST 官方 STM32L4R5-Nucleo 开发板
stm32l4r9-st-eval ST 官方 STM32L4R9I-EVAL 开发板
stm32l412-st-nucleo ST 官方 STM32L412-Nucleo 开发板
stm32l431-BearPi STM32L431 小熊派 开发板
stm32l432-st-nucleo ST 官方 STM32L432-Nucleo 开发板
stm32l433-st-nucleo ST 官方 STM32L433-Nucleo 开发板
stm32l452-st-nucleo ST 官方 STM32L452-Nucleo 开发板
stm32l475-atk-pandora 正点原子 L475 潘多拉 IoT 开发板
stm32l475-st-discovery ST 官方 stm32l475-discovery 开发板
stm32l476-st-nucleo ST 官方 STM32L476-Nucleo 开发板
stm32l433-ali-startkit 诺行 STM32L433 Ali Start Kit 开发板
stm32l496-ali-developer 诺行 STM32L496 Ali Developer Kit 开发板
stm32l496-st-nucleo ST 官方 STM32L496-Nucleo 开发板
stm32l496-st-discovery ST 官方 STM32L496G discovery 开发板
L5 系列
stm32l552-st-nucleo ST 官方 STM32L552-Nucleo 开发板
U5 系列
stm32u575-st-nucleo ST 官方 STM32U575ZI-Nucleo 开发板
H5 系列
stm32h563-st-nucleo ST 官方 STM32H563ZI-Nucleo 开发板
MP1 系列
stm32mp157a-st-discovery ST 官方 STM32MP157A-DK1 开发板
stm32mp157a-st-ev1 ST 官方 STM32MP157A-EV1 开发板
WB 系列
stm32wb55-st-nucleo ST 官方 STM32WB55-Nucleo 开发板
stm32wl55-st-nucleo ST 官方 STM32WL55-Nucleo 开发板

可以通过阅读相应 BSP 下的 README 来快速上手,如果想要使用 BSP 更多功能可参考 docs 文件夹下提供的说明文档,如下表所示:

BSP 使用教程 简介
外设驱动使用教程 讲解 BSP 上更多外设驱动的使用方法
外设驱动介绍与应用 讲解 STM32 系列 BSP 驱动的支持情况,以及如何利用驱动框架开发应用程序
BSP 制作与提交 简介
BSP 制作教程 讲解 STM32 系列 BSP 的制作方法,以及在制作 BSP 和提交 BSP 时应当遵守的规范,视频教程请观看 《RT-Thread STM32 系列 BSP 制作视频教程》
外设驱动添加指南 讲解 BSP 添加更多设备驱动的方法