[bsp][STM32] add bsp 制作规范

This commit is contained in:
SummerGift 2018-12-03 13:49:58 +08:00
parent 5cbe222196
commit 01bdef21e9
1 changed files with 35 additions and 0 deletions

View File

@ -0,0 +1,35 @@
# STM32 系列 BSP 制作规范
本文档为 RT-Thread STM32 系列 BSP 制作规范 ,规定了 STM32 BSP 制作需要遵守的准则和需要实现的基本功能。方便开发者快速完成 BSP 的制作。同时,开发人员在 BSP 制作完成后,也可以使用本规范进行检查。
## BSP 制作规范
STM32 BSP 的制作规范分为 3 个方面工程配置ENV 配置和 IDE 配置。下面将分别详细介绍这 3 个方面需要准守的准则。
### 工程配置
- Main 函数执行的功能要统一
- 如果有 LED 的话main函数里只放一个 LED 1HZ 闪烁的程序
- LED_PIN 定义在board.h初始化在 board.c 完成
- 在 `rt_hw_board_init` 中需要完成堆的初始化:调用 `rt_system_heap_init`
- 默认只初始化 GPIO 驱动和 FinSH 对应的串口驱动,不使用 DMA
- 当使能板载外设驱动时,应做到不需要修改代码就能编译下载使用
- 代码注释风格要统一
### ENV 配置
- 系统心跳统一设置为 1000RT_TICK_PER_SECOND
- BSP 中需要打开调试选项中的断言RT_DEBUG
- 系统空闲线程栈大小统一设置为 256IDLE_THREAD_STACK_SIZE
- 开启组件自动初始化RT_USING_COMPONENTS_INIT
- 需要开启 user main 选项RT_USING_USER_MAIN
- 默认关闭 libcRT_USING_LIBC
- FinSH 默认只使用 MSH 模式FINSH_USING_MSH_ONLY
### IDE 配置
- 使能下载代码后自动运行
- 使能 C99 支持
- 使能 One ELF Setion per FunctionMDK
- keil/iar 生成的临时文件分别放到build下的 keil/iar 文件夹下
- mdk/gcc/iar 生成 bin 文件名字统一成 rtthread.bin