diff options
| author | Meco Man <[email protected]> | 2024-03-10 15:39:16 -0400 |
|---|---|---|
| committer | Meco Man <[email protected]> | 2024-03-10 23:19:22 -0400 |
| commit | 2b7a4ea7a326f5b38e70c8e8c68effcf79bcefa8 (patch) | |
| tree | 50da8625c4ce8300baeaeb33aa636589dc5fac49 /bsp/imxrt/docs | |
| parent | f71d4f33ea615b94763a23eca4674e39e08eb489 (diff) | |
[bsp][nxp][imx] move imx BSPs into nxp/imx folder
Diffstat (limited to 'bsp/imxrt/docs')
59 files changed, 0 insertions, 555 deletions
diff --git a/bsp/imxrt/docs/AN13232 - RT-Thread Board Port and Application Development.pdf b/bsp/imxrt/docs/AN13232 - RT-Thread Board Port and Application Development.pdf Binary files differdeleted file mode 100644 index 24ef3b70f8..0000000000 --- a/bsp/imxrt/docs/AN13232 - RT-Thread Board Port and Application Development.pdf +++ /dev/null diff --git a/bsp/imxrt/docs/IMXRT系列BSP制作教程.md b/bsp/imxrt/docs/IMXRT系列BSP制作教程.md deleted file mode 100644 index 775d922c1b..0000000000 --- a/bsp/imxrt/docs/IMXRT系列BSP制作教程.md +++ /dev/null @@ -1,264 +0,0 @@ -# i.MX RT 系列 BSP 制作教程 - -为了让广大开发者更好、更方便地使用 BSP 进行开发,RT-Thread 开发团队重新整理了现有的 i.MX RT 系列的 BSP,推出了新的 BSP 框架。新的 BSP 框架在易用性、移植便利性、驱动完整性、代码规范性等方面都有较大提升,在新的 BSP 框架下进行开发,可以大大提高应用的开发效率。 - -和 RT-Thread 以往提供的 i.MX RT 的 BSP 不同,新的框架将不会出现一个 BSP 通过 Env 配置来适配不同开发平台的情况。而是将这些不同的开发平台通过不同的 BSP 文件展示出来。这种方式不仅大大降低了代码的耦合性,减少了 BSP 的维护成本,而且让开发者可以更容易地找到自己需要的资源。 - - -新的 BSP 框架还引入了 MCUXpresso Config Tools 工具,可以使用该工具来对引脚和时钟进行配置。MCUXpresso 工具提供了图形化的配置界面,这种图形化的配置方式对开发者来说更加直观,不仅可以让开发者灵活地配置 BSP 中使用的资源,并且可以让开发者对资源的使用情况一目了然。 - -新 BSP 框架的主要特性如下: - -- 提供多系列 BSP 模板,大大降低新 BSP 的添加难度。 -- BSP 驱动文件比较完善,开发者可以方便地使用所有驱动。 -- 使用 MCUXpresso 工具配置引脚及时钟。 - -## 1. BSP 框架介绍 - -BSP 框架结构如下图所示: - - - -i.MX RT 系列的 BSP 由三部分组成,分别是官方 SDK、通用驱动和特定开发板 BSP,下面的表格以 1050 系列 BSP 为例介绍这三个部分: - -| 项目 | 文件夹 | 说明 | -| - | - | :-- | -| 官方 SDK | imxrt/libraries/MIMXRT1050 | 1050 系列官方 SDK | -| drivers | imxrt/libraries/drivers | i.MX RT 系列通用 RTT 驱动 | -| 特定开发板 BSP | imxrt/imxrt1052-nxp-evk | NXP 官方 imxrt1050 EVK 开发板 BSP | - -## 2. 知识准备 - -制作一个 BSP 的过程就是构建一个新系统的过程,因此想要制作出好用的 BSP,要对 RT-Thread 系统的构建过程有一定了解,需要的知识准备如下所示: - -- 掌握 i.MX RT 系列 BSP 的使用方法 - - 了解 BSP 的使用方法,可以阅读 [BSP 说明文档](../README.md) 中使用教程表格内的文档。了解外设驱动的添加方法可以参考《外设驱动添加指南》。 - -- 了解 scons 工程构建方法 - - RT-Thread 使用 scons 作为系统的构建工具,因此了解 scons 的常用命令对制作新 BSP 是基本要求。 - -- 了解设备驱动框架 - - 在 RT-Thread 系统中,应用程序通过设备驱动框架来操作硬件,因此了解设备驱动框架,对添加 BSP 驱动是很重要的。 - -- 了解 kconfig 语法 - - RT-Thread 系统通过 menuconfig 的方式进行配置,而 menuconfig 中的选项是由 kconfig 文件决定的,因此想要对 RT-Thread 系统进行配置,需要对 kconfig 语法有一定了解。 - -- 熟悉 MCUXpresso 工具的使用 - - 在新的 i.MX RT 系列 BSP 中利用了 MCUXpresso 工具对底层硬件进行配置,因此需要了解 MCUXpresso 工具的使用方法。 - -## 3. BSP 制作方法 - -本节以制作野火 `imxrt1052-fire-pro` 开发板的 BSP 为例,讲解如何为一个新的开发板添加 BSP。 - -BSP 的制作过程分为如下五个步骤: - -1. 复制通用模板 -2. 使用 MCUXpresso 工具配置工程 -3. 修改 BSP 中的 Kconfig 文件 -4. 修改构建工程相关文件 -5. 重新生成工程 - -在接下来的章节中将会详细介绍这五个步骤,帮助开发者快速创建所需要的 BSP。 - -### 3.1 复制通用模板 - -制作新 BSP 的第一步是复制一份同系列的 BSP 模板作为基础,通过对 BSP 模板的修改来获得新 BSP。目前提供的 BSP 模板系列如下表所示: - -| 工程模板 | 说明 | -| ------- | ---- | -| libraries/templates/imxrt1050xxx | 1050 系列 BSP 模板 | - -本次示例所用的 1050 系列 BSP 模板文件夹结构如下所示: - - - -本次制作的 BSP 为 1050 系列,因此拷贝模板文件夹下的 `imxrt1050xxx` 文件夹,并将该文件夹的名称改为 `imxrt1052-fire-pro` ,注意文件夹命名规则为:芯片型号 + 厂家名 + 板子名称。如下图所示: - - - -在接下来的 BSP 的制作过程中,将会修改 board 文件夹内的配置文件,将 1050 系列的 BSP 模板变成一个适用于野火 `imxrt1052-fire-pro` 开发板的 BSP ,下表总结了 board 文件夹中需要修改的内容: - -| 项目 | 需要修改的内容说明 | -|-------------|-------------------------------------------------------| -| MCUX_Config (文件夹)| MCUX_Config 工程 | -| linker_scripts (文件夹)| 链接脚本 | -| Kconfig | 芯片型号、系列、外设资源 | -| SConscript | 芯片启动文件、目标芯片型号 | - -### 3.2 使用 MCUXpresso 配置工程 - -没有安装 MCUXpresso 软件可以访问[ NXP 官网](https://www.nxp.com/cn/support/developer-resources/software-development-tools/mcuxpresso-software-and-tools:MCUXPRESSO )下载 MCUXpresso 软件。 - -在制作 BSP 的第二步,需要创建一个基于目标芯片的 MCUXpresso 工程。默认的 MCUXpresso 工程在 MCUX_Config 文件夹中,双击打开 `MCUX_Config.mex` 工程,如下图所示: - - - -使用 MCUXpresso 工具的一个好处就是可以图形化的配置引脚,不同子系列的芯片外设之间的区别一般是使用的引脚不一样,使用 RT-Thread 外设驱动的第一步就是需要配置外设对应的引脚,而外设的初始化不需要使用工具配置,这个过程在 RT-Thread 外设驱动中完成。 - -1. 配置外设引脚:BSP 需要一个串口用来做控制台输出,按照下图所示配置串口外设的对应的引脚,只需选择引脚对应的信号为串口外设的接收或者发送即可,无需配置其他参数。 - - - -2. 配置时钟:时钟配置工具可以配置 MCU 内部的时钟线上的时钟,外设模块的 clock gate 默认是关闭的,外设初始化的时候才会被打开。如下图所示可以配置串口外设时钟频率: - - - -3. 导出引脚及时钟配置代码相关源文件到 BSP 的 MCUX_Config 文件夹中,引脚配置对应源文件为 `pin_mux.c` 和 `pin_mux.h`,时钟配置对应源文件为 `clock_config.c` 和 `clock_config.h` 。 - - - -最终 MCUXpresso 生成的工程目录结构如下图所示: - - - -### 3.3 修改 Kconfig 选项 - -在本小节中修改 `board/Kconfig` 文件的内容有如下两点: - -- 芯片型号 -- BSP 上的外设支持选项 - -芯片型号和系列的修改如下表所示: - -| 宏定义 | 意义 | 格式 | -| ------------------ | -------- | ------------------ | -| SOC_MIMXRT1052CVL5B | BSP 芯片型号 | SOC_MIMXRT10xxx | -| SOC_IMXRT1050_SERIES | BSP 芯片系列 | SOC_IMXRT10xx_SERIES,i.MX RT 目前包括1015、1020、1050、1060及1064系列 | - -关于 BSP 上的外设支持选项,一个初次提交的 BSP 仅仅需要支持 GPIO 驱动和串口驱动即可,因此在配置选项中只需保留这两个驱动配置项,如下图所示: - - - - - -### 3.4 修改工程构建相关文件 - -接下来需要修改用于构建工程相关的文件。 - -#### 3.4.1 修改链接脚本 - -**linker_scripts** 链接文件如下图所示: - - - -下面以 MDK 使用的链接脚本 link.sct 为例,演示如何修改链接脚本: - - - -本次制作 BSP 使用的芯片为 MIMIRT1052CVL5B,开发板外接的 QSPI FLASH 大小为 32MB,因此修 m_text_size 为 0x1fffdbff。m_text_size、m_interrupts_size 和 m_flash_config_size 的大小合计为 32MB。 - -其他两个链接脚本的文件分别为 IAR 使用的 link.icf 和 GCC 编译器使用的 link.lds,修改的方式也是类似的,如下图所示: - -- link.icf 修改内容 - -  - -- link.lds 修改内容 - -  - -#### 3.4.2 修改构建脚本 - -在这一步中需要修改芯片型号,具体可以参考 SDK 下面的 `fsl_device_registers.h` 文件来确定芯片型号,修改内容如下图所示: - - - -#### 3.4.3 修改工程模板 - -**template** 文件是生成 MDK/IAR 工程的模板文件,通过修改该文件可以设置工程中使用的芯片型号以及下载方式。MDK4/MDK5/IAR 的工程模板文件,如下图所示: - - - -下面以 MDK5 模板的修改为例,介绍如何修改模板配置: - - - -修改程序的默认下载方式: - - - - - -### 3.5 重新生成工程 - -重新生成工程需要使用 Env 工具。 - -#### 3.5.1 重新生成 rtconfig.h 文件 - -在 Env 界面输入命令 menuconfig 对工程进行配置,并生成新的 rtconfig.h 文件。如下图所示: - - - - - -#### 3.5.2 重新 MDK/IAR 工程 - -下面以重新生成 MDK 工程为例,介绍如何重新生成 BSP 工程。 - -使用 env 工具输入命令 `scons --target=mdk5` 重新生成工程,如下图所示: - - - -重新生成工程成功: - - - -到这一步为止,新的 BSP 就可以使用了。 - -接下来我们可以分别使用命令 `scons --target=mdk4` 和 `scons --target=iar`,来更新 mdk4 和 IAR 的工程,使得该 BSP 变成一个完整的,可以提交到 GitHub 的 BSP。 - -感谢每一位贡献代码的开发者,RT-Thread 将与你一同成长。 - -## 4. 规范 - -本章节介绍 RT-Thread i.MX RT 系列 BSP 制作与提交时应当遵守的规范 。开发人员在 BSP 制作完成后,可以根据本规范提出的检查点对制作的 BSP 进行检查,确保 BSP 在提交前有较高的质量 。 - -### 1. BSP 制作规范 - -i.MX RT BSP 的制作规范主要分为 3 个方面:工程配置,ENV 配置和 IDE 配置。在已有的 i.MX RT 系列 BSP 的模板中,已经根据下列规范对模板进行配置。在制作新 BSP 的过程中,拷贝模板进行修改时,需要注意的是不要修改这些默认的配置。BSP 制作完成后,需要对新制作的 BSP 进行功能测试,功能正常后再进行代码提交。 - -下面将详细介绍 BSP 的制作规范。 - -#### 工程配置 - -- 遵从 RT-Thread 编码规范,代码注释风格统一 -- main 函数功能保持一致 - - 如果有 LED 的话,main 函数里只放一个 LED 1HZ 闪烁的程序 -- 在 `rt_hw_board_init` 中需要完成堆的初始化:调用 `rt_system_heap_init` -- 默认只初始化 GPIO 驱动和 FinSH 对应的串口驱动,不使用 DMA -- 当使能板载外设驱动时,应做到不需要修改代码就能编译下载使用 -- 提交前应检查 GCC/MDK/IAR 三种编译器直接编译或者重新生成后编译是否成功 - -#### ENV 配置 - -- 系统心跳统一设置为 1000(宏:RT_TICK_PER_SECOND) -- BSP 中需要打开调试选项中的断言(宏:RT_USING_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) - -#### IDE 配置 - -- 使能下载代码后自动运行 -- 使能 C99 支持 -- 使能 One ELF Setion per Function(MDK) -- keil/iar 生成的临时文件分别放到 build 下的 keil/iar 文件夹下 -- MDK/GCC/IAR 生成 bin 文件名字统一成 rtthread.bin - -### 2. BSP 提交规范 - -- 提交前请认真修改 BSP 的 README.md 文件,README.md 文件的外设支持表单只填写 BSP 支持的外设,可参考其他 BSP 填写。查看文档 [i.MX RT 系列驱动介绍](./IMXRT系列驱动介绍.md) 了解驱动分类。 -- 提交 BSP 分为 2 个阶段提交: - - 第一阶段:基础 BSP 包括串口驱动和 GPIO 驱动,能运行 FinSH 控制台。完成 MDK4、MDK5 、IAR 和 GCC 编译器支持,如果芯片不支持某款编译器(比如 MDK4)可以不用做。 BSP 的 README.md 文件需要填写第二阶段要完成的驱动。 - - 第二阶段:完成板载外设驱动支持,所有板载外设使用 menuconfig 配置后就能直接使用。若开发板没有板载外设,则此阶段可以不用完成。不同的驱动也要分开提交,方便 review 和合并。 -- 只提交 BSP 必要的文件,删除无关的中间文件,能够提交的文件请对照其他 BSP。 -- 提交 i.MX RT 不同系列的 Library 库时,请参考 1050 系列的 FSL 库。 -- 提交前要对 BSP 进行编译测试,确保在不同编译器下编译正常。 -- 提交前要对 BSP 进行功能测试,确保 BSP 的在提交前符合工程配置章节中的要求。
\ No newline at end of file diff --git a/bsp/imxrt/docs/IMXRT系列BSP外设驱动使用教程.md b/bsp/imxrt/docs/IMXRT系列BSP外设驱动使用教程.md deleted file mode 100644 index 5ddaddfe6e..0000000000 --- a/bsp/imxrt/docs/IMXRT系列BSP外设驱动使用教程.md +++ /dev/null @@ -1,87 +0,0 @@ -# BSP 外设驱动使用教程 - -## 简介 - -本文档是为需要在 RT-Thread 操作系统上使用更多开发板资源的开发者准备的。通过使用 ENV 工具对 BSP 进行配置,可以开启更多板载资源,实现更多高级功能。 - -主要包括以下内容: - -1. 如何使用开发板上更多的板载资源 -2. 如何使用更多的片上资源 -3. 如何添加更多片上资源选项 - -## 前提要求 - -- 学会如何使用 ENV 工具,参考:[RT-Thread env 工具用户手册](https://www.rt-thread.org/document/site/#/development-tools/env/env) - -## 如何使用更多的板载资源 - -开发板上一般有很多板载资源,如 Flash、SD卡、以太网等,但是 BSP 工程默认没有开启这些外设驱动。RT-Thread 提供了 ENV 工具来开启或关闭 BSP 的外设驱动。下面以在野火 imxrt1052 pro 开发板上开启 MPU6050 驱动为例,一步步的展示如何使用 ENV 工具对 BSP 进行配置。 - -### 1)打开配置工具 - -在目录 `rt-thread\bsp\imxrt\imxrt1052-fire-pro` 下打开 menuconfig 配置界面。 - - - -打开的配置工具界面如下所示: - - - -通过键盘上的上下键移动光标,选中 `Hardware Drivers Config`然后按回车键进入硬件驱动配置菜单。 - -### 2)进入硬件驱动配置菜单 - -在硬件配置菜单里有三个选项,分别是 **板载外设配置菜单**、**片上外设配置菜单**和**扩展模块配置菜单**,按回车键进入板载外设配置菜单。 - - - -### 3)在板载外设配置菜单里开启 MPU6050 选项 - - - -### 4)保存退出 - -然后右移光标选中 Save 按回车键保存,然后按 Esc 键退出配置工具。 - - - -### 5)更新软件包 - -输入命令 `pkgs --update` 使软件包配置生效。 - - - -### 6)生成 MDK5 工程 - -输入命令 `scons --target=mdk5` 生成 MDK5 的工程。 - - - -### 7)编译下载 - -打开生成的 MDK5 工程文件,编译并下载。 - - - -### 8)查看运行结果 - -程序运行后,输入命令 `list_device` 可以看到名为 I2C 的块设备,MPU6050 通信选择的是 I2C 通信,此时 `MPU6050` 已经可以使用了。 - - - -## 如何使用更多的片上资源 - -如果想要使用除了当前支持的片上资源(GPIO 和 UART1),又不想开启板载资源的支持,可以通过直接配置 **片上外设配置菜单** 的方式,使用更多片上资源。 - -配置方法和上一章节介绍的 **如何使用更多的板载资源的配置方法** 一样,只是本次需要进入 `片上外设配置菜单`。 - - - -配置完成后重新生成工程,编译下载,在 FinSH 控制台输入 `list_device` 命令,可以看到 PWM 已经启用。 - - - -## 总结 - -当开发者需要使用未开启的外设时,只要在 ENV 工具中使能相关的外设即可,重新生成的工程中就会添加对应的驱动文件。开发者就可以利用 RT-Thread 提供的驱动开快速开发应用了。
\ No newline at end of file diff --git a/bsp/imxrt/docs/IMXRT系列外设驱动添加指南.md b/bsp/imxrt/docs/IMXRT系列外设驱动添加指南.md deleted file mode 100644 index 88499167c9..0000000000 --- a/bsp/imxrt/docs/IMXRT系列外设驱动添加指南.md +++ /dev/null @@ -1,143 +0,0 @@ -# i.MX RT 系列外设驱动添加指南 - -## 1. 简介 - -本文档是为需要给现有的 i.MX RT BSP 添加更多外设驱动的开发者准备的。通过阅读本文,开发者可以按照自己的实际情况给现有 BSP 添加自己需要的驱动。 - -## 2. 前提要求 - -- 熟练使用 ENV 工具,参考:[RT-Thread env 工具用户手册](https://www.rt-thread.org/document/site/#/development-tools/env/env) -- 熟悉 Kconfig 语法 -- 熟悉 MCUXpresso 工具 -- 对 RT-Thread 设备驱动框架有一定了解 - -## 3. 如何添加更多的外设驱动选项 - -本章节以添加片上外设驱动为例,讲解如何为 BSP 添加更多可用驱动。如果想使用的片上外设是 `片上外设配置菜单` 里没有的,就需要开发者自己添加了。下面我们将演示如何为 imxrrt1052-fire-pro BSP 添加 I2C2 驱动。 - ->没有安装 MCUXpresso 软件可以访问[ NXP 官网](https://www.nxp.com/cn/support/developer-resources/software-development-tools/mcuxpresso-software-and-tools:MCUXPRESSO )下载 MCUXpresso 软件。 - -野火 Pro BSP 默认只支持 I2C1,开发者如果需要使用 I2C2,则需要自己添加。 - - - -添加 I2C2 的外设支持需要以下几步: - -### 1. 打开 MCUXpresso 工程 - -打开 BSP 的 MCUXpresso 配置文件。 - - - -### 2. 按原理图配置 I2C2 的引脚,并生成代码 - -按图示顺序配置 I2C2,并生成代码。 - - - -为 BSP 添加驱动时,MCUXpress工具可以快速的完成配置管脚的工作。而外设初始化,中断配置,DMA配置等等则由 RT-Thread 提供的驱动文件来完成。 - -### 3. 修改 Kconfig 文件 - -打开 board 文件夹下的 Konfig 文件,拷贝 I2C1 的配置项,并重命名 I2C1 为 I2C2。 - - - -### 4. 重新配置工程 - -经过上一步的修改,此时重新打开 ENV 工具,在 menuconfig 中就会出现添加的 I2C2 的配置项。 - - - -### 5. 生成工程,检查驱动文件 - -使用 ENV 重新生成工程并打开,检查原有驱动文件是否支持新添加的驱动(查看是否有新驱动的配置文件,中断函数,DMA配置和中断函数等等),如下图所示I2C2对应的代码由之前的灰色变为高亮。 - - - -### 6. 编译下载 - -检查完工程后,编译下载到开发板,程序会自动开始运行。输入 `list_device` 命令,可以看到 I2C2 总线已经注册到内核,说明驱动已经添加成功。 - - - -## 4. 注意事项 - -- 部分驱动如果没有适配 BSP 所属的 i.MX RT 系列,请等待 RT-Thread 团队更新。 - - - 驱动文件对 i.MX RT 系列的支持情况可以查看 [i.MX RT系列驱动介绍文档](./IMXRT系列驱动介绍.md)。 - -- 对于驱动文件或文档说明,有任何建议或者意见,欢迎反馈到 [RT_Thread GitHub](https://github.com/RT-Thread/rt-thread) 网站或 [RT-Thread 官方论坛](https://www.rt-thread.org/qa/forum.php)。 - -## 5. 附录 - -### 5.1 外设配置总结 - -当开发者想要在 BSP 中添加更多驱动时,需要使用 MCUXpresso 工具来配置这些外设。对于绝大多数驱动的配置,只需要在工具中使能相应的外设即可。但是对于一些复杂的外设,则需要更多的配置内容。下表展示了不同驱动在 MCUXpresso 工具配置步骤的总结: - -| 序号 | 驱动 | MCUXpresso 工程中的配置情况(**加粗部分为必做步骤**) | -| :--: | :------- | :----------------------------------------------- | -| 1 | GPIO | 无需任何操作 | -| 2 | UART | 配置所需要的引脚(或者使用默认引脚) | -| 3 | SPI | 配置所需要的引脚(或者使用默认引脚) | -| 4 | I2C | 配置所需要的引脚(或者使用默认引脚) | -| 5 | GPT(HWTIMER) | 无需任何操作,详细内容可参考5.3章节 | -| 6 | PWM | 配置所需要的引脚(或者使用默认引脚) ,详细内容可参考5.3章节 | -| 7 | ADC | 配置所需要的引脚(或者使用默认引脚),详细内容可参考5.3章节 | -| 8 | RTC | 无需任何操作 | -| 9 | Watchdog | 无需任何操作 | -| 10 | SDRAM | 配置所需要的引脚(或者使用默认引脚) | - -### 5.2 复杂外设配置说明 - -本章节着重介绍配置步骤较为复杂的驱动。 - -#### 5.2.1 GPT 外设驱动添加说明 - - 1. 打开 imxrt/imxrt1052-fire-pro/board/Kconfig ,添加 Kconfig 选项。选中自己添加的选项后,生成一遍工程,如下图所示: - -  - - 2. 打开工程进行编译并下载,如下图所示: - -  - - 3. 查看结果,输入 `list_device` 命令,可以看到 gpt1 设备已经注册到内核,说明驱动已经添加成功。 - -  - -#### 5.2.2 PWM 外设驱动添加说明 - - 1. 打开 MCUXpresso 工程,设置 PWM 在 MCUXpresso 里的选项,如下图所示: - -  - - 2. 打开 imxrt/imxrt1052-fire-pro/board/Kconfig ,添加 Kconfig 选项。选中自己添加的选项后,生成一遍工程,如下图所示: - -  - - 3. 打开工程进行编译并下载,如下图所示: - -  - -4. 查看结果,输入 `list_device` 命令,可以看到 pwm 设备已经注册到内核,说明驱动已经添加成功。 - -  - -#### 5.2.3 ADC 外设驱动添加说明 - - 1. 打开 MCUXpresso 工程,设置 ADC 在 MCUXpresso 里的引脚,如下图所示: - -  - - 2. 打开 imxrt/imxrt1052-fire-pro/board/Kconfig ,添加 Kconfig 选项。选中自己添加的选项后,生成一遍工程,如下图所示: - -  - - 3. 打开工程进行编译并下载,如下图所示: - -  - -4. 查看结果,输入 `list_device` 命令,可以看到 adc1 设备已经注册到内核,说明驱动已经添加成功。 - -  diff --git a/bsp/imxrt/docs/IMXRT系列驱动介绍.md b/bsp/imxrt/docs/IMXRT系列驱动介绍.md deleted file mode 100644 index dff7bdd8e6..0000000000 --- a/bsp/imxrt/docs/IMXRT系列驱动介绍.md +++ /dev/null @@ -1,61 +0,0 @@ -# 外设驱动介绍与应用 - -在 RT-Thread 实时操作系统中,各种各样的设备驱动是通过一套 I/O 设备管理框架来管理的。设备管理框架给上层应用提供了一套标准的设备操作 API,开发者通过调用这些标准设备操作 API,可以高效地完成和底层硬件外设的交互。设备管理框架的结构如下图所示: - - - -使用 I/O 设备管理框架开发应用程序,有如下优点: - -- 使用同一套标准的 API 开发应用程序,使应用程序具有更好的移植性 -- 底层驱动的升级和修改不会影响到上层代码 -- 驱动和应用程序相互独立,方便多个开发者协同开发 - -## 1. 驱动分类介绍 - -本小节介绍 BSP 提供的不同类别驱动的概念,对一个 BSP 而言,有如下三类驱动: - -- **板载外设驱动**:指 MCU 之外,开发板上外设,例如 TF 卡、以太网和 LCD 等 -- **片上外设驱动**:指 MCU 芯片上的外设,例如硬件定时器、ADC 和看门狗等 -- **扩展模块驱动**:指可以通过扩展接口或者杜邦线连接的开发板的模块,例如 ESP8266 模块 - -这三种外设的示意图如下所示: - - - -## 2. 外设驱动的使用方法 - -当前 RT-Thread 提供的驱动库已经支持 i.MX RT 多个系列的 BSP。点击下表中的驱动名称,即可跳转到对应驱动框架的介绍文档。开发者可以通过阅读相关资料,了解如何在应用开发中通过设备驱动框架来使用这些外设驱动。 - -### 2.1 片上外设 - -| 序号 | 驱动 | 简介 | -| ---- | ------------------------------------------------------------ | ------------------------------------------------ | -| 1 | [GPIO](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/pin/pin) | 操作 GPIO 管脚 | -| 2 | [UART](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/uart/uart_v1/uart) | 通过串口收发数据 | -| 3 | [soft I2C](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/i2c/i2c) | 通过软件 I2C 或者硬件 I2C 收发数据 | -| 4 | [SPI](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/spi/spi) | 通过 SPI 收发数据 | -| 5 | [ADC](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/adc/adc) | 测量管脚上的模拟量 | -| 6 | [HWTIMER](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/hwtimer/hwtimer) | 使用硬件定时器实现测量时间和定时执行回调函数功能 | -| 7 | [PWM](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/pwm/pwm) | 在特定的管脚输出 PWM 波形 | -| 8 | [RTC](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/rtc/rtc) | 设置和读取时间 | -| 9 | [WATCHDOG](https://www.rt-thread.org/document/site/#/rt-thread-version/rt-thread-standard/programming-manual/device/watchdog/watchdog) | 看门狗驱动 | - -### 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/bsp/imxrt/docs/figures/Kconfig.png b/bsp/imxrt/docs/figures/Kconfig.png Binary files differdeleted file mode 100644 index bededbd385..0000000000 --- a/bsp/imxrt/docs/figures/Kconfig.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/Kconfig2.png b/bsp/imxrt/docs/figures/Kconfig2.png Binary files differdeleted file mode 100644 index 80b31b0ee5..0000000000 --- a/bsp/imxrt/docs/figures/Kconfig2.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/Peripheral.png b/bsp/imxrt/docs/figures/Peripheral.png Binary files differdeleted file mode 100644 index 759fe3e8a9..0000000000 --- a/bsp/imxrt/docs/figures/Peripheral.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/SConscript.png b/bsp/imxrt/docs/figures/SConscript.png Binary files differdeleted file mode 100644 index 8b57bfb148..0000000000 --- a/bsp/imxrt/docs/figures/SConscript.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/adc_config1.png b/bsp/imxrt/docs/figures/adc_config1.png Binary files differdeleted file mode 100644 index a39d09750d..0000000000 --- a/bsp/imxrt/docs/figures/adc_config1.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/adc_config2.png b/bsp/imxrt/docs/figures/adc_config2.png Binary files differdeleted file mode 100644 index 8c476d2584..0000000000 --- a/bsp/imxrt/docs/figures/adc_config2.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/adc_config3.png b/bsp/imxrt/docs/figures/adc_config3.png Binary files differdeleted file mode 100644 index 009055461b..0000000000 --- a/bsp/imxrt/docs/figures/adc_config3.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/adc_config4.png b/bsp/imxrt/docs/figures/adc_config4.png Binary files differdeleted file mode 100644 index 8ffe26cadd..0000000000 --- a/bsp/imxrt/docs/figures/adc_config4.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/board_kconfig2.png b/bsp/imxrt/docs/figures/board_kconfig2.png Binary files differdeleted file mode 100644 index 7386cdc31f..0000000000 --- a/bsp/imxrt/docs/figures/board_kconfig2.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/bsp_template_dir.png b/bsp/imxrt/docs/figures/bsp_template_dir.png Binary files differdeleted file mode 100644 index acfd130d68..0000000000 --- a/bsp/imxrt/docs/figures/bsp_template_dir.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/complise.png b/bsp/imxrt/docs/figures/complise.png Binary files differdeleted file mode 100644 index bc0c6bd3c3..0000000000 --- a/bsp/imxrt/docs/figures/complise.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/config1.png b/bsp/imxrt/docs/figures/config1.png Binary files differdeleted file mode 100644 index e797253845..0000000000 --- a/bsp/imxrt/docs/figures/config1.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/config2.png b/bsp/imxrt/docs/figures/config2.png Binary files differdeleted file mode 100644 index f10d684cda..0000000000 --- a/bsp/imxrt/docs/figures/config2.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/config5.png b/bsp/imxrt/docs/figures/config5.png Binary files differdeleted file mode 100644 index 18a6541d57..0000000000 --- a/bsp/imxrt/docs/figures/config5.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/copy.png b/bsp/imxrt/docs/figures/copy.png Binary files differdeleted file mode 100644 index a2201c22e8..0000000000 --- a/bsp/imxrt/docs/figures/copy.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/frame.png b/bsp/imxrt/docs/figures/frame.png Binary files differdeleted file mode 100644 index e6489399f8..0000000000 --- a/bsp/imxrt/docs/figures/frame.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/gpt_config1.png b/bsp/imxrt/docs/figures/gpt_config1.png Binary files differdeleted file mode 100644 index 4c6e17cf7e..0000000000 --- a/bsp/imxrt/docs/figures/gpt_config1.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/gpt_config2.png b/bsp/imxrt/docs/figures/gpt_config2.png Binary files differdeleted file mode 100644 index 6b7ca7de7c..0000000000 --- a/bsp/imxrt/docs/figures/gpt_config2.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/gpt_config3.png b/bsp/imxrt/docs/figures/gpt_config3.png Binary files differdeleted file mode 100644 index eec93161ec..0000000000 --- a/bsp/imxrt/docs/figures/gpt_config3.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/i2c2_code.png b/bsp/imxrt/docs/figures/i2c2_code.png Binary files differdeleted file mode 100644 index c864654f2b..0000000000 --- a/bsp/imxrt/docs/figures/i2c2_code.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/i2c2_config.png b/bsp/imxrt/docs/figures/i2c2_config.png Binary files differdeleted file mode 100644 index bacb283598..0000000000 --- a/bsp/imxrt/docs/figures/i2c2_config.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/i2c_device1.png b/bsp/imxrt/docs/figures/i2c_device1.png Binary files differdeleted file mode 100644 index 164b29f517..0000000000 --- a/bsp/imxrt/docs/figures/i2c_device1.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/link-icf.png b/bsp/imxrt/docs/figures/link-icf.png Binary files differdeleted file mode 100644 index 720efea2ff..0000000000 --- a/bsp/imxrt/docs/figures/link-icf.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/link-lds.png b/bsp/imxrt/docs/figures/link-lds.png Binary files differdeleted file mode 100644 index 6b17d0d71b..0000000000 --- a/bsp/imxrt/docs/figures/link-lds.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/link-scf.png b/bsp/imxrt/docs/figures/link-scf.png Binary files differdeleted file mode 100644 index 883f970886..0000000000 --- a/bsp/imxrt/docs/figures/link-scf.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/linker_scripts.png b/bsp/imxrt/docs/figures/linker_scripts.png Binary files differdeleted file mode 100644 index cce10f59ad..0000000000 --- a/bsp/imxrt/docs/figures/linker_scripts.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/mcupress_2.png b/bsp/imxrt/docs/figures/mcupress_2.png Binary files differdeleted file mode 100644 index d78d975e11..0000000000 --- a/bsp/imxrt/docs/figures/mcupress_2.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/mcupress_3.png b/bsp/imxrt/docs/figures/mcupress_3.png Binary files differdeleted file mode 100644 index 06f8152968..0000000000 --- a/bsp/imxrt/docs/figures/mcupress_3.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/mcupress_clock2.png b/bsp/imxrt/docs/figures/mcupress_clock2.png Binary files differdeleted file mode 100644 index 13f6258d5f..0000000000 --- a/bsp/imxrt/docs/figures/mcupress_clock2.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/mcux_i2c2.png b/bsp/imxrt/docs/figures/mcux_i2c2.png Binary files differdeleted file mode 100644 index 0732d64b60..0000000000 --- a/bsp/imxrt/docs/figures/mcux_i2c2.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/mcuxpress.png b/bsp/imxrt/docs/figures/mcuxpress.png Binary files differdeleted file mode 100644 index 370f544101..0000000000 --- a/bsp/imxrt/docs/figures/mcuxpress.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/mcuxpress_1.png b/bsp/imxrt/docs/figures/mcuxpress_1.png Binary files differdeleted file mode 100644 index 48b37304a2..0000000000 --- a/bsp/imxrt/docs/figures/mcuxpress_1.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/mcuxpress_clock1.png b/bsp/imxrt/docs/figures/mcuxpress_clock1.png Binary files differdeleted file mode 100644 index effa14dede..0000000000 --- a/bsp/imxrt/docs/figures/mcuxpress_clock1.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/menuconfig_1.png b/bsp/imxrt/docs/figures/menuconfig_1.png Binary files differdeleted file mode 100644 index fd1d3bb6c6..0000000000 --- a/bsp/imxrt/docs/figures/menuconfig_1.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/menuconfig_2.png b/bsp/imxrt/docs/figures/menuconfig_2.png Binary files differdeleted file mode 100644 index 272ff76a7e..0000000000 --- a/bsp/imxrt/docs/figures/menuconfig_2.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/menuconfig_3.png b/bsp/imxrt/docs/figures/menuconfig_3.png Binary files differdeleted file mode 100644 index 6ab976b25e..0000000000 --- a/bsp/imxrt/docs/figures/menuconfig_3.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/menuconfig_4.png b/bsp/imxrt/docs/figures/menuconfig_4.png Binary files differdeleted file mode 100644 index bdd4f295b0..0000000000 --- a/bsp/imxrt/docs/figures/menuconfig_4.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/menuconfig_apolo.png b/bsp/imxrt/docs/figures/menuconfig_apolo.png Binary files differdeleted file mode 100644 index 21c81a315c..0000000000 --- a/bsp/imxrt/docs/figures/menuconfig_apolo.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/mpu6050.png b/bsp/imxrt/docs/figures/mpu6050.png Binary files differdeleted file mode 100644 index 9a05dd78ed..0000000000 --- a/bsp/imxrt/docs/figures/mpu6050.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/on_chip_config.png b/bsp/imxrt/docs/figures/on_chip_config.png Binary files differdeleted file mode 100644 index 8c8d263588..0000000000 --- a/bsp/imxrt/docs/figures/on_chip_config.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/open_mcuxpress.png b/bsp/imxrt/docs/figures/open_mcuxpress.png Binary files differdeleted file mode 100644 index a414af4b72..0000000000 --- a/bsp/imxrt/docs/figures/open_mcuxpress.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/pwm_config1.png b/bsp/imxrt/docs/figures/pwm_config1.png Binary files differdeleted file mode 100644 index 52aa7cf1bb..0000000000 --- a/bsp/imxrt/docs/figures/pwm_config1.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/pwm_config2.png b/bsp/imxrt/docs/figures/pwm_config2.png Binary files differdeleted file mode 100644 index 13839b194c..0000000000 --- a/bsp/imxrt/docs/figures/pwm_config2.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/pwm_config3.png b/bsp/imxrt/docs/figures/pwm_config3.png Binary files differdeleted file mode 100644 index 3735948665..0000000000 --- a/bsp/imxrt/docs/figures/pwm_config3.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/pwm_device.png b/bsp/imxrt/docs/figures/pwm_device.png Binary files differdeleted file mode 100644 index d5caffe961..0000000000 --- a/bsp/imxrt/docs/figures/pwm_device.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/rt_device.png b/bsp/imxrt/docs/figures/rt_device.png Binary files differdeleted file mode 100644 index fba8a6e0ba..0000000000 --- a/bsp/imxrt/docs/figures/rt_device.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/run_i2c2.png b/bsp/imxrt/docs/figures/run_i2c2.png Binary files differdeleted file mode 100644 index 1d091754b2..0000000000 --- a/bsp/imxrt/docs/figures/run_i2c2.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/save.png b/bsp/imxrt/docs/figures/save.png Binary files differdeleted file mode 100644 index a02e3aa0e9..0000000000 --- a/bsp/imxrt/docs/figures/save.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/scons_mdk5.png b/bsp/imxrt/docs/figures/scons_mdk5.png Binary files differdeleted file mode 100644 index 3e081245c8..0000000000 --- a/bsp/imxrt/docs/figures/scons_mdk5.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/template_1.png b/bsp/imxrt/docs/figures/template_1.png Binary files differdeleted file mode 100644 index 228f2b67c4..0000000000 --- a/bsp/imxrt/docs/figures/template_1.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/template_2.png b/bsp/imxrt/docs/figures/template_2.png Binary files differdeleted file mode 100644 index a902803e2b..0000000000 --- a/bsp/imxrt/docs/figures/template_2.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/template_3.png b/bsp/imxrt/docs/figures/template_3.png Binary files differdeleted file mode 100644 index 8deac43dc4..0000000000 --- a/bsp/imxrt/docs/figures/template_3.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/template_4.png b/bsp/imxrt/docs/figures/template_4.png Binary files differdeleted file mode 100644 index 49836669e2..0000000000 --- a/bsp/imxrt/docs/figures/template_4.png +++ /dev/null diff --git a/bsp/imxrt/docs/figures/update.png b/bsp/imxrt/docs/figures/update.png Binary files differdeleted file mode 100644 index 7fbf1cfbbf..0000000000 --- a/bsp/imxrt/docs/figures/update.png +++ /dev/null |
