Skip to content

Commit c231565

Browse files
committed
Sync from master (6a150c0)
1 parent 8ace8be commit c231565

File tree

253 files changed

+43628
-5058
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

253 files changed

+43628
-5058
lines changed

.travis.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ env:
8484
- RTT_BSP='stm32/stm32f103-dofly-lyc8' RTT_TOOL_CHAIN='sourcery-arm'
8585
- RTT_BSP='stm32/stm32f103-fire-arbitrary' RTT_TOOL_CHAIN='sourcery-arm'
8686
- RTT_BSP='stm32/stm32f103-hw100k-ibox' RTT_TOOL_CHAIN='sourcery-arm'
87+
- RTT_BSP='stm32/stm32f107-uc-eval' RTT_TOOL_CHAIN='sourcery-arm'
8788
- RTT_BSP='stm32/stm32f407-atk-explorer' RTT_TOOL_CHAIN='sourcery-arm'
8889
- RTT_BSP='stm32/stm32f407-st-discovery' RTT_TOOL_CHAIN='sourcery-arm'
8990
- RTT_BSP='stm32/stm32f411-st-nucleo' RTT_TOOL_CHAIN='sourcery-arm'
@@ -96,8 +97,11 @@ env:
9697
- RTT_BSP='stm32/stm32f767-fire-challenger' RTT_TOOL_CHAIN='sourcery-arm'
9798
- RTT_BSP='stm32/stm32f767-st-nucleo' RTT_TOOL_CHAIN='sourcery-arm'
9899
- RTT_BSP='stm32/stm32g071-st-nucleo' RTT_TOOL_CHAIN='sourcery-arm'
100+
- RTT_BSP='stm32/stm32l053-st-nucleo' RTT_TOOL_CHAIN='sourcery-arm'
99101
- RTT_BSP='stm32/stm32l432-st-nucleo' RTT_TOOL_CHAIN='sourcery-arm'
100102
- RTT_BSP='stm32/stm32l475-atk-pandora' RTT_TOOL_CHAIN='sourcery-arm'
103+
- RTT_BSP='stm32/stm32l476-st-nucleo' RTT_TOOL_CHAIN='sourcery-arm'
104+
- RTT_BSP='swm320-lq100' RTT_TOOL_CHAIN='sourcery-arm'
101105
# - RTT_BSP='taihu' RTT_TOOL_CHAIN='sourcery-ppc'
102106
# - RTT_BSP='upd70f3454' # iar
103107
# - RTT_BSP='x86' # x86

bsp/stm32/README.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,22 @@
22

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

5-
| BSP 文件夹名称 | 开发板名称 |
5+
| **BSP 文件夹名称** | **开发板名称** |
66
|:------------------------- |:-------------------------- |
77
| **F0 系列** | |
88
| [stm32f091-st-nucleo](stm32f091-st-nucleo) | ST 官方 STM32F091-nucleo 开发板 |
99
| **F1 系列** | |
1010
| [stm32f103-atk-nano](stm32f103-atk-nano) | 正点原子 F103 NANO 开发板 |
1111
| [stm32f103-dofly-lyc8](stm32f103-dofly-lyc8) | 德飞莱 STM32F103 开发板 |
1212
| [stm32f103-fire-arbitrary](stm32f103-fire-arbitrary/) | 野火 F103 霸道开发板 |
13-
| [stm32f103-hw100k-ibox](stm32f103-hw100k-ibox) | STM32F103 硬件十万个为什么 iBox 开发板 |
13+
| [stm32f103-hw100k-ibox](stm32f103-hw100k-ibox) | 硬件十万个为什么 STM32F103 iBox 开发板 |
14+
| [stm32f107-uc-eval](stm32f107-uc-eval) | 麦克泰 STM32F107 评估板(中国版) |
1415
| **F4 系列** | |
1516
| [stm32f407-st-discovery](stm32f407-st-discovery) | ST 官方 STM32F407-discovery 开发板 |
1617
| [stm32f407-atk-explorer](stm32f407-atk-explorer) | 正点原子 F407 探索者开发板 |
1718
| [stm32f411-st-nucleo](stm32f411-st-nucleo/) | ST 官方 STM32F411-Nucleo-64 开发板 |
1819
| [stm32f429-atk-apollo](stm32f429-atk-apollo) | 正点原子 F429 阿波罗开发板 |
19-
| [stm32f429-fire-challenger](stm32f429-fire-challenger/) | 野火 F429 挑战者开发板 |
20+
| [stm32f429-fire-challenger](stm32f429-fire-challenger/) | 野火 F429 挑战者开发板 |
2021
| [stm32f429-armfly-v6](stm32f429-armfly-v6) | 安富莱 F429-v6 开发板 |
2122
| [stm32f446-st-nucleo](stm32f446-st-nucleo) | ST 官方 STM32F446-nucleo 开发板 |
2223
| **F7 系列** | |
@@ -25,10 +26,13 @@ STM32 系列 BSP 目前支持情况如下表所示:
2526
| [stm32f767-fire-challenger](stm32f767-fire-challenger/) | 野火 F767 挑战者开发板 |
2627
| [stm32f767-st-nucleo](stm32f767-st-nucleo) | ST 官方 STM32F767-nucleo 开发板 |
2728
| **G0 系列** | |
28-
| [stm32g071-st-nucleo](stm32g071-st-nucleo) | ST 官方 STM32G071-nucleo开发板 |
29+
| [stm32g071-st-nucleo](stm32g071-st-nucleo) | ST 官方 STM32G071-nucleo 开发板 |
30+
| **L0 系列** | |
31+
| [stm32l053-st-nucleo](stm32l053-st-nucleo) | ST 官方 STM32L053-nucleo 开发板 |
2932
| **L4 系列** | |
3033
| [stm32l432-st-nucleo](stm32l432-st-nucleo) | ST 官方 STM32L432-nucleo 开发板 |
3134
| [stm32l475-atk-pandora](stm32l475-atk-pandora/) | 正点原子 L475 潘多拉 IoT 开发板 |
35+
| [stm32l476-st-nucleo](stm32l476-st-nucleo) | ST 官方 STM32L476-nucleo 开发板 |
3236

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

bsp/stm32/docs/STM32系列外设驱动添加指南.md

Lines changed: 53 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,12 +87,60 @@
8787
| 1 | GPIO | 无需任何操作 |
8888
| 2 | UART | **开启该外设** ,然后配置所需要的引脚(或者使用默认引脚) |
8989
| 3 | SPI | **开启该外设** ,然后配置所需要的引脚(或者使用默认引脚) |
90-
| 4 | I2C | 依赖于PIN 驱动,无需任何操作 |
91-
| 5 | TIMER | **使能 internal Clock 时钟** |
92-
| 7 | PWM | **首先使能 internal Clock 时钟,然后为 channelx 选项选择PWM Generation CHx,** 最后配置所需要的引脚(或者使用默认引脚) |
93-
| 8 | ADC | **开启该外设,然后选择使用的通道** |
90+
| 4 | I2C | 依赖于PIN 驱动,无需任何操作 |
91+
| 5 | TIMER | **使能 internal Clock 时钟** ,详细内容可参考5.3章节 |
92+
| 7 | PWM | **首先使能 internal Clock 时钟,然后为 channelx 选项选择PWM Generation CHx,** 最后配置所需要的引脚(或者使用默认引脚) ,详细内容可参考5.3章节 |
93+
| 8 | ADC | **开启该外设,然后选择使用的通道** ,详细内容可参考5.3章节 |
9494
| 9 | RTC | **开启该外设,然后在时钟树状图里将 RTC 选择为 LSE 时钟** |
95-
| 10 | Watchdog | **开启该外设** |
95+
| 10 | Watchdog | **开启该外设** |
9696
| 11 | EMAC | **配置 ETH 外设的工作模式(一般为 RMII 模式)** |
9797
| 12 | SDRAM | **需要根据板载的 SDRAM 型号配置片选脚,地址线,数据线等** |
9898

99+
### 5.3 复杂外设配置说明
100+
101+
本章节着重介绍配置步骤较为复杂的驱动。
102+
103+
#### 5.3.1 TIMER 外设驱动添加说明
104+
105+
1. 打开 STM32CubeMX 工程,设置 timer 在 Cube 里的选项,如下图所示:
106+
107+
![timer CubeMX 配置](figures/timer_config1.png)
108+
109+
2. 打开 stm32/stm32f429-atk-apollo/board/Kconfig ,添加 Kconfig 选项。选中自己添加的选项后,生成一遍工程,如下图所示:
110+
111+
![timer Kconfig 配置](figures/timer_config2.png)
112+
113+
3. 打开工程进行编译,工程会提示 TIM11_CONFIG 未定义。 可以在 stm32/libraries/HAL_Drivers/config/f4/tim_config.h 中进行定义,如下图所示:
114+
115+
![timer 编译](figures/timer_config3.png)
116+
![timer 编译](figures/timer_config4.png)
117+
118+
#### 5.3.2 PWM 外设驱动添加说明
119+
120+
1. 打开 STM32CubeMX 工程,设置 PWM 在 Cube 里的选项,如下图所示:
121+
122+
![pwm CubeMX 配置](figures/pwm_config1.png)
123+
124+
2. 打开 stm32/stm32f429-atk-apollo/board/Kconfig ,添加 Kconfig 选项。选中自己添加的选项后,生成一遍工程,如下图所示:
125+
126+
![pwm Kconfig 配置](figures/pwm_config2.png)
127+
128+
3. 打开工程进行编译,工程会提示 PWM2_CONFIG 未定义。 可以在 stm32/libraries/HAL_Drivers/config/f4/pwm_config.h 中进行定义,如下图所示:
129+
130+
![pwm 编译](figures/pwm_config3.png)
131+
![pwm 编译](figures/pwm_config4.png)
132+
133+
#### 5.3.3 ADC 外设驱动添加说明
134+
135+
1. 打开 STM32CubeMX 工程,设置 ADC 在 Cube 里的选项,如下图所示:
136+
137+
![adc CubeMX 配置](figures/adc_config1.png)
138+
139+
2. 打开 stm32/stm32f429-atk-apollo/board/Kconfig ,添加 Kconfig 选项。选中自己添加的选项后,生成一遍工程,如下图所示:
140+
141+
![adc Kconfig 配置](figures/adc_config2.png)
142+
143+
3. 打开工程进行编译,工程会提示 ADC1_CONFIG 未定义。 可以在 stm32/libraries/HAL_Drivers/config/f4/adc_config.h 中进行定义,如下图所示:
144+
145+
![adc 编译](figures/adc_config3.png)
146+
![adc 编译](figures/adc_config4.png)

bsp/stm32/docs/STM32系列驱动介绍.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,17 +30,17 @@
3030

3131
| 序号 | 驱动 | 简介 |
3232
| ---- | ------------------------------------------------------------ | ------------------------------------------------ |
33-
| 1 | [GPIO](https://www.rt-thread.org/document/site/rtthread-application-note/driver/gpio/an0002-rtthread-driver-gpio/) | 操作 GPIO 管脚 |
34-
| 2 | UART | 通过串口收发数据 |
35-
| 3 | soft I2C | 通过软件 I2C 收发数据 |
36-
| 4 | SPI | 通过 SPI 收发数据 |
37-
| 5 | ADC | 测量管脚上的模拟量 |
33+
| 1 | [GPIO](https://www.rt-thread.org/document/site/programming-manual/device/pin/pin/) | 操作 GPIO 管脚 |
34+
| 2 | [UART](https://www.rt-thread.org/document/site/programming-manual/device/uart/uart/) | 通过串口收发数据 |
35+
| 3 | [soft I2C](https://www.rt-thread.org/document/site/programming-manual/device/i2c/i2c/) | 通过软件 I2C 收发数据 |
36+
| 4 | [SPI](https://www.rt-thread.org/document/site/programming-manual/device/spi/spi/) | 通过 SPI 收发数据 |
37+
| 5 | [ADC](https://www.rt-thread.org/document/site/programming-manual/device/adc/adc/) | 测量管脚上的模拟量 |
3838
| 6 | SDIO | 通过 SDIO 读写数据 |
39-
| 7 | TIMER | 使用硬件定时器实现测量时间和定时执行回调函数功能 |
40-
| 8 | PWM | 在特定的管脚输出 PWM 波形 |
41-
| 9 | RTC | 设置和读取时间 |
42-
| 10 | WDT | 看门狗驱动 |
43-
| 11 | QSPI | 通过 SPI(1、2、4线) 收发数据 |
39+
| 7 | [TIMER](https://www.rt-thread.org/document/site/programming-manual/device/hwtimer/hwtimer/) | 使用硬件定时器实现测量时间和定时执行回调函数功能 |
40+
| 8 | [PWM](https://www.rt-thread.org/document/site/programming-manual/device/pwm/pwm/) | 在特定的管脚输出 PWM 波形 |
41+
| 9 | [RTC](https://www.rt-thread.org/document/site/programming-manual/device/rtc/rtc/) | 设置和读取时间 |
42+
| 10 | [WDT](https://www.rt-thread.org/document/site/programming-manual/device/watchdog/watchdog/) | 看门狗驱动 |
43+
| 11 | [QSPI](https://www.rt-thread.org/document/site/programming-manual/device/spi/spi/#qspi_1) | 通过 SPI(1、2、4线) 收发数据 |
4444

4545
### 2.2 板载外设
4646

119 KB
Loading
133 KB
Loading
106 KB
Loading
169 KB
Loading
148 KB
Loading
148 KB
Loading

0 commit comments

Comments
 (0)