Skip to content

Commit 1acb641

Browse files
authored
Merge pull request #2215 from SummerGGift/add_stm32_new_framework
[bsp][stm32] optimize docs && add lcd driver for f4 series bsp
2 parents b626deb + 1264fec commit 1acb641

File tree

28 files changed

+1806
-445
lines changed

28 files changed

+1806
-445
lines changed

bsp/stm32/docs/STM32系列BSP制作教程.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -204,9 +204,9 @@ BSP 的制作过程分为如下五个步骤:
204204

205205
重新生成工程需要使用 env 工具。
206206

207-
#### 3.5.1 重新生成 rt_config.h 文件
207+
#### 3.5.1 重新生成 rtconfig.h 文件
208208

209-
在 env 界面输入命令 menuconfig 对工程进行配置,并生成新的 rt_config.h 文件。如下图所示:
209+
在 env 界面输入命令 menuconfig 对工程进行配置,并生成新的 rtconfig.h 文件。如下图所示:
210210

211211
![输入menuconfig进入配置界面](./figures/menuconfig_1.png)
212212

@@ -243,8 +243,7 @@ STM32 BSP 的制作规范主要分为 3 个方面:工程配置,ENV 配置和
243243

244244
- 遵从RT-Thread 编码规范,代码注释风格统一
245245
- main 函数功能保持一致
246-
- 如果有 LED 的话,main 函数里只放一个 LED 1HZ 闪烁的程序
247-
- LED_PIN 定义在 board.h,初始化在 board.c 完成
246+
- 如果有 LED 的话,main 函数里**只放一个** LED 1HZ 闪烁的程序
248247
-`rt_hw_board_init` 中需要完成堆的初始化:调用 `rt_system_heap_init`
249248
- 默认只初始化 GPIO 驱动和 FinSH 对应的串口驱动,不使用 DMA
250249
- 当使能板载外设驱动时,应做到不需要修改代码就能编译下载使用
@@ -271,10 +270,11 @@ STM32 BSP 的制作规范主要分为 3 个方面:工程配置,ENV 配置和
271270

272271
### 2. BSP 提交规范
273272

274-
- 基础 BSP 和驱动应该分开提交
275-
- 基础 BSP 包括串口驱动和 GPIO 驱动,能运行 FinSH 控制台
276-
- 不同的驱动也要分开提交,方便 review 和合并
277-
- 只提交 BSP 必要的文件,删除无关的中间文件
273+
- 提交前请认真修改 BSP 的 README.md 文件,README.md 文件的外设支持表单只填写 BSP 支持的外设,可参考其他 BSP 填写。查看文档[《STM32系列驱动介绍》](./STM32系列驱动介绍.md)了解驱动分类。
274+
- 提交 BSP 分为 2 个阶段提交:
275+
- 第一阶段:基础 BSP 包括串口驱动和 GPIO 驱动,能运行 FinSH 控制台。完成 MDK4、MDK5 、IAR 和 GCC 编译器支持,如果芯片不支持某款编译器(比如MDK4)可以不用做。 BSP 的 README.md 文件需要填写第二阶段要完成的驱动。
276+
- 第二阶段:完成板载外设驱动支持,所有板载外设使用 menuconfig 配置后就能直接使用。若开发板没有板载外设,则此阶段可以不用完成。不同的驱动也要分开提交,方便 review 和合并。
277+
- 只提交 BSP 必要的文件,删除无关的中间文件,能够提交的文件请对照其他 BSP。
278278
- 提交 stm32 不同系列的 Library 库时,请参考 f1/f4 系列的 HAL 库,删除多余库文件
279279
- 提交前要对 BSP 进行编译测试,确保在不同编译器下编译正常
280280
- 提交前要对 BSP 进行功能测试,确保 BSP 的在提交前符合工程配置章节中的要求

bsp/stm32/docs/STM32系列BSP外设驱动使用教程.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# BSP 进阶使用指南
1+
# BSP 外设驱动使用教程
22

33
## 简介
44

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
> 为 BSP 添加驱动时,STM32CubeMX 工具可以快速的完成**使能外设****配置管脚**的工作。而外设初始化,中断配置,DMA配置等等则由 RT-Thread 提供的驱动文件来完成。也就是说,虽然 STM32CubeMX 生成了多个文件用来初始化外设,但 RT-Thread 只使用了 STM32CubeMX 生成的 `stm32fxx_hal_msp.c` 文件和 `stm32fxx_hal_conf.h` 文件。
3939
>
40-
> 对于不同的外设驱动,通过 STM32CubeMX 工具配置的内容也不一样。开发者可以参考本文档的附录 [CubeMX配置说明]() 章节来了解不同外设的配置方法
40+
> 对于不同的外设驱动,通过 STM32CubeMX 工具配置的内容也不一样。开发者可以参考本文档的附录 CubeMX 配置说明章节来了解不同外设的配置方法
4141
4242
### 3)修改 Kconfig 文件
4343

bsp/stm32/docs/figures/board_h.png

-24.6 KB
Loading

bsp/stm32/libraries/HAL_Drivers/SConscript

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,9 @@ if GetDepend(['RT_USING_ADC']):
4141
if GetDepend('BSP_USING_SDRAM'):
4242
src += ['drv_sdram.c']
4343

44+
if GetDepend('BSP_USING_LCD'):
45+
src += ['drv_lcd.c']
46+
4447
if GetDepend('BSP_USING_ONCHIP_RTC'):
4548
src += ['drv_rtc.c']
4649

0 commit comments

Comments
 (0)