mirror of
https://github.com/RT-Thread/rt-thread.git
synced 2026-11-09 20:45:41 +08:00
Merge pull request #5001 from mysterywolf/readmeen
[STM32][DOC][翻译] 修复‘STM32系列BSP制作教程’的小问题,增加对应翻译(粗翻)
This commit is contained in:
2 files changed
+268
-23
No files matched your search
File diff suppressed because it is too large.
Load diff
@@ -30,25 +30,25 @@ BSP 框架结构如下图所示:
|
||||
|
||||
制作一个 BSP 的过程就是构建一个新系统的过程,因此想要制作出好用的 BSP,要对 RT-Thread 系统的构建过程有一定了解,需要的知识准备如下所示:
|
||||
|
||||
- 掌握 stm32 系列 BSP 的使用方法
|
||||
- 掌握 STM32 系列 BSP 的使用方法
|
||||
|
||||
了解 BSP 的使用方法,可以阅读 [BSP 说明文档](../README.md) 中使用教程表格内的文档。了解外设驱动的添加方法可以参考《外设驱动添加指南》。
|
||||
|
||||
- 了解 scons 工程构建方法
|
||||
- 了解 Scons 工程构建方法
|
||||
|
||||
RT-Thread 使用 scons 作为系统的构建工具,因此了解 scons 的常用命令对制作新 BSP 是基本要求。
|
||||
RT-Thread 使用 Scons 作为系统的构建工具,因此了解 Scons 的常用命令对制作新 BSP 是基本要求。
|
||||
|
||||
- 了解设备驱动框架
|
||||
|
||||
在 RT-Thread 系统中,应用程序通过设备驱动框架来操作硬件,因此了解设备驱动框架,对添加 BSP 驱动是很重要的。
|
||||
|
||||
- 了解 kconfig 语法
|
||||
- 了解 Kconfig 语法
|
||||
|
||||
RT-Thread 系统通过 menuconfig 的方式进行配置,而 menuconfig 中的选项是由 kconfig 文件决定的,因此想要对 RT-Thread 系统进行配置,需要对 kconfig 语法有一定了解。
|
||||
RT-Thread 系统通过 menuconfig 的方式进行配置,而 menuconfig 中的选项是由 Kconfig 文件决定的,因此想要对 RT-Thread 系统进行配置,需要对 kconfig 语法有一定了解。
|
||||
|
||||
- 熟悉 CubeMX 工具的使用
|
||||
|
||||
在新的 stm32 系列 BSP 中利用了 CubeMX 工具对底层硬件进行配置,因此需要了解 CubeMX 工具的使用方法。
|
||||
在新的 STM32 系列 BSP 中利用了 CubeMX 工具对底层硬件进行配置,因此需要了解 CubeMX 工具的使用方法。
|
||||
|
||||
## 3. BSP 制作方法
|
||||
|
||||
@@ -214,17 +214,17 @@ BSP 的制作过程分为如下五个步骤:
|
||||
|
||||
### 3.5 重新生成工程
|
||||
|
||||
重新生成工程需要使用 env 工具。
|
||||
重新生成工程需要使用 Env 工具。
|
||||
|
||||
#### 3.5.1 重新生成 rtconfig.h 文件
|
||||
|
||||
在 env 界面输入命令 menuconfig 对工程进行配置,并生成新的 rtconfig.h 文件。如下图所示:
|
||||
在 Env 界面输入命令 menuconfig 对工程进行配置,并生成新的 rtconfig.h 文件。如下图所示:
|
||||
|
||||

|
||||
|
||||

|
||||
|
||||
#### 3.5.2 重新 MDK/IAR 工程
|
||||
#### 3.5.2 重新生成 MDK/IAR 工程
|
||||
下面以重新生成 MDK 工程为例,介绍如何重新生成 BSP 工程。
|
||||
|
||||
使用 env 工具输入命令 `scons --target=mdk5` 重新生成工程,如下图所示:
|
||||
@@ -237,7 +237,7 @@ BSP 的制作过程分为如下五个步骤:
|
||||
|
||||
到这一步为止,新的 BSP 就可以使用了。
|
||||
|
||||
接下来我们可以分别使用命令 `scons --target=mdk4` 和 `scons --target=iar`,来更新 mdk4 和 iar 的工程,使得该 BSP 变成一个完整的,可以提交到 GitHub 的 BSP。
|
||||
接下来我们可以分别使用命令 `scons --target=mdk4` 和 `scons --target=iar`,来更新 MDK4 和 IAR 的工程,使得该 BSP 变成一个完整的,可以提交到 GitHub 的 BSP (MDK4工程的制作为可选)。
|
||||
|
||||
感谢每一位贡献代码的开发者,RT-Thread 将与你一同成长。
|
||||
|
||||
@@ -245,13 +245,13 @@ BSP 的制作过程分为如下五个步骤:
|
||||
|
||||
本章节介绍 RT-Thread STM32 系列 BSP 制作与提交时应当遵守的规范 。开发人员在 BSP 制作完成后,可以根据本规范提出的检查点对制作的 BSP 进行检查,确保 BSP 在提交前有较高的质量 。
|
||||
|
||||
### 1. BSP 制作规范
|
||||
### 4.1 BSP 制作规范
|
||||
|
||||
STM32 BSP 的制作规范主要分为 3 个方面:工程配置,ENV 配置和 IDE 配置。在已有的 STM32 系列 BSP 的模板中,已经根据下列规范对模板进行配置。在制作新 BSP 的过程中,拷贝模板进行修改时,需要注意的是不要修改这些默认的配置。BSP 制作完成后,需要对新制作的 BSP 进行功能测试,功能正常后再进行代码提交。
|
||||
|
||||
下面将详细介绍 BSP 的制作规范。
|
||||
|
||||
#### 工程配置
|
||||
#### 4.1.1 工程配置
|
||||
|
||||
- 遵从RT-Thread 编码规范,代码注释风格统一
|
||||
- main 函数功能保持一致
|
||||
@@ -259,10 +259,10 @@ STM32 BSP 的制作规范主要分为 3 个方面:工程配置,ENV 配置和
|
||||
- 在 `rt_hw_board_init` 中需要完成堆的初始化:调用 `rt_system_heap_init`
|
||||
- 默认只初始化 GPIO 驱动和 FinSH 对应的串口驱动,不使用 DMA
|
||||
- 当使能板载外设驱动时,应做到不需要修改代码就能编译下载使用
|
||||
- 提交前应检查 gcc/mdk/iar 三种编译器直接编译或者重新生成后编译是否成功
|
||||
- 使用 dist 功能对 BSP 进行发布,检查使用 dist 命令生成的工程是否可以正常使用
|
||||
- 提交前应检查 GCC/MDK/IAR 三种编译器直接编译或者重新生成后编译是否成功
|
||||
- 使用 `dist` 命令对 BSP 进行发布,检查使用 `dist` 命令生成的工程是否可以正常使用
|
||||
|
||||
#### ENV 配置
|
||||
#### 4.1.2 ENV 配置
|
||||
|
||||
- 系统心跳统一设置为 1000(宏:RT_TICK_PER_SECOND)
|
||||
- BSP 中需要打开调试选项中的断言(宏:RT_DEBUG)
|
||||
@@ -272,21 +272,21 @@ STM32 BSP 的制作规范主要分为 3 个方面:工程配置,ENV 配置和
|
||||
- 默认关闭 libc(宏:RT_USING_LIBC)
|
||||
- FinSH 默认只使用 MSH 模式(宏:FINSH_USING_MSH_ONLY)
|
||||
|
||||
#### IDE 配置
|
||||
#### 4.1.3 IDE 配置
|
||||
|
||||
- 使能下载代码后自动运行
|
||||
- 使能 C99 支持
|
||||
- 使能 One ELF Setion per Function(MDK)
|
||||
- keil/iar 生成的临时文件分别放到build下的 keil/iar 文件夹下
|
||||
- mdk/gcc/iar 生成 bin 文件名字统一成 rtthread.bin
|
||||
- 使能 One ELF Section per Function(MDK)
|
||||
- MDK/IAR 生成的临时文件分别放到build下的 MDK/IAR 文件夹下
|
||||
- MDK/GCC/IAR 生成 bin 文件名字统一成 rtthread.bin
|
||||
|
||||
### 2. BSP 提交规范
|
||||
### 4.2 BSP 提交规范
|
||||
|
||||
- 提交前请认真修改 BSP 的 README.md 文件,README.md 文件的外设支持表单只填写 BSP 支持的外设,可参考其他 BSP 填写。查看文档[《STM32系列驱动介绍》](./STM32系列驱动介绍.md)了解驱动分类。
|
||||
- 提交 BSP 分为 2 个阶段提交:
|
||||
- 第一阶段:基础 BSP 包括串口驱动和 GPIO 驱动,能运行 FinSH 控制台。完成 MDK4、MDK5 、IAR 和 GCC 编译器支持,如果芯片不支持某款编译器(比如MDK4)可以不用做。 BSP 的 README.md 文件需要填写第二阶段要完成的驱动。
|
||||
- 第二阶段:完成板载外设驱动支持,所有板载外设使用 menuconfig 配置后就能直接使用。若开发板没有板载外设,则此阶段可以不用完成。不同的驱动也要分开提交,方便 review 和合并。
|
||||
- 第二阶段:完成板载外设驱动支持,所有板载外设使用 menuconfig 配置后就能直接使用。若开发板没有板载外设,则此阶段可以不用完成。不同的驱动要分开提交,方便 review 和合并。
|
||||
- 只提交 BSP 必要的文件,删除无关的中间文件,能够提交的文件请对照其他 BSP。
|
||||
- 提交 stm32 不同系列的 Library 库时,请参考 f1/f4 系列的 HAL 库,删除多余库文件
|
||||
- 提交 STM32 不同系列的 Library 库时,请参考 f1/f4 系列的 HAL 库,删除多余库文件
|
||||
- 提交前要对 BSP 进行编译测试,确保在不同编译器下编译正常
|
||||
- 提交前要对 BSP 进行功能测试,确保 BSP 的在提交前符合工程配置章节中的要求
|
||||
- 提交前要对 BSP 进行功能测试,确保 BSP 的在提交前符合工程配置章节中的要求
|
||||
Reference in new issue
Block a user