diff --git a/development-tools/rtthread-studio/um/figures/cubemx_0.png b/development-tools/rtthread-studio/um/figures/cubemx_0.png deleted file mode 100644 index 5237e2369b9d84d0fab1666591918fb07795657e..0000000000000000000000000000000000000000 Binary files a/development-tools/rtthread-studio/um/figures/cubemx_0.png and /dev/null differ diff --git a/development-tools/rtthread-studio/um/figures/cubemx_1.png b/development-tools/rtthread-studio/um/figures/cubemx_1.png deleted file mode 100644 index 8b6e4ae7c96d69422c26f30e8b5ae5260c6a0f4b..0000000000000000000000000000000000000000 Binary files a/development-tools/rtthread-studio/um/figures/cubemx_1.png and /dev/null differ diff --git a/development-tools/rtthread-studio/um/figures/cubemx_2.png b/development-tools/rtthread-studio/um/figures/cubemx_2.png deleted file mode 100644 index 31a72c16294af516c79761c297626b3604137185..0000000000000000000000000000000000000000 Binary files a/development-tools/rtthread-studio/um/figures/cubemx_2.png and /dev/null differ diff --git a/development-tools/rtthread-studio/um/figures/cubemx_3.png b/development-tools/rtthread-studio/um/figures/cubemx_3.png deleted file mode 100644 index 518f917c824f6d70d3070add9b2ee5ec4d7fda2e..0000000000000000000000000000000000000000 Binary files a/development-tools/rtthread-studio/um/figures/cubemx_3.png and /dev/null differ diff --git a/development-tools/rtthread-studio/um/figures/cubemx_open.png b/development-tools/rtthread-studio/um/figures/cubemx_open.png new file mode 100644 index 0000000000000000000000000000000000000000..9ed33fc1229b86f2c5fd229f4cacbaa91b09c562 Binary files /dev/null and b/development-tools/rtthread-studio/um/figures/cubemx_open.png differ diff --git a/development-tools/rtthread-studio/um/studio-user-manual.md b/development-tools/rtthread-studio/um/studio-user-manual.md index 56525374f89ca0c22398c83191239019573784cc..cb1f0d58ef2c81e5f45d19afc0e44839ee23721d 100644 --- a/development-tools/rtthread-studio/um/studio-user-manual.md +++ b/development-tools/rtthread-studio/um/studio-user-manual.md @@ -382,31 +382,10 @@ RT-Thread Studio 定制了一套配置 MDK 工程的界面,只要打开工程 RT-Thread Studio 为 STM32CubeMX 提供了快捷的配置入口,可将 STM32CubeMX 配置的内容应用到 RT-Thread Studio 的工程中,不需要用户手动去搬运代码。**前提是您的电脑上已经安装了 STM32CubeMX 软件**。目前只支持完整版或者 Nano 版的基于芯片创建的 ST 系列的工程。 -### 启动 STM32CubeMX +启动 STM32CubeMX 后如果出现如下弹窗提示,请选择 download 下载使用旧版本的 package,否则可能会出现版本不匹配导致编译问题。 +![open](./figures/cubemx_open.png) -这里以 stm32f411RE 为例,演示如何打开 CubeMX 配置。 - -双击工程目录下的 CubeMX Settings, 可以看到执行 CubeMX 的进度框: - -![image-20210312105629551](figures/cubemx_0.png) - -等待十几秒,第一次打开可能时间会稍长,可以看到 STM32CubeMX 已经打开。 - -### 配置 STM32CubeMX - -您可以根据你的需求进行配置,配置完成后,点击 GENERATE CODE,然后点击右上角关闭: - -![image-20210312110838150](figures/cubemx_1.png) - -关闭时,STM32CubeMX 会提示您 cubemx.ioc 已经被修改,是否要保存配置,请点击 Yes,这样您做的配置才会在 RT-Thread Studio 的工程中生效: - -![image-20210312110054727](figures/cubemx_2.png) - -查看工程目录,您会发现在工程目录下自动生成了 STM32CubeMX 的代码: - -![image-20210312110932425](figures/cubemx_3.png) - -接下来,您就可以正常的编译啦。 +**STM32CubeMX 详细的操作说明可跳转[STM32系列外设驱动添加指南](../../../rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32系列外设驱动添加指南.md)** ## 代码编辑 @@ -526,15 +505,15 @@ RT-Thread Studio 为 STM32CubeMX 提供了快捷的配置入口,可将 STM32Cu 构建后生成的 hex 文件,在工程的`Debug`目录下,如下图所示: -![buildhe](../faq/figures/buildhe.png) +![buildhe](../faq/figures/buildhe.png) -### 如何让工程编译生成静态库 +### 如何让工程编译生成静态库 -![设置工程编译生成静态库](../faq/figures/686cfb3e97908fad21a43fd8dd84e69.png) +![设置工程编译生成静态库](../faq/figures/686cfb3e97908fad21a43fd8dd84e69.png) -### 如何设置依赖C99标准 +### 如何设置依赖C99标准 -![输入图片说明](../faq/figures/0136d26272a4302c973ddb1db8b71e1.png) +![输入图片说明](../faq/figures/0136d26272a4302c973ddb1db8b71e1.png) ### 配置其它 @@ -822,25 +801,25 @@ RT-Thread Studio 自 V2.0.0 版本开始支持 PlatformIO 工程的创建、编 **使用方法** -打开Studio,点击工具栏`新建`按钮旁的下拉三角,选择`开发板支持包` +打开Studio,点击工具栏`新建`按钮旁的下拉三角,选择`开发板支持包` -![img](/figures/Create_BSP.png) +![img](/figures/Create_BSP.png) 下图即为开发板制作包工具,共有五栏信息需要填写,左上角打*号的表示该项为必填项。 -![img](/figures/BSP_Info.png) +![img](/figures/BSP_Info.png) 下面对一些所填项进行解释说明,方便大家填写。 -![img](/figures/BSP_Info2.png) +![img](/figures/BSP_Info2.png) ![img](/figures/BSP_Features.png) -![img](/figures/Project_Info.png) +![img](/figures/Project_Info.png) 到此所有信息都填写完成了,可以点击右上角`预览`按钮,检查开发板信息是否填写无误。检查没有问题后可点击`生成`按钮即可生成开发板支持包 -![img](/figures/Project_Info2.png) +![img](/figures/Project_Info2.png) #### 3.测试 @@ -848,7 +827,7 @@ RT-Thread Studio 自 V2.0.0 版本开始支持 PlatformIO 工程的创建、编 1. 将开发板支持包打包成zip格式,目录结构如下: - ![image-20210930114508453](./figures/fzip.png) + ![image-20210930114508453](./figures/fzip.png) 2. 打开SDK 管理器,离线导入支持包 ![image-20210924135108554](/figures/SDK_manager.png) @@ -872,7 +851,7 @@ rt-thread studio 作为一款支持众多芯片厂商的IDE,必不可少地具 SDK manager 通过 SDK index(托管在github) 查找各个支持包的下载地址,下载至本地并解压,因此整个支持包上线的过程就是完善SDK-index中对应信息的过程。 - + ##### 上线流程 @@ -919,14 +898,14 @@ SDK manager 通过 SDK index(托管在github) 查找各个支持包的下载 "STMicroelectronics", "Synwit", "TI", - "WCH", + "WCH", "essemi", "Other" ] } ``` - + + 新建芯片厂商文件夹,名字于上述添加字段相同,如 STMicroelectronics,文件夹中新建index.json,并在此文件中添加此芯片厂商包含的开发板支持包,对于已存在的芯片厂商只需要在已存在的 index.json 中添加新的开发板字段,例如ST @@ -980,7 +959,7 @@ SDK manager 通过 SDK index(托管在github) 查找各个支持包的下载 5. 将改好的 sdk-index 仓库 push 到 github,并向官方 sdk-index 提出 PR 6. PR 合并后,开发板支持包将会更新在 Studio 的 SDK Manager 界面里 -##### index.json 编写规范 {#1} +##### index.json 编写规范 {#1} 索引库按照支持包类型进行目录划分,各级目录下有对应的 index.json 作为索引,下面以添加 STMicroelectronics 的 STM32F746-ST-DISCO 开发板支持包为例,简述编写规范 diff --git a/rt-thread-version/rt-thread-standard/_sidebar.md b/rt-thread-version/rt-thread-standard/_sidebar.md index b1a359300b2c9e9fb2dc48f264fdc8e370c9418a..0165677c4bf037040c03f160022b9610807f9893 100644 --- a/rt-thread-version/rt-thread-standard/_sidebar.md +++ b/rt-thread-version/rt-thread-standard/_sidebar.md @@ -164,7 +164,19 @@ - [常见问题及解决方法](/rt-thread-version/rt-thread-standard/tutorial/qemu-network/faq/faq.md) - [QEMU BLE](/rt-thread-version/rt-thread-standard/application-note/setup/qemu/qemu-ble/qemu_ble.md) - BSP制作 - - [STM32 BSP 制作](/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/stm32-bsp.md) + - STM32系列 + - [驱动介绍](/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32系列驱动介绍.md) + - [BSP制作教程](/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32系列BSP制作教程.md) + - [外设驱动使用教程](/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32系列BSP外设驱动使用教程.md) + - [外设驱动添加指南](/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32系列外设驱动添加指南.md) + - 瑞萨RA系列 + - [驱动介绍](/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA系列驱动介绍.md) + - [BSP制作教程](/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA系列BSP制作教程.md) + - [外设驱动使用教程](/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA系列BSP外设驱动使用教程.md) + - [FSP配置外设教程](/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA系列使用FSP配置外设驱动.md) + - [外设驱动添加指南](/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA系列外设驱动添加指南.md) + + - Demo示例 - 蜂鸣器播放器 - [简介](/rt-thread-version/rt-thread-standard/tutorial/beep-player/README.md) diff --git "a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md" "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md" new file mode 100644 index 0000000000000000000000000000000000000000..ffc0615de1dc7deae7b405187edb666a75b0ffe2 --- /dev/null +++ "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md" @@ -0,0 +1,383 @@ +# RA 系列 BSP 制作教程 + +本文主要介绍 RENESAS RA 系列开发板的 BSP 制作教程,此教程能够帮助开发者更加方便快捷的制作新的 RA 系列 BSP,更好的理解 RA 系列 BSP 的框架结构。 + +在 RA 系列的每个 BSP 目录中包含 RA 模板工程、board、RT-Thread 的工程配置及构建脚本等,而对接到 RT-Thread 系统的通用驱动文件则存放在`renesas\libraries\HAL_Drivers`中。这两个部分共同组成一个完整的 BSP 工程。 + +在 RA 系列的 BSP 中引入了瑞萨电子的**[灵活配置软件包](https://www2.renesas.cn/jp/zh/software-tool/flexible-software-package-fsp)**(下文简称 FSP)配置工具,为使用 RA 系列 ARM 微控制器的嵌入式系统设计提供简单易用且可扩展的高质量软件。FSP 包括高性能、低内存占用的业界一流的 HAL 驱动程序,具有图形化配置界面和智能代码生成器。 + +RA 系列 BSP 框架的主要特性如下: + +- 使用 FSP 生成的 RA 模板工程,降低新 BSP 的添加难度; +- 通用的驱动文件,开发者可以方便地使用所有驱动; +- 使用 FSP 配置工具对芯片外设进行图形化配置; + +## 1. BSP 框架介绍 + +BSP 框架结构如下图所示: + +![BSP 框架图](./figures/frame.png) + +每一个 BSP 主要由两部分组成,分别是通用驱动库、特定开发板 BSP,下面的表格以 ra6m4-cpk 为例介绍这几个部分: + +|项目|文件夹|说明| +| - | - | :-- | +| 通用库 | renesas\libraries\HAL_Drivers | 用于存放对接 RT-Thread 驱动框架的通用外设驱动 | +| 特定开发板 BSP | renesas\ra6m4-cpk | CPK-RA6M4 开发板的 BSP 工程 | + +## 2. 知识准备 + +制作一个 BSP 的过程就是构建一个新系统的过程,因此想要制作出好用的 BSP,要对 RT-Thread 系统的构建过程有一定了解,需要的知识准备如下所示: + +- 掌握 RA 系列 BSP 的使用方法 + + 了解 BSP 的使用方法,可以阅读 [BSP 说明文档](../README.md) 中使用教程表格内的文档。了解外设驱动的添加方法可以参考《外设驱动添加指南》。 + +- 了解 [Scons](https://www.rt-thread.org/document/site/#/development-tools/scons/scons) 工程构建方法 + + RT-Thread 使用 Scons 作为系统的构建工具,因此了解 Scons 的常用命令对制作新 BSP 是基本要求。 + +- 了解[设备驱动框架](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/device) + + 在 RT-Thread 系统中,应用程序通过设备驱动框架来操作硬件,因此了解设备驱动框架,对添加 BSP 驱动是很重要的。 + +- 了解 [Kconfig](https://www.rt-thread.org/document/site/#/development-tools/kconfig/kconfig) 语法 + + RT-Thread 系统通过 menuconfig 的方式进行配置,而 menuconfig 中的选项是由 Kconfig 文件决定的,因此想要对 RT-Thread 系统进行配置,需要对 kconfig 语法有一定了解。 + +- 熟悉 [FSP](https://www2.renesas.cn/jp/zh/software-tool/flexible-software-package-fsp) 配置工具的使用 + + FSP 提供了图形化配置工具和智能代码生成器,在制作和使用 BSP 的过程中经常会用到 FSP 配置工具。 + +## 3. BSP 制作方法 + +本节以制作 CPK-RA6M4 开发板的 BSP 为例,讲解如何为一个新的开发板添加 BSP,最终制作完成的 BSP 将支持 MDK 和 scons 两种方式构建。 + +BSP 的制作过程分为如下步骤: + +1. 创建 BSP 目录 +2. 创建 RA 模板工程 +3. 配置模板工程 +4. 修改 Kconfig 文件 +5. 修改工程构建和配置文件 +6. 重新生成工程 +7. 添加 GCC 格式链接脚本 +8. 修改 rtconfig.py 中的编译参数 + +在接下来的章节中将会详细介绍这些步骤,帮助开发者创建所需要的 BSP。 + +### 3.1 创建 BSP 目录 + +- 创建 BSP 目录不需要直接创建空文件夹,只要复制 BSP 模板 `\renesas\libraries\bsp-template` 文件夹到 `\renesas` 目录并将名称修改为待添加的开发板名即可。命令可参考 **CPK-RA6M4** 的 BSP 命名为 **ra6m4-cpk**,因为 ra6m4-cpk 已经存在,所以本教程使用 **ra6m4-test** 作为新创建的 BSP 名称。 + +![image-20220217155725977](figures/bsp_crate.png) + +![image-20220217160140135](figures/bsp_crate1.png) + +![image-20220217161302858](figures/bsp_crate2.png) + +### 3.2 创建 RA 模板工程 + +第一步是使用 FSP 来创建一个 RA 模板工程。 + +- 在 FSP 安装目录下找到 /eclipse/rasc.exe 双击打开,开启后会自动进入创建工程界面。 + +![fsp_crate](figures/fsp_crate.png) + +![fsp_crate1](figures/fsp_crate1.png) + +![fsp_crate2](figures/fsp_crate2.png) + +![fsp_crate3](figures/fsp_crate3.png) + +![fsp_crate4](figures/fsp_crate4.png) + +![fsp_crate5](figures/fsp_crate5.png) + +![image-20220211182959790](figures/fsp_crate6.png) + +创建完成后会得到一个 RA 模板工程和 BSP 最基本的配置文件和驱动文件,如上图所示。 + +### 3.3 配置模板工程 + +RA 模板工程创建完成后,需要做些修改并添加基础外设 GPIO、UART。 + +- 打开模板工程 `template.uvprojx` + +![image-20220214174740157](figures/template_open.png) + +- 修改 MDK 工程配置 +> **Debug 配置:** 先截图记录下修改前的 Debug 页配置,修改 Device 后 Debug 页的部分配置会发生修改,改完 Device 后手动修改到默认配置。 + +![img](figures/template_config4.png) + +> **Device 配置:**修改 Device 选项,根据开发板使用的具体芯片型号选择 device。 + +![img](figures/template_config.png) + +> **Output 配置:** 修改 `Name of Exexutable`为 rtthread,勾选 `Create HEX File`,因为最终烧录的是 HEX 文件。 + +![image-20220218144358105](figures/template_config1.png) + +> **User 配置:**在用到 TrustZone 时,有额外调用的划分 Secure & Non-Secure 用到的一些指令,如果开发时用的都是 Flat mode 的话,这部分可以忽略。如果需要可以添加命令【cmd /c "start "Renesas" /w cmd /c ""$Slauncher\rasc_launcher.bat" "3.5.0" --gensecurebundle --compiler ARMv6 "$Pconfiguration.xml" "$L%L" 2> "%%TEMP%%\rasc_stderr.out"""】 + +![img](figures/template_config2.png) + +> **C/C++ 配置:**修改编译参数选项关闭部分警告,删除“-Wextra“、”-Wconversion“、”-Wshadow ” 。 +> +> 以 ra6m4-cpk 为例修改后为:-Wno-license-management -Wuninitialized -Wall -Wmissing-declarations -Wpointer-arith -Waggregate-return -Wfloat-equal + +![img](figures/template_config3.png) + +> **Utilities 配置:**如图勾选`Use External Tool for Flash Programming`。配置完成点击 `OK` 保存配置。 + +![img](figures/template_config5.png) + +- 从 MDK 打开 FSP + +> **如何在 MDK 中打开 FSP:** +> +> 1. 打开 MDK,选择 “Tools -> Customize Tools Menu…” +> 2. 点击 “new” 图标,添加一条自定义命令: RA Smart Configurator +> 3. Command 输入工具的安装路径, 点击“…”找到安装路径下的“rasc.exe”文件并选中 (setup_fsp_xxxxx 安装目录下) +> 4. Initial Folder 输入参数: $P +> 5. Arguments 输入参数: --device $D --compiler ARMv6 configuration.xml +> 6. 点击 OK 保存命令“Tools -> RA smart Configurator” + ![img](figures/fsp_config.png) +> 7. 点击添加的命令打开配置工具:**RA Smart Config** + ![img](figures/fsp_config1.png) + +- 添加 UART 端口 +> 选择 Stacks 配置页,点击 New Stack 找到 UART。 + ![image](figures/fsp_uart.png) +> 确认开发板可用于 msh 的 UART 通道。配置 UART 参数,因为需要适配 RT-Thread 驱动中使用的命名所以需要修改,设置 **name** 、**channel** 、**callback** 为一致的标号。格式:channel = **X**,name = g_uart**X**、callback = user_uart**X**_callback + ![image](figures/fsp_uart1.png) + +### 3.4 修改 Kconfig 选项 + +在本小节中修改 `board/Kconfig` 文件的内容有如下两点: + +- 芯片型号和系列 +- BSP 上的外设支持选项 + +芯片系列的定义在`renesas\libraries\Kconfig` 中,修改前先确认是否存在添加的芯片系列定义,如果是一个未添加的系列,需要先添加该芯片系列的定义。芯片型号和系列的命名格式如下表所示。 + +| 宏定义 | 意义 | 格式 | +| ------------------ | -------- | ------------------ | +| SOC_R7FA6M4AF | 芯片型号 | SOC_R7FAxxxxx | +| SOC_SERIES_R7FA6M4 | 芯片系列 | SOC_SERIES_R7FAxxx | + +关于 BSP 上的外设支持选项,一个初次提交的 BSP 仅仅需要支持 GPIO 驱动和串口驱动即可,因此在配置选项中只需保留这两个驱动配置项,如下图所示: + +![修改 Kconfig](./figures/Kconfig.png) + +### 3.5 修改工程构建和配置文件 +接下来需要修改用于构建工程相关的文件。 + +- 修改启动文件 startup.c + +> 源文件路径:**ra6m4-cpk\ra\fsp\src\bsp\cmsis\Device\RENESAS\Source\startup.c** + +```c +#ifdef __ARMCC_VERSION + main(); +#elif defined(__GNUC__) + extern int entry(void); + entry(); +#endif +``` + +![img](figures/startup_c.png) + +- 修改 SRAM 大小配置 + +![image-20220303113833249](figures/board_config.png) + +- 修改 GPIO 中断配置 + +根据 BSP 使用芯片支持的 IRQ 中断情况修改配置文件。可以使用 FSP 配置工具对照查看 IO 引脚号对应的 IRQ 通道。 + +![image-20220217174433724](figures/bsp_gpio.png) + +- 修改初始应用层代码 + +在 RA 系列的 BSP 中,应用层代码存放在 `src/hal_entry.c` 中。使用 FSP 生成的默认应用代码需要全部替换为如下代码,如果开发板没有板载 LED 可以将 `while(1)` 中的代码删除。 + +```c +/* + * Copyright (c) 2006-2021, RT-Thread Development Team + * + * SPDX-License-Identifier: Apache-2.0 + * + * Change Logs: + * Date Author Notes + * 2021-10-10 Sherman first version + */ + +#include +#include "hal_data.h" +#include + +#define LED_PIN BSP_IO_PORT_01_PIN_06 /* Onboard LED pins */ + +void hal_entry(void) +{ + rt_kprintf("\nHello RT-Thread!\n"); + + while (1) + { + rt_pin_write(LED_PIN, PIN_HIGH); + rt_thread_mdelay(500); + rt_pin_write(LED_PIN, PIN_LOW); + rt_thread_mdelay(500); + } +} +``` + + + +### 3.6 重新生成工程 + +重新生成工程需要使用 Env 工具。 + +- 重新生成 rtconfig.h 文件 + +在 Env 界面输入命令 menuconfig 对工程进行配置,并生成新的 rtconfig.h 文件。如下图所示: + +![输入menuconfig进入配置界面](./figures/menuconfig_1.png) + +打开 GPIO 和 console 使用的 UART 端口。 + +![选择要打开的外设](./figures/menuconfig_2.png) + +修改 console 输出使用的设备名称。 + +![image-20220303103240414](figures/menuconfig2.png) + +- 生成 MDK 应用工程 +下面以重新生成 MDK 工程为例,介绍如何重新生成 BSP 工程。 + +使用 env 工具输入命令 `scons --target=mdk5` 重新生成工程,如下图所示: + +![重新生成 BSP 工程](./figures/menuconfig_3.png) + +重新生成工程成功: + +![重新生成 BSP 工程](./figures/menuconfig_4.png) + +到这一步,基于 MDK 开发的 BSP 就可以使用了。如果要使用 GCC 工具链编译还需加入 GCC 格式的链接脚本。 + +### 3.7 添加 GCC 格式链接脚本 + +GCC 格式的链接脚本需要使用到瑞萨的 IDE 工具 e2studio。在 e2studio 中创建新的工程,步骤如下: + +![image-20220218114041568](figures/e2studio1.png) + +![image-20220218113955219](figures/e2studio.png) + +![image-20220218114633339](figures/e2studio2.png) + +![image-20220218114839257](figures/e2studio3.png) + +![image-20220218115035562](figures/e2studio4.png) + +![image-20220218115332866](figures/e2studio5.png) + +工程创建完成后,我们需要将工程中的两个 xxx.ld 文件 copy 到 BSP 中的 script 目录下。 + +![image-20220218115715957](figures/e2studio6.png) + +- 修改链接脚本 + +> 链接脚本文件路径:**ra6m4-cpk\script\fsp.ld** + +![image-20220215182642126](figures/linkscript1.png) + +> 将下面的代码复制到 text 段中,**注意要添加到 text{ } 括号内** + +```shell +/* section information for finsh shell */ +. = ALIGN(4); +__fsymtab_start = .; +KEEP(*(FSymTab)) +__fsymtab_end = .; + +. = ALIGN(4); +__vsymtab_start = .; +KEEP(*(VSymTab)) +__vsymtab_end = .; + +/* section information for initial. */ +. = ALIGN(4); +__rt_init_start = .; +KEEP(*(SORT(.rti_fn*))) +__rt_init_end = .; + +. = ALIGN(4); +KEEP(*(FalPartTable)) +``` + +> 添加后如下图所示: + +![img](figures/linkscript.png) + +### 3.8 修改 rtconfig.py 中的编译参数 + +![image-20220303165348085](figures/rtconfig_py.png) + +除了上图的内核类型,还有编译参数的配置需要确认。相关配置项说明可查看文档中心对于 scons 工具的介绍。[跳转链接](https://www.rt-thread.org/document/site/#/development-tools/scons/scons?id=编译器选项) + + + +至此,一个基础的支持 GCC 和 MDK 的 BSP 工程就创建完成了,接着就可以使用 MDK 或 scons 验证开发的工程是否可编译、可运行。 + +感谢每一位贡献代码的开发者,RT-Thread 将与你一同成长。 + +## 4. 规范 + +本章节介绍 RT-Thread RA 系列 BSP 制作与提交时应当遵守的规范 。开发人员在 BSP 制作完成后,可以根据本规范提出的检查点对制作的 BSP 进行检查,确保 BSP 在提交前有较高的质量 。 + +### 4.1 BSP 制作规范 + +RA 的制作规范主要分为 3 个方面:工程配置,ENV 配置和 IDE 配置。在已有的 RA 系列 BSP 的模板中,已经根据下列规范对模板进行配置。在制作新 BSP 的过程中,拷贝模板进行修改时,需要注意的是不要修改这些默认的配置。BSP 制作完成后,需要对新制作的 BSP 进行功能测试,功能正常后再进行代码提交。 + +下面将详细介绍 BSP 的制作规范。 + +#### 4.1.1 工程配置 + +- 遵从RT-Thread 编码规范,代码注释风格统一 +- main 函数功能保持一致 + - 如果有 LED 的话,main 函数里**只放一个** LED 1HZ 闪烁的程序 +- 在 `rt_hw_board_init` 中需要完成堆的初始化:调用 `rt_system_heap_init` +- 默认只初始化 GPIO 驱动和 FinSH 对应的串口驱动,不使用 DMA +- 当使能板载外设驱动时,应做到不需要修改代码就能编译下载使用 +- 提交前应检查 GCC、MDK 编译器直接编译或者重新生成后编译是否成功 +- 使用 `scons --dist` 命令对 BSP 进行发布,检查使用 `dist` 命令生成的工程是否可以正常使用 + +#### 4.1.2 ENV 配置 + +- 系统心跳统一设置为 1000(宏:RT_TICK_PER_SECOND) +- BSP 中需要打开调试选项中的断言(宏:RT_DEBUG) +- 系统空闲线程栈大小统一设置为 256(宏:IDLE_THREAD_STACK_SIZE) +- 开启组件自动初始化(宏:RT_USING_COMPONENTS_INIT) +- 需要开启 user main 选项(宏:RT_USING_USER_MAIN) +- 默认关闭 libc(宏:RT_USING_LIBC) +- FinSH 默认只使用 MSH 模式(宏:FINSH_USING_MSH_ONLY) + +#### 4.1.3 IDE 配置 + +- 使能下载代码后自动运行 +- 使能 C99 支持 +- 使能 One ELF Section per Function(MDK) +- MDK/IAR 生成的临时文件分别放到build下的 MDK/IAR 文件夹下 +- MDK/GCC/IAR 生成 hex 文件名字统一成 rtthread.hex + +### 4.2 BSP 提交规范 + +- 提交前请认真修改 BSP 的 README.md 文件,README.md 文件的外设支持表单只填写 BSP 支持的外设,可参考其他 BSP 填写。查看文档[《RA系列驱动介绍》](./RA系列驱动介绍.md)了解驱动分类。 +- 提交 BSP 分为 2 个阶段提交: + - 第一阶段:基础 BSP 包括串口驱动和 GPIO 驱动,能运行 FinSH 控制台。完成 MDK5 、IAR 和 GCC 编译器支持,如果芯片不支持某款编译器(比如MDK4)可以不用做。 BSP 的 README.md 文件需要填写第二阶段要完成的驱动。 + - 第二阶段:完成板载外设驱动支持,所有板载外设使用 menuconfig 配置后就能直接使用。若开发板没有板载外设,则此阶段可以不用完成。不同的驱动要分开提交,方便 review 和合并。 +- 只提交 BSP 必要的文件,删除无关的中间文件,能够提交的文件请对照其他 BSP。 +- 提交前要对 BSP 进行编译测试,确保在不同编译器下编译正常 +- 提交前要对 BSP 进行功能测试,确保 BSP 的在提交前符合工程配置章节中的要求 diff --git "a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227BSP\345\244\226\350\256\276\351\251\261\345\212\250\344\275\277\347\224\250\346\225\231\347\250\213.md" "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227BSP\345\244\226\350\256\276\351\251\261\345\212\250\344\275\277\347\224\250\346\225\231\347\250\213.md" new file mode 100644 index 0000000000000000000000000000000000000000..35f218a8624caae0b833bff0c08c01e931125f9a --- /dev/null +++ "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227BSP\345\244\226\350\256\276\351\251\261\345\212\250\344\275\277\347\224\250\346\225\231\347\250\213.md" @@ -0,0 +1,93 @@ +# RA系列BSP外设驱动使用教程 + +## 1. 简介 + +本文档是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。 + +主要包括以下内容: + +1. 如何使用开发板上更多的板载资源 +2. 如何使用更多的片上资源 +3. 如何添加更多片上资源选项 + +## 2. 前提要求 + +- 学会如何使用 ENV 工具,参考:[RT-Thread env 工具用户手册](https://www.rt-thread.org/document/site/programming-manual/env/env/) +- 熟悉 [FSP](https://www2.renesas.cn/jp/zh/software-tool/flexible-software-package-fsp) 配置工具的使用 + +## 3. 如何使用更多的外设资源 + +开发板上一般有很多外设资源,如 SPI、SDIO、ADC 等,但是 BSP 工程默认没有开启这些外设驱动。RT-Thread 提供了 ENV 工具来开启或关闭 BSP 的外设驱动。本文以 RA6M4-CPK 开发板上开启 SPI 驱动为例,一步步地展示如何使用 ENV 工具对 BSP 进行配置。 + +### 3.1 打开配置工具 + +在 BSP 目录下打开 menuconfig 配置界面。 + +![image-20220218162910778](figures/menuconfig_ra6m4cpk.png) + +打开的配置工具界面如下所示: + ![config1](figures/config1.png) + +通过键盘上的上下键移动光标,选中 `Hardware Drivers Config`然后按回车键进入硬件驱动配置菜单。 + +### 3.2 进入硬件驱动配置菜单 + +在硬件配置菜单里有三个选项,分别是 **板载外设配置菜单**、**片上外设配置菜单**和**扩展模块配置菜单**,使用下键切换到片上外设,按回车键进入配置菜单。 + +![硬件驱动配置菜单](figures/config2.png) + +### 3.3 在板载外设配置菜单里开启 SPI Flash 选项 + +![image-20220218163357420](figures/menuconfig_spi.png) + +![image-20220218163714429](figures/menuconfig_spi1.png) + + + +### 3.4 保存退出 + +然后右移光标选中 Save 按回车键保存,然后按 Esc 键退出配置工具。 + +![保存退出](figures/save.png) + + + +### 3.5 生成 MDK5 工程 + +输入命令 `scons --target=mdk5` 重新生成 MDK5 的工程。 + +![image-20220218164532436](figures/scons_mdk5.png) + +### 3.6 FSP 添加 SPI 外设 + +![image-20220218171841353](figures/fsp_spi.png) + +![image-20220218172446068](figures/fsp_spi1.png) + +在 Pins 中配置 SPI1 端口引脚。**注意: SSLx 片选引脚设为 None,片选引脚的控制在驱动程序中由软件控制。** + +配置完成,保存退出 FSP。 + +![image-20220218174145848](figures/fsp_spi2.png) + +### 3.7 测试验证 + +回到生成的 MDK5 工程并编译。使用 FSP 配置完成后如果有新的文件添加进工程中,不会马上添加进去。需要先编译一次,如果弹出如下提醒,选择 “是” 然后再次编译即可。 + +![image-20220218174811328](figures/mdk_build.png) + +编译成功后,点击 debug 按钮下载并进入调试页面。 + +![image-20220218175442360](figures/mdk_build1.png) + +### 3.8 查看运行结果 + +程序运行后,输入命令 `list_device` 可以看到名为 spi1 的总线设备,此时 SPI1 总线已经可以使用了。 + +![image-20220218175926965](figures/run_spi1.png) + +## 4. 总结 + +本文以 SPI 为例介绍了外设驱动使用的操作流程,其他类型的外设如何使用和配置请查看:[RA系列使用FSP配置外设驱动.md](RA系列使用FSP配置外设驱动.md) + +当开发者需要使用未开启的外设时,只要在 ENV 工具中使能相关的外设,然后在 FSP 中添加即可,重新生成的工程中就会添加对应的驱动文件。 \ No newline at end of file diff --git "a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227\344\275\277\347\224\250FSP\351\205\215\347\275\256\345\244\226\350\256\276\351\251\261\345\212\250.md" "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227\344\275\277\347\224\250FSP\351\205\215\347\275\256\345\244\226\350\256\276\351\251\261\345\212\250.md" new file mode 100644 index 0000000000000000000000000000000000000000..5e4ef2ebaeb059f6a0becf47f570a78bcc6c65c3 --- /dev/null +++ "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227\344\275\277\347\224\250FSP\351\205\215\347\275\256\345\244\226\350\256\276\351\251\261\345\212\250.md" @@ -0,0 +1,324 @@ +# RA系列使用 FSP 配置外设驱动 + +## 1. 准备工作 + +### 1.1 在 MDK 中添加用于启动FSP的自定义命令 + +1. 打开 MDK,选择 “Tools -> Customize Tools Menu…” +2. 点击 “new” 图标,添加一条自定义命令: RA Smart Configurator +3. Command 输入工具的安装路径, 点击“**…**”找到安装路径下的“rasc.exe”文件并选中 (rasc 安装目录下) +4. Initial Folder 输入参数: $P +5. Arguments 输入参数: --device $D --compiler ARMv6 configuration.xml +6. 点击 OK 保存命令 + +![img](figures/customize.png) + +7. 点击添加的命令 “Tools -> RA smart Configurator”,**打开配置工具**:RA Smart Config + +![image.png](figures/openrasc.png) + +PS:以上相关操作也可以在 FSP 的说明文档中找到。 + +FSP 文档:https://www2.renesas.cn/jp/zh/software-tool/flexible-software-package-fsp#document + +### 1.2 注意事项 + +#### 1.2.1 FSP 版本选择 + +RA系列已更新 **FSP 3.5.0** 版本的支持,请使用 **FSP 3.5.0** 版本进行配置修改,**旧版本可能存在兼容性问题**。 + +**使用 RASC 前请务必检查 FSP version 、Board、Device 配置项是否正确。** + +![fsp_version](figures/fsp_version.png) + +#### 1.2.2 更新工程配置 + +使用 FSP 配置完成后如果有新的文件添加进工程中,不会马上添加进去。需要先编译一次,如果弹出如下提醒,选择 “是” 然后再次编译即可。 + +![img](figures/import_changes.png) + +## 2. 使用 FSP 添加并配置外设 + +**PS:文档中的外设添加步骤均为单独配置的说明,排版顺序不代表外设添加顺序,如遇到引脚冲突请查阅开发板及芯片手册的相关章节。** + +### UART + +如何添加一个 UART 端口外设配置? + +1. 选择 Stacks 配置页,点击 New Stack 找到 UART。 +![image.png](figures/fsp_uart.png) + +2. 配置 UART 参数,因为需要适配 RT-Thread 驱动中使用的命名,所以需要修改命名,设置**name** 、**channel** 、**callback** 为一致的标号。 +![image.png](figures/fsp_uart1.png) + +### GPIO 中断 + +如何添加一个 IO 中断? + +1. 选择引脚编号,进入配置,比如选择 P105 做为中断引脚。可先找到引脚查看可配置成的 IRQx 通道号。 + +![image-20211103200949759](figures/p105.png) + +2. 打开 ICU 中断通道 IRQ00 + +![image-20211103200813467](figures/irq0.png) + +3. 创建 stack 并进入配置。因为需要适配 RT-Thread 驱动中使用的命名,所以需要修改命名,设置 **name** 、**channel** 、**callback** 为一致的标号。选择你希望的触发方式,最后保存配置,生成配置代码。 + +![](figures/1635929089445.png) + +![image-20211103201047103](figures/irq1.png) + +4. 测试中断是否成功开启 + + ```c + #define IRQ_TEST_PIN "p105" + void irq_callback_test(void *args) + { + rt_kprintf("\n IRQ00 triggered \n"); + } + + void icu_sample(void) + { + /* init */ + rt_uint32_t pin = rt_pin_get(IRQ_TEST_PIN); + rt_kprintf("\n pin number : 0x%04X \n", pin); + rt_err_t err = rt_pin_attach_irq(pin, PIN_IRQ_MODE_RISING, irq_callback_test, RT_NULL); + if(RT_EOK != err) + { + rt_kprintf("\n attach irq failed. \n"); + } + err = rt_pin_irq_enable(pin, PIN_IRQ_ENABLE); + if(RT_EOK != err) + { + rt_kprintf("\n enable irq failed. \n"); + } + } + MSH_CMD_EXPORT(icu_sample, icu sample); + ``` + +### WDT + +1. 创建 WDT + +![image-20211019152302939](figures/wdt.png) + +2. 配置 WDT,需要注意在 RT-Thread 中只使用了一个 WDT 设备,所以没有对其进行编号,如果是新创建的 WDT 设备需要注意 name 字段,在驱动中默认使用的是`g_wdt` 。 + +![image-20211019152407572](figures/wdt_config.png) + +3. 如何在 ENV 中打开 WDT 以及[WDT 接口使用说明](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/watchdog/watchdog) + +![image-20211027183406251](figures/wdt_env.png) + +### RTC + +1. 添加 RTC 设备 + +![image-20211019152536749](figures/rtc.png) + +2. 配置 RTC,需要注意在 RT-Thread 中只是用了一个 RTC 设备,所以没有对其进行编号,如果是新创建的 RTC 设备需要注意 name 字段,在驱动中默认使用的是`g_rtc` 。修改 Callback 为 rtc_callback + +![image-20211019152627412](figures/rtc_config.png) + +3. 如何在 ENV 中打开 RTC 以及[ RTC 接口使用说明](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/rtc/rtc) + +![image-20211027181550233](figures/rtc_env.png) + +### Flash + +1. 创建 Flash + +![image-20211026105031200](figures/add_flash.png) + +2. 配置 Flash,需要注意在 RT-Thread 中只使用了一个 flash 设备,所以没有对其进行编号,如果是新创建的 flash 设备需要注意 name 字段,在驱动中默认使用的是`g_flash` 。 + +![image-20211026105628706](figures/config_flash.png) + +3. 如何在 ENV 中打开 Flash + +![image-20211026123252310](figures/flash_menuconfig.png) + +### SPI + +1. 添加一个 SPI 外设端口 + +![image-20211027180820968](figures/spi_add.png) + +2. 配置 channel、name、Clock Phase、Clock Polarity、Callback、 SPI Mode 等参数,波特率在代码中可通过 API 修改,这里可以设置一个默认值。 + +![img](figures/fsp_spi1.png) + +3. 在 Pins 中打开 SPI1 ,配置端口引脚。**注意:请勿在此处配置 SSLx 片选引脚,片选引脚的控制在驱动程序中由软件控制。** + +![image-20211209162334093](figures/fsp_spi2.png) + + +4. 如何在 ENV 中打开 SPI 以及 [SPI 接口使用说明](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/spi/spi) + + ![image-20211027181444023](figures/spi_env.png) + +### ADC/DAC + +创建 ADC/DAC + +![img](figures/adc_dac.png) + +- **ADC** + +1. 配置 name、unit、mode,选择扫描的通道编号 + +![img](figures/adc_config.png) + +2. 配置扫描通道对应的引脚 + +![img](figures/adc_config1.png) + +3. 在 menuconfig 中打开对应的通道 + +- **DAC** + +1. 需要先关闭 P014 的默认 mode + +![img](figures/dac_config0.png) + +2. 开启 DAC0 通道 + +![img](figures/dac_config1.png) + +3. 修改通道号为 0,与 DAC0 对应 + +![img](figures/dac_config2.png) + +4. 在 menuconfig 中打开对应的通道 + +### PWM(GPT) + +GPT 定时器在该芯片中可作为通用定时器,也可以用于产生 PWM 信号。在将其用于产生 PWM 信号时,GPT 定时器提供了 gpt0 - gpt9 总共 10 个通道,每个通道可以设定两个输出端口。当前版本的 PWM 驱动将每个通道都看做一个单独的 PWM 设备,每个设备都只有一个通道。用户可以选择开启一个通道的任意一个输出端口,或将两个端口均开启,但在同时开启两个端口的情况下,它们输出的波形将完全一致。 + +1. 添加 GPT 设备 + +![img](./figures/add_gpt1.png) + +2. 配置通道 + +![img](./figures/add_gpt2.png) + + 对 GPT 较为关键的配置如图所示,具体解释如下: + + 1. 将``Common`` ->``Pin Output Support`` 设置为 Enable ,以开启 PWM 波形的输出。 + 2. 指定 GPT 通道,并根据通道数指定 GPT 的名称,例如此处指定 GPT 通道 3 ,所以 GPT 的名称必须为``g_timer3``。并且将定时器模式设置为 PWM ,并指定每个 PWM 周期的计数值。 + 3. 设定 PWM 通道默认输出的占空比,这里为 50% 。 + 4. 设定 GPT 通道下两个输出端口的使能状态。 + 5. 此处设置 GPT 通道下两个输出端口各自对应的引脚。 +3. 配置输出引脚 + +![img](./figures/add_gpt3.png) + + 在完成上一步对 GPT 定时器的设置后,根据图示找到对应 GPT 通道输出引脚设置的界面(这里是 GPT3),将图中标号 **1** 处设置为 ``GTIOCA or GTIOCB`` ,并根据需要在图中标号 **2** 处设置 GPT 通道下两个输出端口各自对应的输出引脚。 + + 4. 在 menuconfig 中打开对应的通道,[RT-Thread 的 pwm 框架介绍](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/pwm/pwm) + +![image-20211103202216381](figures/pwm_env.png) + +### CAN + +1. 添加CAN + +![image-20211102145023112](figures/can.png) + +2. 配置Callback为 `can0_callback` 或 `can1_callback` + +![image-20211102145227603](figures/can_callback.png) + +3. 配置其他选项,并生成代码。 + +4. 使用ENV使能CAN。[CAN设备使用说明](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/can/can) + +![image-20211102145613309](figures/can_menuconfig.png) + +### SDHI + +1. 添加sdhi驱动 + +![添加sdhi驱动](figures/sdhi_config.png) + +1. 添加DMAC + +![添加DMAC](figures/dmac_config.png) + +2. 设置DMAC中断 + +![设置DMAC中断](figures/dmac_int.png) + +3. 设置SDHI中断和引脚 + +![设置SDHI](figures/sdhi_config1.png) + +4. 在ENV中打开SDHI + +![打开SDHI](figures/sdhi_env.png) + +5. 在ENV中配置DFS,添加文件系统,如FatFS + +![配置DFS](figures/sdhi_dfs.png) + +6. 在命令行中,使用 `mkfs sd0 -t elm` 格式化sd卡 + +7. 在命令行中,使用 `mount sd0 / elm` 将sd0挂载到 `/` + +8. 参考RT-Thread DFS使用手册[虚拟文件系统 (rt-thread.org)](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/filesystem/filesystem) + +### WiFi 模块: [RW007 ](https://github.com/RT-Thread-packages/rw007) + +1. 软件包配置中找到 RW007,并修改为下图配置。 + +![image-20211108142805319](figures/rw007_pkg.png) + +2. menuconfig 中打开驱动的 RW007 配置,默认使用了 SPI1 端口。所以需要打开 SPI1 总线。 + +![image-20211108142453678](figures/rw007_spi.png) + +![image-20211213212034701](figures/drv_rw007.png) + +3. 在设备驱动框架中打开 [WLAN 框架](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/wlan/wlan), + +![image-20211108143027485](figures/rw007_wlan.png) + +在网络配置中打开 NETDEV 组件: + +![image-20211108143712513](figures/rw007_netdev.png) + +在 kernel 中打开 mempool 配置: + +![image-20211209161902884](figures/rw007_mempool.png) + +4. FSP 中打开添加 SPI 外设端口,[如何添加SPI](#SPI)。下图以 SPI1 端口为例的配置如下: + +![image-20211108183631379](figures/fsp_spi1.png) + +5. RW007 有一个从机控制的 INT 引脚,需要占用一个 IRQ 通道,下图以 P506 为例的配置如下: + +![image-20211108183724282](figures/rw007_int.png) + +6. RW007 的 RESET 控制引脚修改默认配置,这里在 RASC 中 mode 设为关闭,交由 RW007 中进行控制。 + +![image-20211213144108558](figures/rw007_reset.png) + +7. 配置完成,检查 MDK 工程中是否加入了必要的文件 + +![image-20211109102232233](figures/rw007_mdk.png) + +8. 编译下载,验证结果。 + +系统启动会自动获取 RW007 的信息,输入`wifi scan` 命令扫描环境中的 WiFi 信号。[更多 WiFi 命令](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/wlan/wlan?id=finsh-%e5%91%bd%e4%bb%a4) + +![image-20211109103856130](figures/rw007_test.png) + +使用 `WiFi join` 命令连接 WiFi 热点 : + +![image-20211109104735733](figures/rw007_wifijoin.png) + +使用 `ping rt-thread.com` 测试网络连接: + +![image-20211109104700939](figures/rw007_ping.png) \ No newline at end of file diff --git "a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227\345\244\226\350\256\276\351\251\261\345\212\250\346\267\273\345\212\240\346\214\207\345\215\227.md" "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227\345\244\226\350\256\276\351\251\261\345\212\250\346\267\273\345\212\240\346\214\207\345\215\227.md" new file mode 100644 index 0000000000000000000000000000000000000000..b5fb0da7163317135b4cbeb371d005f6e8ec6c5f --- /dev/null +++ "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227\345\244\226\350\256\276\351\251\261\345\212\250\346\267\273\345\212\240\346\214\207\345\215\227.md" @@ -0,0 +1,63 @@ +# RA 系列外设驱动添加指南 + +## 1. 简介 + +本文档是为需要给现有的 RA 系列 BSP 添加更多外设驱动的开发者准备的。通过阅读本文,开发者可以按照自己的实际情况给现有 BSP 添加自己需要的驱动。 + +## 2. 前提要求 + +- 熟练使用 ENV 工具,参考:[RT-Thread env 工具用户手册](https://www.rt-thread.org/document/site/rtthread-development-guide/rtthread-tool-manual/env/env-user-manual/) +- 熟悉 [Kconfig](https://www.rt-thread.org/document/site/#/development-tools/kconfig/kconfig) 语法 +- 熟悉 [FSP](https://www2.renesas.cn/jp/zh/software-tool/flexible-software-package-fsp) 工具 +- 了解 RT-Thread [设备驱动框架](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/device) + +## 3. 如何添加更多的外设驱动选项 + +本章节以添加片上外设驱动为例,讲解如何为 BSP 添加更多可用驱动。如果想使用的片上外设是 `片上外设配置菜单` 里没有的,就需要开发者自己添加了。下面我们将演示如何为 ra6m4-cpk 添加 UART9 端口。 + +添加 UART 的外设支持需要以下步骤: + +### 3.1 修改 Kconfig 文件 + +打开 BSP 中的 board\kconfig 文件,添加 UART9 配置。 + +![image-20220221161853343](figures/add_uart.png) + +![image-20220221163152761](figures/add_uart1.png) + +修改完成后,在 BSP 目录下打开 ENV 工具,命令行输入 `menuconfig` 命令查看 UART9 配置是否已添加。 + +![image-20220221164229974](figures/add_uart2.png) + +### 3.2 修改 uart_config.h 文件 + +Kconfig 的配置添加完成,还需要在配置文件和驱动文件中添加相应的配置。 + +打开 `libraries\HAL_Drivers\config\ra6m4\uart_config.h` 文件添加 UART9 配置。 + +![image-20220221170945734](figures/add_uart3.png) + +### 3.3 修改 drv_usart_v2.h 文件 + +打开 `libraries\HAL_Drivers\drv_usart_v2.c`,添加如下代码: + +![image-20220221171806580](figures/add_uart4.png) + +![image-20220221172034531](figures/add_uart5.png) + +### 3.4 测试验证 + +1. 在 menuconfig 中打开 UART9 并保存配置,使用 `scons --target=mdk5` 命令重新生成 MDK 工程。 +2. 从 project 工程中打开 FSP 配置工具,添加 UART9 端口 + +![image-20220221180942314](figures/add_uart6.png) + +![image-20220221183752087](figures/add_uart8.png) + +3. 配置 UART9 对应的 IO 引脚,保存并退出。 + +![image-20220221183405828](figures/add_uart7.png) + +4. 编译、debug 下载,输入 list_device 命令可以看到 uart9 设备已经注册到内核,说明设备添加成功,接下来就可以使用 UART9 端口进行通信了。 + +![image-20220221185534932](figures/add_uart9.png) diff --git "a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227\351\251\261\345\212\250\344\273\213\347\273\215.md" "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227\351\251\261\345\212\250\344\273\213\347\273\215.md" new file mode 100644 index 0000000000000000000000000000000000000000..b125bf0c947140edb3675578ebce28a9709f66fe --- /dev/null +++ "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/RA\347\263\273\345\210\227\351\251\261\345\212\250\344\273\213\347\273\215.md" @@ -0,0 +1,62 @@ +# RA系列驱动介绍 + +在 RT-Thread 实时操作系统中,各种各样的设备驱动是通过一套 I/O 设备管理框架来管理的。设备管理框架给上层应用提供了一套标准的设备操作 API,开发者通过调用这些标准设备操作 API,可以高效地完成和底层硬件外设的交互。设备管理框架的结构如下图所示: + +![image-20220308143402996](figures/rtdevice.png) + +使用 I/O 设备管理框架开发应用程序,有如下优点: + +- 使用同一套标准的 API 开发应用程序,使应用程序具有更好的移植性 +- 底层驱动的升级和修改不会影响到上层代码 +- 驱动和应用程序相互独立,方便多个开发者协同开发 + +## 1. 驱动分类介绍 + +本小节介绍 BSP 提供的不同类别驱动的概念,对一个 BSP 而言,有如下三类驱动: + +- **板载外设驱动**(Onboard Peripheral Drivers):指 MCU 之外,开发板上外设,例如 TF 卡、以太网等 +- **片上外设驱动**(On-chip Peripheral Drivers):指 MCU 芯片上的外设,例如硬件定时器、ADC 和看门狗等 +- **扩展模块驱动**(Board extended module Drivers):指可以通过扩展接口或者杜邦线连接的开发板的模块,例如 RW007 模块 + +这三种外设的示意图如下所示: + +![Peripheral](figures/Peripheral.png) + +## 2. 外设驱动的使用方法 + +当前 RT-Thread 提供的驱动库已经支持 RA 多个系列的 BSP。点击下表中的驱动名称,即可跳转到对应驱动框架的介绍文档。开发者可以通过阅读相关资料,了解如何在应用开发中通过设备驱动框架来使用这些外设驱动。 + +### 2.1 片上外设 + +| 驱动 | 简介 | +| ------------------------------------------------------------ | ------------------------------------------------ | +| [GPIO](https://www.rt-thread.org/document/site/programming-manual/device/pin/pin/) | 操作 GPIO 管脚 | +| [UART](https://www.rt-thread.org/document/site/programming-manual/device/uart/uart/) | 通过串口收发数据 | +| [I2C](https://www.rt-thread.org/document/site/programming-manual/device/i2c/i2c/) | 通过软件 I2C 收发数据 | +| [SPI](https://www.rt-thread.org/document/site/programming-manual/device/spi/spi/) | 通过 SPI 收发数据 | +| [ADC](https://www.rt-thread.org/document/site/programming-manual/device/adc/adc/) | 测量管脚上的模拟量 | +| SDIO | 通过 SDIO 读写数据 | +| [TIMER](https://www.rt-thread.org/document/site/programming-manual/device/hwtimer/hwtimer/) | 使用硬件定时器实现测量时间和定时执行回调函数功能 | +| [PWM](https://www.rt-thread.org/document/site/programming-manual/device/pwm/pwm/) | 在特定的管脚输出 PWM 波形 | +| [RTC](https://www.rt-thread.org/document/site/programming-manual/device/rtc/rtc/) | 设置和读取时间 | +| [WDT](https://www.rt-thread.org/document/site/programming-manual/device/watchdog/watchdog/) | 看门狗驱动 | +| [QSPI](https://www.rt-thread.org/document/site/programming-manual/device/spi/spi/#qspi_1) | 通过 SPI(1、2、4线) 收发数据 | + +### 2.2 板载外设 + +| 驱动 | 简介 | +| ------- | --------------------------------------- | +| I2C | 板载 I2C 传感器 | +| SDIO | 适用于 SPI 接口或 SDIO 接口的 SD(TF) 卡 | + +### 2.3 扩展模块 + +| 驱动 | 简介 | +| -------- | ---------------------- | +| [RW007](https://github.com/RT-Thread-packages/rw007) | SPI 接口 WIFI 模块 | +| [HS300x](https://github.com/Guozhanxin/hs300x) | I2C 接口的温湿度传感器 | +| [ZMOD4410](https://github.com/ShermanShao/zmod4410) | I2C 接口的室内空气质量传感器 | + +### 2.4 驱动示例代码 + +在 RT-Thread 的 `examples\test` 目录下,有 RT-Thread 提供的基于不同外设驱动的示例代码。在 env 工具中开启 BSP 中要测试的驱动,并将 `examples\test` 中对应的驱动框架测试文件加入工程,即可快速测试 BSP 中提供的驱动。 \ No newline at end of file diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/1635909864954.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/1635909864954.png new file mode 100644 index 0000000000000000000000000000000000000000..f8a1333083e0c538e87eb372d0413fb04875f4c8 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/1635909864954.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/1635929089445.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/1635929089445.png new file mode 100644 index 0000000000000000000000000000000000000000..24262797b8fffd33b4b02595e03ab08e6db81521 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/1635929089445.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/Kconfig.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/Kconfig.png new file mode 100644 index 0000000000000000000000000000000000000000..09fda4d793aba47cdacf37c46755c0a05ceb5ebf Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/Kconfig.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/Peripheral.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/Peripheral.png new file mode 100644 index 0000000000000000000000000000000000000000..8486043617c1448e1b73e9c5e2d1ce5fa25fd1dc Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/Peripheral.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/adc_config.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/adc_config.png new file mode 100644 index 0000000000000000000000000000000000000000..087f48e9ee4462a3b31cd1914d702180a1b4738e Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/adc_config.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/adc_config1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/adc_config1.png new file mode 100644 index 0000000000000000000000000000000000000000..cdbcc9f409ccde5b5a4fdeea0b6325b297d06e0c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/adc_config1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/adc_dac.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/adc_dac.png new file mode 100644 index 0000000000000000000000000000000000000000..68f1fb8e906506473fb0b32b05783704e0504370 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/adc_dac.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_flash.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_flash.png new file mode 100644 index 0000000000000000000000000000000000000000..ea27ef70510115ec297cb9b492b9739d6a3a7020 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_flash.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_gpt1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_gpt1.png new file mode 100644 index 0000000000000000000000000000000000000000..af8b11cd16694980f12a768c1fd0ed09ff4dacff Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_gpt1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_gpt2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_gpt2.png new file mode 100644 index 0000000000000000000000000000000000000000..3194c3fa3e269557386fa91e86dc2a196ad47a88 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_gpt2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_gpt3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_gpt3.png new file mode 100644 index 0000000000000000000000000000000000000000..674e9717066c2a5ac245daf4762c8a570b90c27f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_gpt3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart.png new file mode 100644 index 0000000000000000000000000000000000000000..99b94298f6c86c8143136739b4a2ad539c69f720 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart1.png new file mode 100644 index 0000000000000000000000000000000000000000..3f5684c9c14a3064dd14a89bc73645fae8db53eb Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart2.png new file mode 100644 index 0000000000000000000000000000000000000000..675cc5c40177aa868f65d05abb1abe98a6f80de1 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart3.png new file mode 100644 index 0000000000000000000000000000000000000000..a1f04e4555d7a1a00b06fd5939467ce9b07fb31c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart4.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart4.png new file mode 100644 index 0000000000000000000000000000000000000000..1232e2fd3cce7f6f758da0690d964e2e5ce1ecdb Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart4.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart5.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart5.png new file mode 100644 index 0000000000000000000000000000000000000000..c73c4a8ad766da5110dcaf045183286d4dfd331e Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart5.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart6.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart6.png new file mode 100644 index 0000000000000000000000000000000000000000..22fa0ef55e0881fc597fb877d3eb4e325a773088 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart6.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart7.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart7.png new file mode 100644 index 0000000000000000000000000000000000000000..6e9688d40d3bd053d6b04914612048c6df1e8b7e Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart7.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart8.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart8.png new file mode 100644 index 0000000000000000000000000000000000000000..b1ff45fb03c608f9d033a5baff10db32b5adb47d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart8.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart9.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart9.png new file mode 100644 index 0000000000000000000000000000000000000000..154e496f8663ecec3507e6622859cae0a80439ea Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/add_uart9.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/board_config.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/board_config.png new file mode 100644 index 0000000000000000000000000000000000000000..4f08c93c088153eeecda4aa2c1d60c1709932f8b Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/board_config.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/bsp_crate.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/bsp_crate.png new file mode 100644 index 0000000000000000000000000000000000000000..1ab8d6e3ce2ab01a867fb6e46c05e1209f76dba1 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/bsp_crate.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/bsp_crate1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/bsp_crate1.png new file mode 100644 index 0000000000000000000000000000000000000000..ab1488869f4bc0c391a70fa5881557882670fbbf Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/bsp_crate1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/bsp_crate2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/bsp_crate2.png new file mode 100644 index 0000000000000000000000000000000000000000..11024eb08a28bd2d9f3ba17f9a3fb57eb20789a1 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/bsp_crate2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/bsp_gpio.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/bsp_gpio.png new file mode 100644 index 0000000000000000000000000000000000000000..019ceec8dccd7d5a6b0b0621859670f279e9e9af Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/bsp_gpio.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/can.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/can.png new file mode 100644 index 0000000000000000000000000000000000000000..0e41463c1b3d9635c032cae3aec57958e2404861 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/can.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/can_callback.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/can_callback.png new file mode 100644 index 0000000000000000000000000000000000000000..f7a2467b2d120e72d2097431404591d59bfa8045 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/can_callback.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/can_menuconfig.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/can_menuconfig.png new file mode 100644 index 0000000000000000000000000000000000000000..ace59e0b1ab90d6494cf94f15e76cfcda49c0ee6 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/can_menuconfig.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/config1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/config1.png new file mode 100644 index 0000000000000000000000000000000000000000..e6ca8f5b3ce14bcdb2338ca430e9c2785abb889b Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/config1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/config2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/config2.png new file mode 100644 index 0000000000000000000000000000000000000000..498b0f99c1b83e6e6347e467e6e9e6e56888a9fe Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/config2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/config_flash.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/config_flash.png new file mode 100644 index 0000000000000000000000000000000000000000..52631d7c45be1c4833653f43effd46a4d02c9e76 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/config_flash.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/config_irq4.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/config_irq4.png new file mode 100644 index 0000000000000000000000000000000000000000..1895217a27b7c1dfcfe3d34117c0cfce1b455b0c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/config_irq4.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/cpk-ra6m4.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/cpk-ra6m4.png new file mode 100644 index 0000000000000000000000000000000000000000..e33531140f00159fd10417f37725b0e75b0fdaba Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/cpk-ra6m4.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/customize.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/customize.png new file mode 100644 index 0000000000000000000000000000000000000000..b3eda618453ff8d1a3c545e93bffc193ba31c682 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/customize.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dac_config0.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dac_config0.png new file mode 100644 index 0000000000000000000000000000000000000000..20ee094ebfc1135a698fa445c6da680f870e3c7a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dac_config0.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dac_config1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dac_config1.png new file mode 100644 index 0000000000000000000000000000000000000000..ec27d0af8b04bf70f4256219860090ff36b70221 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dac_config1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dac_config2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dac_config2.png new file mode 100644 index 0000000000000000000000000000000000000000..b02f8fd7ca7a267cac081dbeba4123e3c68191ac Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dac_config2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dmac_config.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dmac_config.png new file mode 100644 index 0000000000000000000000000000000000000000..d9469316dd6757d053ad20d6d4b762119bc4b648 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dmac_config.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dmac_int.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dmac_int.png new file mode 100644 index 0000000000000000000000000000000000000000..90e485230b2b301696fd09487eb2910d3aa36bce Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/dmac_int.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/drv_rw007.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/drv_rw007.png new file mode 100644 index 0000000000000000000000000000000000000000..3837c1652fb61dc5a8f2b9cc7c460a54d2afc903 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/drv_rw007.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio.png new file mode 100644 index 0000000000000000000000000000000000000000..7a285c35e98d48be3faddef3541d7759136273df Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio1.png new file mode 100644 index 0000000000000000000000000000000000000000..19c9dab6b7f3946c9070a1832de31a5d96fb2000 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio2.png new file mode 100644 index 0000000000000000000000000000000000000000..b9808ab96aac0266333ba1c0649457c460c78c58 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio3.png new file mode 100644 index 0000000000000000000000000000000000000000..4d3215e5fc507e7486dba5e4a4ba658139fc0904 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio4.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio4.png new file mode 100644 index 0000000000000000000000000000000000000000..959f7bd7dcd4db4edb2f93948469ca73d717d42a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio4.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio5.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio5.png new file mode 100644 index 0000000000000000000000000000000000000000..d01ec4c5de8967c2481e3120b091ae83c51c6ed7 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio5.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio6.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio6.png new file mode 100644 index 0000000000000000000000000000000000000000..d92f77aa364ec4cea5975168a8184a3c798daefa Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/e2studio6.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/flash_menuconfig.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/flash_menuconfig.png new file mode 100644 index 0000000000000000000000000000000000000000..13bc010cd2bd7893055cc89f4cd9c46d232620a3 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/flash_menuconfig.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/frame.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/frame.png new file mode 100644 index 0000000000000000000000000000000000000000..f12e8d5592a9c6b952f6e60e6ecfd9e9cf1eab6b Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/frame.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_config.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_config.png new file mode 100644 index 0000000000000000000000000000000000000000..b3eda618453ff8d1a3c545e93bffc193ba31c682 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_config.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_config1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_config1.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a9639db4cbef9930c8cbcf9e4eea673b5a2b44 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_config1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate.png new file mode 100644 index 0000000000000000000000000000000000000000..3ed5ea7be71fdfcb420010748e9efe7b356834fe Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate1.png new file mode 100644 index 0000000000000000000000000000000000000000..0bd1d309ec2498d248b532dfdca3a7c0ffa68c80 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate2.png new file mode 100644 index 0000000000000000000000000000000000000000..91e6f913ed80c2551c518458d6f3ab98f1a8a711 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate3.png new file mode 100644 index 0000000000000000000000000000000000000000..71e5b3a323ba1aac8adaf5343be7075d45ecb503 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate4.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate4.png new file mode 100644 index 0000000000000000000000000000000000000000..102e529cccaade161057312cde1d40efcaa91801 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate4.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate5.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate5.png new file mode 100644 index 0000000000000000000000000000000000000000..d2e2a9fe61ebcc6b6fa6ee2a21e7fcdb61158bdb Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate5.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate6.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate6.png new file mode 100644 index 0000000000000000000000000000000000000000..bad3c3beb401c4d40478677dce2a86f7ba48106e Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_crate6.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_spi.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_spi.png new file mode 100644 index 0000000000000000000000000000000000000000..882d212433ac3e151abe8a00bea00648d6165e45 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_spi.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_spi1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_spi1.png new file mode 100644 index 0000000000000000000000000000000000000000..bbfcf344be6b52e83b8f7e8803b8a211f38b53f7 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_spi1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_spi2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_spi2.png new file mode 100644 index 0000000000000000000000000000000000000000..551b4a68fa6248b512d18c9876fab7a8a098e6c6 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_spi2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_uart.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_uart.png new file mode 100644 index 0000000000000000000000000000000000000000..461bf0de62206ee3fb7847f405c1bbc710cf79a0 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_uart.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_uart1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_uart1.png new file mode 100644 index 0000000000000000000000000000000000000000..bb76a598add607a1056d5f03acf9998bd5f4b5bf Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_uart1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_version.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_version.png new file mode 100644 index 0000000000000000000000000000000000000000..4bcdffff4f9b6b8cfe1381d656dc014198d88b28 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/fsp_version.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/gpio.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/gpio.png new file mode 100644 index 0000000000000000000000000000000000000000..88dfda4f340d590700a2554b504019ed5f421eb1 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/gpio.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/gpio_irq.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/gpio_irq.png new file mode 100644 index 0000000000000000000000000000000000000000..fd2830c23b74a30e088d6134723ad5f32c6d31cb Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/gpio_irq.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/icu_stack.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/icu_stack.png new file mode 100644 index 0000000000000000000000000000000000000000..f322cf7c85f0a47c8e04d8f0c9decb55431592b8 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/icu_stack.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/import_changes.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/import_changes.png new file mode 100644 index 0000000000000000000000000000000000000000..ed6794cd1fbb9c307b166e97921d33c9b5d28fa5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/import_changes.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/irq0.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/irq0.png new file mode 100644 index 0000000000000000000000000000000000000000..46a3d04b50243b93f19735f0c66d6de71a8a667e Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/irq0.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/irq1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/irq1.png new file mode 100644 index 0000000000000000000000000000000000000000..9a2032978f9c1e92be03373077365f6c29b5cbf9 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/irq1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/jflash.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/jflash.png new file mode 100644 index 0000000000000000000000000000000000000000..22675c36672a3b46a84e585ae92f838cac32a3fc Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/jflash.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/jflash1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/jflash1.png new file mode 100644 index 0000000000000000000000000000000000000000..49e33a16f5d708cb68b4803e20993ad342902a79 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/jflash1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/jflash2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/jflash2.png new file mode 100644 index 0000000000000000000000000000000000000000..a2d0aab4e01ad0743985feab51a4ad67162a4cfd Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/jflash2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/jflash3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/jflash3.png new file mode 100644 index 0000000000000000000000000000000000000000..09f4f59758d1ae7a8d5f0d521e66c92e7b62e4ce Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/jflash3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/linkscript.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/linkscript.png new file mode 100644 index 0000000000000000000000000000000000000000..f3aa0d1db09ffadeda4b54a957a71769194df43b Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/linkscript.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/linkscript1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/linkscript1.png new file mode 100644 index 0000000000000000000000000000000000000000..bc4f47a143ac857b350b41d8d6fd1491d30a5773 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/linkscript1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/mdk_build.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/mdk_build.png new file mode 100644 index 0000000000000000000000000000000000000000..2ba9a4a0038de22c74f17a20feb9e80c2b369532 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/mdk_build.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/mdk_build1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/mdk_build1.png new file mode 100644 index 0000000000000000000000000000000000000000..a891f87c7e957040c80bf10569f4d76b96a0f201 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/mdk_build1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig2.png new file mode 100644 index 0000000000000000000000000000000000000000..5ae5b5f4c36c377c676c42bf884b673b08721352 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_1.png new file mode 100644 index 0000000000000000000000000000000000000000..d9fe6b99961c501e622025fe4643470aa1526b5f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_2.png new file mode 100644 index 0000000000000000000000000000000000000000..24f15ee48e8d75abe9b9d678383fc7280eed48aa Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_3.png new file mode 100644 index 0000000000000000000000000000000000000000..a6e23e04dedf27bcbe9d78535544c8bbeced2484 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_4.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_4.png new file mode 100644 index 0000000000000000000000000000000000000000..81c33a97af4da1b53a022681fa23f58d6f26329b Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_4.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_ra6m4cpk.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_ra6m4cpk.png new file mode 100644 index 0000000000000000000000000000000000000000..7c8f9a3d489aa8585247f7bf281647de9b03beb8 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_ra6m4cpk.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_spi.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_spi.png new file mode 100644 index 0000000000000000000000000000000000000000..92c494e2f2083ef4bf11adb18aa49890743f97e3 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_spi.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_spi1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_spi1.png new file mode 100644 index 0000000000000000000000000000000000000000..46fd3831e88721b425d17a5afd0b0279fd0ade3a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/menuconfig_spi1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/openrasc.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/openrasc.png new file mode 100644 index 0000000000000000000000000000000000000000..a3a9639db4cbef9930c8cbcf9e4eea673b5a2b44 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/openrasc.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/p105.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/p105.png new file mode 100644 index 0000000000000000000000000000000000000000..1eccce075c994c89360ca8acf969679034262e85 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/p105.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/pwm_env.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/pwm_env.png new file mode 100644 index 0000000000000000000000000000000000000000..65319f431258cda4314524777c80673da001a564 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/pwm_env.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/readme_faq1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/readme_faq1.png new file mode 100644 index 0000000000000000000000000000000000000000..efdc0e019ea46cc4ebcda77f096fc77a4288e4c5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/readme_faq1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtc.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtc.png new file mode 100644 index 0000000000000000000000000000000000000000..3867015e897180a80aca7d7b626efdb423c4be1e Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtc.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtc_config.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtc_config.png new file mode 100644 index 0000000000000000000000000000000000000000..d2df4fd9edfdb8ca5e92e0d955fbdd9a05c2e3e1 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtc_config.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtc_env.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtc_env.png new file mode 100644 index 0000000000000000000000000000000000000000..b58d1a283dc970cb0d6a008ddfe23553c03981d3 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtc_env.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtconfig_py.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtconfig_py.png new file mode 100644 index 0000000000000000000000000000000000000000..98b209a8a2420a260a078f18f2458404f075f7e3 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtconfig_py.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtdevice.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtdevice.png new file mode 100644 index 0000000000000000000000000000000000000000..f55ff57886599319a94fe81c1ea388ecab070b9c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rtdevice.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/run_spi1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/run_spi1.png new file mode 100644 index 0000000000000000000000000000000000000000..ff0c94463e0748a1c374ba631dad3d996063a506 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/run_spi1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_int.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_int.png new file mode 100644 index 0000000000000000000000000000000000000000..99c1a6dfb247901b600ee48b1675e4a79ca3a7ee Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_int.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_mdk.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_mdk.png new file mode 100644 index 0000000000000000000000000000000000000000..f4996e38d3a4759d1d746dba23a17af0189c7f9e Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_mdk.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_mempool.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_mempool.png new file mode 100644 index 0000000000000000000000000000000000000000..73f543d70b781e563deb907645b693aa728c7dae Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_mempool.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_netdev.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_netdev.png new file mode 100644 index 0000000000000000000000000000000000000000..8b1d0a8e7595ca7055d0e7b0366968a0a8a3e96f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_netdev.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_ping.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_ping.png new file mode 100644 index 0000000000000000000000000000000000000000..7f723137e6c0e950a80d668cbe49c02d0fdf758a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_ping.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_pkg.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_pkg.png new file mode 100644 index 0000000000000000000000000000000000000000..14881e5e9c09791feb5715b1dd69c6867b09bdc6 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_pkg.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_reset.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_reset.png new file mode 100644 index 0000000000000000000000000000000000000000..b5a8fb6b779ba81118c1503eb4cd330f4d95de92 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_reset.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_spi.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_spi.png new file mode 100644 index 0000000000000000000000000000000000000000..cef3e22362dee700cc2493c16a33a71b3b582e98 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_spi.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_test.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_test.png new file mode 100644 index 0000000000000000000000000000000000000000..4a182cc98efdec6a6adb724e4ff262aefce4df12 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_test.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_wifijoin.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_wifijoin.png new file mode 100644 index 0000000000000000000000000000000000000000..3f4485d34f77228d6299741f3f53c7aa40bf927f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_wifijoin.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_wlan.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_wlan.png new file mode 100644 index 0000000000000000000000000000000000000000..9ffa78a98e0175564a162b248330b4084541484d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/rw007_wlan.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/save.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/save.png new file mode 100644 index 0000000000000000000000000000000000000000..cbf0606de935a2040bc32e6a5a86a2a451df336e Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/save.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/scons_mdk5.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/scons_mdk5.png new file mode 100644 index 0000000000000000000000000000000000000000..15be5c4b0c06e5d6248189f449987cac0bace21f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/scons_mdk5.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/sdhi_config.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/sdhi_config.png new file mode 100644 index 0000000000000000000000000000000000000000..dcfb3e49969a617b014dcc05a9649f9a43b76625 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/sdhi_config.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/sdhi_config1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/sdhi_config1.png new file mode 100644 index 0000000000000000000000000000000000000000..ec02ef269c63abda99394f645c1bcadf97ac5e90 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/sdhi_config1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/sdhi_dfs.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/sdhi_dfs.png new file mode 100644 index 0000000000000000000000000000000000000000..b0dfacbfd61dc158809d2fb0882ba688163c10b3 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/sdhi_dfs.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/sdhi_env.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/sdhi_env.png new file mode 100644 index 0000000000000000000000000000000000000000..913c7eaee404c735dfa85719e047cb96261aefc9 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/sdhi_env.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/spi_add.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/spi_add.png new file mode 100644 index 0000000000000000000000000000000000000000..7482589a08261c30f79155c32717dda20b9bc232 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/spi_add.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/startup_c.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/startup_c.png new file mode 100644 index 0000000000000000000000000000000000000000..7a6732052efa0bc9d6209a1c20f4b5e651812c1a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/startup_c.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config.png new file mode 100644 index 0000000000000000000000000000000000000000..e204d4d25138f00b0106cbbd550603d6c417a9f9 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config1.png new file mode 100644 index 0000000000000000000000000000000000000000..ad1442eaca70412dc18f7b215297b30f01423a13 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config2.png new file mode 100644 index 0000000000000000000000000000000000000000..6e2653bffd487005001779221f84b3b63558373a Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config3.png new file mode 100644 index 0000000000000000000000000000000000000000..a2a6d143f216173743ef4849c7945b516eff8072 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config4.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config4.png new file mode 100644 index 0000000000000000000000000000000000000000..8f7342207913c68fabdbf1d83b66ea35acf9fe73 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config4.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config5.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config5.png new file mode 100644 index 0000000000000000000000000000000000000000..fd84cfea60e69e6fa55d59e87d966d6b96079dc5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_config5.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_open.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_open.png new file mode 100644 index 0000000000000000000000000000000000000000..0f98398a6b6b474e4ad37e56ace9f4572aa3e715 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/template_open.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/wdt.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/wdt.png new file mode 100644 index 0000000000000000000000000000000000000000..9ec4d458363ec3a93929fbaefb2a254fb86eea42 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/wdt.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/wdt_config.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/wdt_config.png new file mode 100644 index 0000000000000000000000000000000000000000..cb9e362a4eb9094e6a090ed46a44dc09599458fa Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/wdt_config.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/wdt_env.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/wdt_env.png new file mode 100644 index 0000000000000000000000000000000000000000..a71d29f74ebe907b1716e3db0fec424c87d62300 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/renesas-ra/figures/wdt_env.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/stm32-bsp.md "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md" similarity index 97% rename from rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/stm32-bsp.md rename to "rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md" index 782d5b6e38ee0f74f3b4cf3c169dde25117b857b..91eca7e3a07e98e11d47c51e23c4abbdae761cac 100644 --- a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/stm32-bsp.md +++ "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32\347\263\273\345\210\227BSP\345\210\266\344\275\234\346\225\231\347\250\213.md" @@ -32,7 +32,7 @@ BSP 框架结构如下图所示: - 掌握 STM32 系列 BSP 的使用方法 - 了解 BSP 的使用方法,可以阅读 [STM32 BSP 说明文档](https://gitee.com/rtthread/rt-thread/tree/gitee_master/bsp/stm32/README.md) 中使用教程表格内的文档。了解外设驱动的添加方法可以参考《外设驱动添加指南》。 + 了解 BSP 的使用方法,可以阅读 [BSP 说明文档](../README.md) 中使用教程表格内的文档。了解外设驱动的添加方法可以参考《外设驱动添加指南》。 - 了解 Scons 工程构建方法 @@ -281,7 +281,7 @@ STM32 BSP 的制作规范主要分为 3 个方面:工程配置,ENV 配置和 ### 4.2 BSP 提交规范 -- 提交前请认真修改 BSP 的 README.md 文件,README.md 文件的外设支持表单只填写 BSP 支持的外设,可参考其他 BSP 填写。查看文档[《STM32系列驱动介绍》](https://gitee.com/rtthread/rt-thread/blob/gitee_master/bsp/stm32/docs/STM32%E7%B3%BB%E5%88%97%E9%A9%B1%E5%8A%A8%E4%BB%8B%E7%BB%8D.md)了解驱动分类。 +- 提交前请认真修改 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 和合并。 diff --git "a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32\347\263\273\345\210\227BSP\345\244\226\350\256\276\351\251\261\345\212\250\344\275\277\347\224\250\346\225\231\347\250\213.md" "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32\347\263\273\345\210\227BSP\345\244\226\350\256\276\351\251\261\345\212\250\344\275\277\347\224\250\346\225\231\347\250\213.md" new file mode 100644 index 0000000000000000000000000000000000000000..ad0e7b2ece0d1baee879c5321ae8b81ab400a295 --- /dev/null +++ "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32\347\263\273\345\210\227BSP\345\244\226\350\256\276\351\251\261\345\212\250\344\275\277\347\224\250\346\225\231\347\250\213.md" @@ -0,0 +1,87 @@ +# STM32系列BSP外设驱动使用教程 + +## 简介 + +本文档是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。 + +主要包括以下内容: + +1. 如何使用开发板上更多的板载资源 +2. 如何使用更多的片上资源 +3. 如何添加更多片上资源选项 + +## 前提要求 + +- 学会如何使用 ENV 工具,参考:[RT-Thread env 工具用户手册](https://www.rt-thread.org/document/site/programming-manual/env/env/) + +## 如何使用更多的板载资源 + +开发板上一般有很多板载资源,如 Flash、SD卡、以太网等,但是 BSP 工程默认没有开启这些外设驱动。RT-Thread 提供了 ENV 工具来开启或关闭 BSP 的外设驱动。下面以在正点原子阿波罗 F429 开发板上开启 SPI Flash 驱动为例,一步步的展示如何使用 ENV 工具对 BSP 进行配置。 + +### 1)打开配置工具 + +在目录 `rt-thread\bsp\stm32\stm32f429-atk-apollo` 下打开 menuconfig 配置界面。 + +![打开 menuconfig](figures/menuconfig_apolo.png) + +打开的配置工具界面如下所示: + +![RT-Thread 配置菜单](figures/config1.png) + +通过键盘上的上下键移动光标,选中 `Hardware Drivers Config`然后按回车键进入硬件驱动配置菜单。 + +### 2)进入硬件驱动配置菜单 + +在硬件配置菜单里有三个选项,分别是 **板载外设配置菜单**、**片上外设配置菜单**和**扩展模块配置菜单**,按回车键进入板载外设配置菜单。 + +![硬件驱动 配置菜单](figures/config2.png) + +### 3)在板载外设配置菜单里开启 SPI Flash 选项 + +![板载外设 配置菜单](figures/spi_flash.png) + +### 4)保存退出 + +然后右移光标选中 Save 按回车键保存,然后按 Esc 键退出配置工具。 + +![保存退出](figures/save.png) + +### 5)更新软件包 + +输入命令 `pkgs --update` 使软件包配置生效。 + +![1543477036034](figures/update.png) + +### 6)生成 MDK5 工程 + +输入命令 `scons --target=mdk5 -s` 重新生成 MDK5 的工程。 + +![1543477194829](figures/scons_mdk5.png) + +### 7)编译下载 + +打开生成的 MDK5 工程文件,编译并下载。 + +![1543478492157](figures/complise.png) + +### 8)查看运行结果 + +程序运行后,输入命令 `list_device` 可以看到名为 W25Q256 的块设备,此时 `SPI Flash` 设备已经可以使用了。 + +![1543478742034](figures/run_flash.png) + +## 如何使用更多的片上资源 + +如果想要使用除了当前支持的片上资源(GPIO 和 UART1),又不想开启板载资源的支持,可以通过直接配置 **片上外设配置菜单** 的方式,使用更多片上资源。 + +配置方法和上一章节介绍的 **如何使用更多的板载资源的配置方法** 一样,只是本次需要进入 `片上外设配置菜单`。 + +![1543481275711](figures/on_chip_config.png) + +配置完成后重新生成工程,编译下载,在 FinSH 控制台输入 `list_device` 命令,可以看到 I2C1 总线已经启用。 + +![i2c_device](figures/i2c_device.png) + +## 总结 + +当开发者需要使用未开启的外设时,只要在 ENV 工具中使能相关的外设即可,重新生成的工程中就会添加对应的驱动文件。开发者就可以利用 RT-Thread 提供的驱动开快速开发应用了。 \ No newline at end of file diff --git "a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32\347\263\273\345\210\227\345\244\226\350\256\276\351\251\261\345\212\250\346\267\273\345\212\240\346\214\207\345\215\227.md" "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32\347\263\273\345\210\227\345\244\226\350\256\276\351\251\261\345\212\250\346\267\273\345\212\240\346\214\207\345\215\227.md" new file mode 100644 index 0000000000000000000000000000000000000000..d96d81f2302e530c727cd01a346f7d154029383f --- /dev/null +++ "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32\347\263\273\345\210\227\345\244\226\350\256\276\351\251\261\345\212\250\346\267\273\345\212\240\346\214\207\345\215\227.md" @@ -0,0 +1,165 @@ +# STM32 系列外设驱动添加指南 + +## 1. 简介 + +本文档是为需要给现有的 STM32 BSP 添加更多外设驱动的开发者准备的。通过阅读本文,开发者可以按照自己的实际情况给现有 BSP 添加自己需要的驱动。 + +## 2. 前提要求 + +- 熟练使用 ENV 工具,参考:[RT-Thread env 工具用户手册](https://www.rt-thread.org/document/site/rtthread-development-guide/rtthread-tool-manual/env/env-user-manual/) +- 熟悉 Kconfig 语法 +- 熟悉 STM32CubeMX 工具 +- 对 RT-Thread 设备驱动框架有一定了解 + +## 3. 如何添加更多的外设驱动选项 + +本章节以添加片上外设驱动为例,讲解如何为 BSP 添加更多可用驱动。如果想使用的片上外设是 `片上外设配置菜单` 里没有的,就需要开发者自己添加了。下面我们将演示如何为 stm32f429-atk-apollo BSP 添加 SPI3 驱动。 + +> 没有安装 stm32cubemx 软件的可以访问 STM32cube中文网: ,在 `资源下载` 里下载 stm32cubemx 软件。 + +阿波罗 BSP 默认只支持 SPI1、SPI2 和 SPI5,是不支持 SPI3 的。开发者如果需要使用 SPI3,则需要自己添加。 + +![spi_config](figures/spi_config.png) + +添加 SPI3 的外设支持需要以下几步: + +### 1)打开 STM32CubeMX 工程 + +打开 BSP 的 STM32CubeMX 配置文件。 + +![1543486779576](figures/cubemx.png) + +### 2)按原理图配置 SPI3 的引脚,并生成代码 + +按图示顺序配置 SPI3,并生成代码。 + +![1543487684698](figures/cube_spi3.png) + +> 为 BSP 添加驱动时,STM32CubeMX 工具可以快速的完成**使能外设**和**配置管脚**的工作。而外设初始化,中断配置,DMA配置等等则由 RT-Thread 提供的驱动文件来完成。也就是说,虽然 STM32CubeMX 生成了多个文件用来初始化外设,但 RT-Thread 只使用了 STM32CubeMX 生成的 `stm32fxx_hal_msp.c` 文件和 `stm32fxx_hal_conf.h` 文件。 +> +> 对于不同的外设驱动,通过 STM32CubeMX 工具配置的内容也不一样。开发者可以参考本文档的附录 CubeMX 配置说明章节来了解不同外设的配置方法。 + +### 3)修改 Kconfig 文件 + +打开 board 文件夹下的 Konfig 文件,拷贝 SPI2 的配置项,并重命名 SPI2 为 SPI3。 + +![1543542657074](figures/Kconfig2.png) + +### 4)重新配置工程 + +经过上一步的修改,此时重新打开 ENV 工具,在 menuconfig 中就会出现添加的 SPI3 的配置项。 + +![1543543081284](figures/config5.png) + +### 5)生成工程,检查驱动文件 + +使用 ENV 重新生成工程并打开,检查原有驱动文件是否支持新添加的驱动(查看是否有新驱动的配置文件,中断函数,DMA配置和中断函数等等),如不支持,需参考现有驱动添加相关的代码。 + +![spi_code](figures/spi_code.png) + +### 6)编译下载 + +检查完工程后,编译下载到开发板,程序会自动开始运行。输入 `list_device` 命令,可以看到 spi3 总线已经注册到内核,说明驱动已经添加成功。 + +![1543543446786](figures/run_spi3.png) + + +## 4. 注意事项 + +- 部分驱动如果没有适配 BSP 所属的 STM32 系列,请等待 RT-Thread 团队更新。 + - 驱动文件对 STM32 系列的支持情况可以查看 [STM32系列驱动介绍文档](STM32系列驱动介绍文档.md)。 +- 对于驱动文件或文档说明,有任何建议或者意见,欢迎反馈到 [RT_Thread GitHub](https://github.com/RT-Thread/rt-thread) 网站或 [RT-Thread 官方论坛](https://www.rt-thread.org/qa/forum.php)。 +- 在生成代码时,不要勾选以下选项(即:不让其生成单独的 .c/.h 驱动文件,直接全部更新到 rt-thread 要使用的 stm32xxx_hal_msp.c 文件中) + +![generate-code](figures/generate-code.png) + +## 5. 附录 + +### 5.1 CubeMX配置说明 + +本小节介绍 stm32 系列的 BSP 是如何利用 CubeMX 工具对 BSP 进行配置的。 + +就像文档中提到的那样,stm32 系列的 BSP 只利用了 CubeMX 工具生成的 `stm32XXxx_hal_conf.h` 和 `stm32XXxx_hal_msp.c` 文件。在 HAL 库中, `stm32XXxx_hal_conf.h` 文件里提供的宏开关会决定 HAL 库将哪些外设驱动添加到工程中。 而`stm32XXxx_hal_msp.c` 文件中则存放了在 CubeMX 工具中开启的外设驱动的配置代码。 + +### 5.2 外设配置总结 + +当开发者想要在 BSP 中添加更多驱动时,需要使用 CubeMX 工具来配置这些外设。对于绝大多数驱动的配置,只需要在工具中使能相应的外设即可。但是对于一些复杂的外设,则需要更多的配置内容。下表展示了不同驱动在 CubeMX 工具配置步骤的总结: + +| 序号 | 驱动 | CubeMx 工程中的配置情况(**加粗部分为必做步骤**) | +| :--: | :------- | :----------------------------------------------------------- | +| 1 | GPIO | 无需任何操作 | +| 2 | UART | **开启该外设** ,然后配置所需要的引脚(或者使用默认引脚) | +| 3 | SPI | **开启该外设** ,然后配置所需要的引脚(或者使用默认引脚) | +| 4 | I2C | 依赖于PIN 驱动,无需任何操作 | +| 5 | TIMER | **使能 internal Clock 时钟** ,详细内容可参考5.3章节 | +| 7 | PWM | **首先使能 internal Clock 时钟,然后为 channelx 选项选择PWM Generation CHx,** 最后配置所需要的引脚(或者使用默认引脚) ,详细内容可参考5.3章节 | +| 8 | ADC | **开启该外设,然后选择使用的通道** ,详细内容可参考5.3章节 | +| 9 | RTC | **开启该外设,然后在时钟树状图里将 RTC 选择为 LSE 时钟** | +| 10 | Watchdog | **开启该外设** | +| 11 | EMAC | **配置 ETH 外设的工作模式(一般为 RMII 模式)** | +| 12 | SDRAM | **需要根据板载的 SDRAM 型号配置片选脚,地址线,数据线等** | +| 13 | SDIO | **开启该外设,配置引脚(或者使用默认引脚),SDIO会改变时钟结构,故需重新配置时钟并修改board.c** | + +### 5.3 复杂外设配置说明 + +本章节着重介绍配置步骤较为复杂的驱动。 + +#### 5.3.1 TIMER 外设驱动添加说明 + + 1. 打开 STM32CubeMX 工程,设置 timer 在 Cube 里的选项,如下图所示: + + ![timer CubeMX 配置](figures/timer_config1.png) + + 2. 打开 stm32/stm32f429-atk-apollo/board/Kconfig ,添加 Kconfig 选项。选中自己添加的选项后,生成一遍工程,如下图所示: + + ![timer Kconfig 配置](figures/timer_config2.png) + + 3. 打开工程进行编译,工程会提示 TIM11_CONFIG 未定义。 可以在 stm32/libraries/HAL_Drivers/config/f4/tim_config.h 中进行定义,如下图所示: + + ![timer 编译](figures/timer_config3.png) + ![timer 编译](figures/timer_config4.png) + +#### 5.3.2 PWM 外设驱动添加说明 + + 1. 打开 STM32CubeMX 工程,设置 PWM 在 Cube 里的选项,如下图所示: + + ![pwm CubeMX 配置](figures/pwm_config1.png) + + 2. 打开 stm32/stm32f429-atk-apollo/board/Kconfig ,添加 Kconfig 选项。选中自己添加的选项后,生成一遍工程,如下图所示: + + ![pwm Kconfig 配置](figures/pwm_config2.png) + + 3. 打开工程进行编译,工程会提示 PWM2_CONFIG 未定义。 可以在 stm32/libraries/HAL_Drivers/config/f4/pwm_config.h 中进行定义,如下图所示: + + ![pwm 编译](figures/pwm_config3.png) + ![pwm 编译](figures/pwm_config4.png) + +#### 5.3.3 ADC 外设驱动添加说明 + + 1. 打开 STM32CubeMX 工程,设置 ADC 在 Cube 里的选项,如下图所示: + + ![adc CubeMX 配置](figures/adc_config1.png) + + 2. 打开 stm32/stm32f429-atk-apollo/board/Kconfig ,添加 Kconfig 选项。选中自己添加的选项后,生成一遍工程,如下图所示: + + ![adc Kconfig 配置](figures/adc_config2.png) + + 3. 打开工程进行编译,工程会提示 ADC1_CONFIG 未定义。 可以在 stm32/libraries/HAL_Drivers/config/f4/adc_config.h 中进行定义,如下图所示: + + ![adc 编译](figures/adc_config3.png) + ![adc 编译](figures/adc_config4.png) + +#### 5.3.4 编码器外设驱动添加说明 + + 1. 打开 STM32CubeMX 工程,设置 TIMER 在 Cube 里的选项,如下图所示: + + ![pulse_encoder CubeMX 配置](figures/pulse_encoder_config1.png) + + 2. 打开 stm32/stm32f407-atk-explorer/board/Kconfig ,添加 Kconfig 选项。选中自己添加的选项后,生成一遍工程,如下图所示: + + ![pulse_encoder Kconfig 配置](figures/pulse_encoder_config2.png) + + 3. 打开工程进行编译,工程会提示 PULSE_ENCODER4_CONFIG 未定义。 可以在 stm32/libraries/HAL_Drivers/config/f4/pulse_encoder_config.h 中进行定义,如下图所示: + + ![pulse_encoder 编译](figures/pulse_encoder_config3.png) + ![pulse_encoder 编译](figures/pulse_encoder_config4.png) diff --git "a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32\347\263\273\345\210\227\351\251\261\345\212\250\344\273\213\347\273\215.md" "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32\347\263\273\345\210\227\351\251\261\345\212\250\344\273\213\347\273\215.md" new file mode 100644 index 0000000000000000000000000000000000000000..45c9ec391fef57073e80390e00e36859b18fa999 --- /dev/null +++ "b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/STM32\347\263\273\345\210\227\351\251\261\345\212\250\344\273\213\347\273\215.md" @@ -0,0 +1,63 @@ +# STM32系列驱动介绍 + +在 RT-Thread 实时操作系统中,各种各样的设备驱动是通过一套 I/O 设备管理框架来管理的。设备管理框架给上层应用提供了一套标准的设备操作 API,开发者通过调用这些标准设备操作 API,可以高效地完成和底层硬件外设的交互。设备管理框架的结构如下图所示: + +![rt_device](figures/rt_device.png) + +使用 I/O 设备管理框架开发应用程序,有如下优点: + +- 使用同一套标准的 API 开发应用程序,使应用程序具有更好的移植性 +- 底层驱动的升级和修改不会影响到上层代码 +- 驱动和应用程序相互独立,方便多个开发者协同开发 + +## 1. 驱动分类介绍 + +本小节介绍 BSP 提供的不同类别驱动的概念,对一个 BSP 而言,有如下三类驱动: + +- **板载外设驱动**:指 MCU 之外,开发板上外设,例如 TF 卡、以太网和 LCD 等 +- **片上外设驱动**:指 MCU 芯片上的外设,例如硬件定时器、ADC 和看门狗等 +- **扩展模块驱动**:指可以通过扩展接口或者杜邦线连接的开发板的模块,例如 ESP8266 模块 + +这三种外设的示意图如下所示: + +![Peripheral](figures/Peripheral.png) + +## 2. 外设驱动的使用方法 + +当前 RT-Thread 提供的驱动库已经支持 STM32 多个系列的 BSP。点击下表中的驱动名称,即可跳转到对应驱动框架的介绍文档。开发者可以通过阅读相关资料,了解如何在应用开发中通过设备驱动框架来使用这些外设驱动。 + +### 2.1 片上外设 + +| 序号 | 驱动 | 简介 | +| ---- | ------------------------------------------------------------ | ------------------------------------------------ | +| 1 | [GPIO](https://www.rt-thread.org/document/site/programming-manual/device/pin/pin/) | 操作 GPIO 管脚 | +| 2 | [UART](https://www.rt-thread.org/document/site/programming-manual/device/uart/uart/) | 通过串口收发数据 | +| 3 | [soft I2C](https://www.rt-thread.org/document/site/programming-manual/device/i2c/i2c/) | 通过软件 I2C 收发数据 | +| 4 | [SPI](https://www.rt-thread.org/document/site/programming-manual/device/spi/spi/) | 通过 SPI 收发数据 | +| 5 | [ADC](https://www.rt-thread.org/document/site/programming-manual/device/adc/adc/) | 测量管脚上的模拟量 | +| 6 | SDIO | 通过 SDIO 读写数据 | +| 7 | [TIMER](https://www.rt-thread.org/document/site/programming-manual/device/hwtimer/hwtimer/) | 使用硬件定时器实现测量时间和定时执行回调函数功能 | +| 8 | [PWM](https://www.rt-thread.org/document/site/programming-manual/device/pwm/pwm/) | 在特定的管脚输出 PWM 波形 | +| 9 | [RTC](https://www.rt-thread.org/document/site/programming-manual/device/rtc/rtc/) | 设置和读取时间 | +| 10 | [WDT](https://www.rt-thread.org/document/site/programming-manual/device/watchdog/watchdog/) | 看门狗驱动 | +| 11 | [QSPI](https://www.rt-thread.org/document/site/programming-manual/device/spi/spi/#qspi_1) | 通过 SPI(1、2、4线) 收发数据 | + +### 2.2 板载外设 + +| 序号 | 驱动 | 简介 | +| ---- | ------- | --------------------------------------- | +| 1 | SD | 适用于 SPI 接口或 SDIO 接口的 SD(TF) 卡 | +| 2 | ETH PHY | 以太网 | +| 3 | USB PHY | USB | +| 4 | LCD | 显示屏 | + +### 2.3 扩展模块 + +| 序号 | 驱动 | 简介 | +| ---- | -------- | ---------------------- | +| 1 | ESP8266 | 串口转 WIFI 模块 | +| 2 | ENC28J60 | SPI 接口的以太网控制器 | + +### 2.4 驱动示例代码 + +在 RT-Thread 的 `examples\test` 目录下,有 RT-Thread 提供的基于不同外设驱动的示例代码。在 env 工具中开启 BSP 中要测试的驱动,并将 `examples\test` 中对应的驱动框架测试文件加入工程,即可快速测试 BSP 中提供的驱动。 \ No newline at end of file diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/CubeMX_3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/CubeMX_3.png new file mode 100644 index 0000000000000000000000000000000000000000..6926aed72d5fe41d3990f42d47141024d60ad9b2 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/CubeMX_3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/Peripheral.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/Peripheral.png new file mode 100644 index 0000000000000000000000000000000000000000..759fe3e8a9896ebf2f08161cf48085f3144ffabc Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/Peripheral.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/adc_config1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/adc_config1.png new file mode 100644 index 0000000000000000000000000000000000000000..c283761c39cd95df20c871933b7b96b4ac685fea Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/adc_config1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/adc_config2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/adc_config2.png new file mode 100644 index 0000000000000000000000000000000000000000..aad860a079c5c0999ab7d13c06ac66e21f7073a5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/adc_config2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/adc_config3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/adc_config3.png new file mode 100644 index 0000000000000000000000000000000000000000..b45f34f7fcbb1aa34d5b6bf5d91d12aad7f1e1ee Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/adc_config3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/adc_config4.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/adc_config4.png new file mode 100644 index 0000000000000000000000000000000000000000..73b11d3e0db272ec3648bd4f2d749269bad2c185 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/adc_config4.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config.png new file mode 100644 index 0000000000000000000000000000000000000000..53183c2868217af5ddf105d4f9fb2769368902aa Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config1.png new file mode 100644 index 0000000000000000000000000000000000000000..e6ca8f5b3ce14bcdb2338ca430e9c2785abb889b Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config2.png new file mode 100644 index 0000000000000000000000000000000000000000..498b0f99c1b83e6e6347e467e6e9e6e56888a9fe Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config3.png new file mode 100644 index 0000000000000000000000000000000000000000..565532e3acc4a221a6388a131531526391722533 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config4.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config4.png new file mode 100644 index 0000000000000000000000000000000000000000..c2734caf6d0841e3532730f03fc7b3c44cf0a9a8 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config4.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config5.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config5.png new file mode 100644 index 0000000000000000000000000000000000000000..b995b52c3eafe396e7f2e37f7ba6db3882694ff9 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/config5.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/cube_spi3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/cube_spi3.png new file mode 100644 index 0000000000000000000000000000000000000000..a30e29bc968109290e8f4c869ecf1a0ecc27e0c3 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/cube_spi3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/cubemx.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/cubemx.png new file mode 100644 index 0000000000000000000000000000000000000000..d339c2efb415e23cc83e994ff24345f85300f032 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/cubemx.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/exit.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/exit.png new file mode 100644 index 0000000000000000000000000000000000000000..a8e41300db8081a7dfe3b000e0695c16143795d5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/exit.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/i2c_device.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/i2c_device.png new file mode 100644 index 0000000000000000000000000000000000000000..ddd83d7fbfc21a1bf21030420b2dd0e51acfb360 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/i2c_device.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/menuconfig_apolo.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/menuconfig_apolo.png new file mode 100644 index 0000000000000000000000000000000000000000..a5738a290e1d8d23a154e6f27d76ee05b9420329 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/menuconfig_apolo.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pulse_encoder_config1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pulse_encoder_config1.png new file mode 100644 index 0000000000000000000000000000000000000000..dafcc071c342cd9a3707f9ed67b715c6257912fe Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pulse_encoder_config1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pulse_encoder_config2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pulse_encoder_config2.png new file mode 100644 index 0000000000000000000000000000000000000000..2fb5888a35e3c60a2fb04c6bc4826bde304aec8e Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pulse_encoder_config2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pulse_encoder_config3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pulse_encoder_config3.png new file mode 100644 index 0000000000000000000000000000000000000000..b33f7bf0744a45843fd7ed49dc2e2eb0e3e7c8b6 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pulse_encoder_config3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pulse_encoder_config4.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pulse_encoder_config4.png new file mode 100644 index 0000000000000000000000000000000000000000..c488f036829cae94cedb94c504d67bac6692c747 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pulse_encoder_config4.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/putty.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/putty.png new file mode 100644 index 0000000000000000000000000000000000000000..e1905b231e9bf78e3d50bd80ff79ca9927114d68 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/putty.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pwm_config1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pwm_config1.png new file mode 100644 index 0000000000000000000000000000000000000000..2a98c933b46875293d674c2f010ff766ffba3f12 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pwm_config1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pwm_config2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pwm_config2.png new file mode 100644 index 0000000000000000000000000000000000000000..8798513cf4137397a577ccc51af7c536836df23f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pwm_config2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pwm_config3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pwm_config3.png new file mode 100644 index 0000000000000000000000000000000000000000..20d37bf37faf3ac6d98be81445b8685bd58ac968 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pwm_config3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pwm_config4.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pwm_config4.png new file mode 100644 index 0000000000000000000000000000000000000000..bd39d8da70240968761c1edbc305cb48df005115 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/pwm_config4.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/rt_device.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/rt_device.png new file mode 100644 index 0000000000000000000000000000000000000000..fba8a6e0baa22cd73479b38ee8865ee4653d7d8c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/rt_device.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/run_flash.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/run_flash.png new file mode 100644 index 0000000000000000000000000000000000000000..5a463c3835af61dbc154fe8efbd2efbacafcb826 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/run_flash.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/run_spi3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/run_spi3.png new file mode 100644 index 0000000000000000000000000000000000000000..a73b86d47b095f5f20ea9df2d50ce2877f7b004f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/run_spi3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/save.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/save.png new file mode 100644 index 0000000000000000000000000000000000000000..ce905c0fe4609870c61b36c6913870f6786d514f Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/save.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/scons_mdk5.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/scons_mdk5.png new file mode 100644 index 0000000000000000000000000000000000000000..dbb833f028b0d79e99f8b546919b72e092565b1b Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/scons_mdk5.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/spi_code.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/spi_code.png new file mode 100644 index 0000000000000000000000000000000000000000..99bf1362177caa73e79db05a765926c073294f5c Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/spi_code.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/spi_config.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/spi_config.png new file mode 100644 index 0000000000000000000000000000000000000000..33cd40d1aca659f2f59bdb5e4497733bdab36c6d Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/spi_config.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/spi_flash.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/spi_flash.png new file mode 100644 index 0000000000000000000000000000000000000000..b749928c2c7ec76521d9b79e1fc54d429e23baf1 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/spi_flash.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/timer_config1.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/timer_config1.png new file mode 100644 index 0000000000000000000000000000000000000000..2e891a8c6fb18edb6837a4dec3cec62ecd9f2c30 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/timer_config1.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/timer_config2.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/timer_config2.png new file mode 100644 index 0000000000000000000000000000000000000000..80a053d5eea0278fc460ac231e4d82730f9cbff5 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/timer_config2.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/timer_config3.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/timer_config3.png new file mode 100644 index 0000000000000000000000000000000000000000..a726273396cd72632abeff71cdb55f0a14d9faa7 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/timer_config3.png differ diff --git a/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/timer_config4.png b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/timer_config4.png new file mode 100644 index 0000000000000000000000000000000000000000..08812eaec016ce60a1baa04d8fa3ce9009294ed8 Binary files /dev/null and b/rt-thread-version/rt-thread-standard/tutorial/make-bsp/stm32-bsp/figures/timer_config4.png differ