新闻详情

新闻详情

首页 / 资讯中心 / 详情

RT-Thread 飞凌 OK1061-S 开发板 BSP 使用指南:基于 i.MX RT1061 跨界处理器的快速上手与进阶配置

发布时间:2026/9/25 13:08:28来源:尧图网络
RT-Thread 飞凌 OK1061-S 开发板 BSP 使用指南:基于 i.MX RT1061 跨界处理器的快速上手与进阶配置
操作系统嵌入式物联网嵌入式OSRTOS【免费下载链接】rt-threadRT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/项目地址https://gitcode.com/gh_mirrors/rt/rt-thread点击查看免费下载导读本文基于 RT-Thread 仓库中 OK1061-S 开发板 BSP 说明系统讲解飞凌 OK1061-S 开发板基于 NXP i.MX RT1061 跨界处理器、ARM Cortex-M7 内核的板级支持包使用方法。文章覆盖开发板硬件资源与外设支持现状、MDK5/IAR/GCC 三种开发环境下的编译下载流程以及通过 ENV 工具与 menuconfig 开启更多片上外设的进阶配置方法并结合仓库源码board 目录、Kconfig、rtconfig 等说明 BSP 的底层实现与配置选项的真实含义。读完本文你将能够把 RT-Thread 5.0 运行在 OK1061-S 上看到 LED 闪烁与 msh 串口控制台输出并掌握通过 ENV 逐步解锁 UART、GPIO、DMA 等外设的完整路径。开发板与 BSP 概览硬件平台OK1061-SOK1061-S 开发板基于 NXP i.MX RT1061 跨界处理器设计搭载 ARM Cortex-M7 内核。该芯片集微控制器的低功耗、易用性与应用处理器的高性能、高扩展性于一体运行频率 528MHz商业级为 600MHz片上 SRAM 达 1MB其中 512KB 可配置为紧耦合存储器TCM。开发板采用底板 核心板分离结构核心板为邮票孔封装体积仅 30×30×3mm引脚 100PIN、间距 1.0mm方便嵌入各种尺寸设备中。核心板引出 CPU 大部分功能配备高速 GPIO、CAN-FD 以及同步并行 NAND/NOR/PSRAM 控制器等适合实时应用的功能。工业级核心板运行温宽为 -40℃~85℃底板则引出 UART、Ethernet×2、USB、CAN、CAN FD、HS_GPIO、PWM、ADC 等丰富外设接口支持裸机、FreeRTOS 等实时系统RT-Thread 的 BSP 正是为在该平台上运行 RT-Thread 而提供。开发板外观如下图所示该开发板常用板载资源如下资源项型号 / 规格MCUMIMXRT1061CVL5B主频 600MHz1024KB RAM512KB 可配置为 TCM外部 FLASH型号 25Q32JVSIQ容量 4MB常用接口RS232、SD 卡接口、以太网接口、USB Host、USB OTG 等调试接口SWDBSP 目录结构从仓库目录结构看该 BSP 位于bsp/nxp/imx/imxrt/imxrt1061-forlinx-OK1061-S/主要包含applications/main.c应用入口默认实现 LED 闪烁示例board/板级初始化board.c/board.h、引脚复用与时钟配置MCUX_Config/下的pin_mux.c、clock_config.c、链接脚本linker_scripts/下的link.icf、link.lds、link.sct分别对应 IAR、GCC、MDK、下载算法文件MIMXRT_QSPIFLASH.FLM以及板级配置菜单board/Kconfigfigures/文档配套图片project.uvprojx、project.ewp、SConstruct等MDK5、IAR 工程文件与 scons 构建脚本rtconfig.h/rtconfig.pyRT-Thread 内核与构建配置。外设支持现状本 BSP 对外设的支持情况如下表所示以仓库中 README 与rtconfig.h默认配置为准板载外设支持情况备注RS232支持UART1LED支持默认点亮/闪烁示例Ethernet暂不支持-SD 卡暂不支持-EEPROM暂不支持-片上外设支持情况备注GPIO支持-UART支持UART1、UART2SPI暂不支持即将支持IIC暂不支持即将支持ADC暂不支持即将支持RTC暂不支持即将支持PWM暂不支持即将支持CAN暂不支持即将支持对照仓库默认的 rtconfig.h 可以印证Hardware Drivers Config一节中默认仅使能了BSP_USING_GPIO、BSP_USING_LPUART与BSP_USING_LPUART1串口控制台设备名为uart1与默认只开启 GPIO 和串口 1的描述一致。开发环境与工具链支持该 BSP 同时提供 MDK5Keil工程、IAR 工程并支持 GCC 开发环境。三种工具链的差异体现在 rtconfig.py 中构建系统根据CROSS_TOOL环境变量gcc/keil/iar选择对应编译器与链接配置例如GCC使用arm-none-eabi-工具链-mcpucortex-m7 -mthumb -mfpufpv4-sp-d16 -mfloat-abihard链接脚本为board/linker_scripts/link.lds构建产物为rtthread.binMDKarmcc使用armcc/armlink分散加载文件为board/linker_scripts/link.sct产物为axfIARiccarm使用iccarm/ilinkarm链接配置文件为board/linker_scripts/link.icf产物为rtthread.bin。开发者可按需通过RTT_CC环境变量指定工具链。下面以 MDK5 为例介绍完整的上手流程。快速上手在 OK1061-S 上运行 RT-ThreadMDK5 为例请注意在执行编译工作前请先打开 ENV 工具执行以下指令该指令用于拉取 NXP i.MX RT 驱动软件包等必要库否则无法通过编译pkgs --update该命令之所以必要可以从 rtconfig.h 中看到BSP 依赖PKG_USING_NXP_IMXRT_DRIVERNXP HAL SDK Drivers 软件包pkgs --update会从软件包仓库拉取该驱动库到本地packages/目录。硬件连接使用数据线连接开发板到 PC打开电源开关。调试接口为 SWDMDK 工程默认使用 CMSIS-DAP 下载程序。编译下载安装 FLASH 下载算法将board目录下的MIMXRT_QSPIFLASH.FLM文件即 bsp/nxp/imx/imxrt/imxrt1061-forlinx-OK1061-S/board/MIMXRT_QSPIFLASH.FLM拷贝到MDK 安装路径/ARM/Flash文件夹中。该文件是 Keil 烧录 i.MX RT1061 片外 QSPI Flash 所必需的下载算法RT-Thread 通过它把固件写入板载 4MB 25Q32JVSIQ Flash。双击project.uvprojx文件打开 MDK5 工程在调试选项的Flash Download一栏中按下图所示选择下载算法并保存设置编译工程工程默认配置使用 CMSIS-DAP 下载程序。在通过 CMSIS-DAP 连接开发板的基础上点击下载按钮即可将程序下载到开发板。运行结果下载程序成功之后系统会自动运行观察开发板 LED蓝色 LED 会周期性闪烁。连接开发板对应串口到 PC在终端工具里打开相应串口115200-8-1-N复位设备后即可看到 RT-Thread 的启动输出信息\ | / - RT - Thread Operating System / | \ 5.0.1 build May 9 2023 15:35:22 2006 - 2022 Copyright by RT-Thread team msh 出现msh 提示符即表示 RT-Thread 系统已成功运行进入 FinSH 命令行控制台。LED 闪烁示例的源码解读msh控制台与 LED 闪烁的背后是 applications/main.c 中的默认应用逻辑/* defined the LED pin: GPIO1_IO9 */ #define LED0_PIN GET_PIN(1,9) int main(void) { /* set LED0 pin mode to output */ rt_pin_mode(LED0_PIN, PIN_MODE_OUTPUT); while (1) { rt_pin_write(LED0_PIN, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(LED0_PIN, PIN_LOW); rt_thread_mdelay(500); } }蓝色 LED 连接到 GPIO1_IO9程序通过 RT-Thread 标准 PIN 设备接口rt_pin_mode/rt_pin_write以 500ms 周期交替输出高低电平实现闪烁。这也是 GPIO 外设已默认使能的直接体现。进阶使用用 ENV 开启更多外设此 BSP 默认只开启 GPIO 和串口 1 的功能如需使用更多高级外设功能需要利用 ENV 工具对 BSP 进行配置步骤如下在 bsp 目录下打开 ENV 工具输入menuconfig命令配置工程配置好后保存退出输入pkgs --update命令更新软件包输入scons --targetmdk5/iar命令重新生成工程。配置完成后重新生成的工程中会自动加入对应的驱动文件随后编译下载即可使用新外设。本小节更详细的图文介绍请参考 IMXRT 系列 BSP 外设驱动使用教程该教程以野火 imxrt1052 pro 开发板为例演示了通过菜单开启 MPU6050 板载外设、通过片上外设菜单开启 PWM 的完整操作流程同样适用于 OK1061-S BSP。本 BSP 可配置的外设选项进入menuconfig后在Hardware Drivers Config菜单下本 BSP 的 board/Kconfig 提供了如下真实可用的配置项On-chip Peripheral Drivers片上外设配置项默认值说明BSP_USING_DMAn使能 DMA选中后会自动依赖fsl_dmamux/fsl_edma驱动并在 board.c 中调用imxrt_dma_init()完成 DMAMUX 与 EDMA 初始化BSP_USING_GPIOy使能 GPIO自动选中RT_USING_PIN提供rt_pin_*接口BSP_USING_LPUARTy使能 UART 总开关自动选中RT_USING_SERIALBSP_USING_LPUART1y使能 LPUART1默认串口控制台uart1BSP_USING_LPUART2n使能 LPUART2BSP_LPUART1_RX_USING_DMA/BSP_LPUART1_TX_USING_DMAn为 LPUART1 开启 RX/TX DMA需先使能 DMADMA 通道分别默认为 0 和 1BSP_LPUART2_RX_USING_DMA/BSP_LPUART2_TX_USING_DMAn为 LPUART2 开启 RX/TX DMADMA 通道分别默认为 2 和 3Onboard Peripheral Drivers板载外设配置项默认值说明BSP_USING_RS232n使能板载 RS232自动关联并使能 LPUART1Board extended module Drivers扩展模块当前为空菜单可在后续版本中扩展。需要说明的是rtconfig.h中默认只出现BSP_USING_GPIO、BSP_USING_LPUART、BSP_USING_LPUART1三个宏这正是默认配置的落盘结果。当通过menuconfig打开 DMA 后rtconfig.h会同步生成BSP_USING_DMAboard.c中受#ifdef BSP_USING_DMA保护的imxrt_dma_init()代码才会参与编译。更多片上外设的配置入口除本 BSP 自带的board/Kconfig外IMXRT 系列还提供了通用的库级配置模板位于 bsp/nxp/imx/imxrt/libraries/templates/imxrt1050xxx/board/Kconfig其中包含 PWMPWM1 的 CH3、PWM4 的 CH0/CH1、I2CI2C1、RTC、RGB、时钟定时器等更多外设选项。结合 IMXRT 系列 BSP 外设驱动使用教程 所述的操作流程进入片上外设配置菜单 → 使能目标外设 → 保存退出 →pkgs --update→scons --targetmdk5重新生成工程即可把 SPI、IIC、ADC、RTC、PWM、CAN 等即将支持的外设逐步纳入工程。这也是该系列 BSP 统一推荐的扩展路径使能对应外设后重新生成的工程会自动添加相应驱动文件。BSP 底层初始化流程解析为了更深入理解该 BSP可以阅读 board/board.c 中rt_hw_board_init()的实现它串联了 RT-Thread 在 OK1061-S 上的启动关键步骤BOARD_ConfigMPU()配置 Cortex-M7 的 MPU 与 Cache。代码先禁用 I/D Cache 与 MPU随后配置若干内存区域如 0x60000000 的 QSPI Flash 区域设为 cacheable、非 bufferable、非 shareable0x00000000/0x20000000/0x20200000 的 SRAM 区域等最后重新使能 MPU 与 I/D CacheBOARD_InitPins()与BOARD_BootClockRUN()来自MCUX_Config/下的pin_mux.c/clock_config.c完成引脚复用配置与系统时钟初始化NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4)设置为 4 位抢占优先级、0 位子优先级SysTick_Config(SystemCoreClock / RT_TICK_PER_SECOND)配置 SysTick 作为系统时钟节拍RT_TICK_PER_SECOND默认为 100见 rtconfig.h对应的SysTick_Handler中调用rt_tick_increase()驱动 RT-Thread 内核心跳若使能 DMA则调用imxrt_dma_init()初始化 DMAMUX 与 EDMArt_system_heap_init((void *)HEAP_BEGIN, (void *)HEAP_END)初始化系统堆。堆区间的定义见 board/board.h依据编译器的不同分别取 MDK 的Image$$RTT_HEAP$$ZI$$Base/Limit、IAR 的HEAP段或 GCC 的heap_start/heap_end符号rt_components_board_init()与rt_console_set_device(uart1)完成板级组件初始化并把控制台设备指向uart1。这一流程与仓库根目录下 RT-Thread 内核的rt_hw_board_init约定src/clock.c、src/components.c等保持一致体现了该 BSP 对 RT-Thread 标准移植接口的完整实现。小结飞凌 OK1061-S BSP 为 i.MX RT1061 跨界处理器提供了开箱即用的 RT-Thread 运行环境默认使能 GPIO 与 UART1配合 MDK5或 IAR/GCC工程和MIMXRT_QSPIFLASH.FLM下载算法即可完成烧录得到 LED 闪烁与 msh 控制台进阶使用时通过 ENV 工具menuconfigpkgs --updatescons --targetmdk5/iar的组合可以逐步开启 DMA、UART2、RS232 以及模板中预留的 PWM、I2C、RTC 等外设。BSP 的board.c、board/Kconfig与rtconfig.h构成了清晰的配置—编译—运行链路为在该工业级核心板上进行实时应用开发提供了可靠起点。赞分享操作系统嵌入式物联网嵌入式OSRTOS【免费下载链接】rt-threadRT-Thread is an open source IoT Real-Time Operating System (RTOS). https://rt-thread.github.io/rt-thread/项目地址https://gitcode.com/gh_mirrors/rt/rt-thread点击查看免费下载相关推荐RT-Thread 在 NXP i.MX RT1020 EVK 开发板上的 BSP 使用指南快速上手与进阶配置RT Thread 在 NXP i.MX RT1020 EVK 开发板上的 BSP 使用指南快速上手与进阶配置 本文以 RT Thread 开源仓库中 bsp操作系统嵌入式物联网嵌入式OSRTOSRT-Thread 在 i.MX RT1050 EVK 开发板上的 BSP 快速上手与进阶使用指南RT Thread 在 i.MX RT1050 EVK 开发板上的 BSP 快速上手与进阶使用指南 本文档是 RT Thread 开发团队为 NXP i.MX操作系统嵌入式物联网嵌入式OSRTOSRT-Thread 在 NXP i.MX RT1050 EVK 开发板上的 BSP 快速上手与进阶配置指南RT Thread 在 NXP i.MX RT1050 EVK 开发板上的 BSP 快速上手与进阶配置指南 RT Thread 官方为 NXP i.MX RT1操作系统嵌入式物联网嵌入式OSRTOS创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

PHP+MySQL从零搭建影视资源收藏导航,用curl批量检测网站失效状态 2026/9/25 13:42:26

PHP+MySQL从零搭建影视资源收藏导航,用curl批量检测网站失效状态

前阵子整理本地收藏夹,发现自己攒了不少影视资源相关的站点。收藏的时候一家一个链接,真要找起来才知道什么叫乱得离谱——有的站点一个月没登就失效了,有的换了域名,有的是在手机上收藏的电脑上根本没同步。我当时正好有台闲置的…

阅读更多 →
B站网页视频任意角度旋转:Console一行代码实现 2026/9/25 13:42:19

B站网页视频任意角度旋转:Console一行代码实现

1. 项目概述:为什么要在B站网页端手动旋转视频?B站网页版的视频播放器默认只支持0、90、180、270四个固定方向,且不提供UI按钮控制——这是绝大多数用户没意识到的“隐藏能力”。当你在看竖屏UP主投稿(比如手机实拍Vlog、ASMR、舞…

阅读更多 →
mongoose 报错 Cast to ObjectId failed for value:用 TaoToken 统一 Key 排查配置骨架 2026/9/25 13:41:40

mongoose 报错 Cast to ObjectId failed for value:用 TaoToken 统一 Key 排查配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
免费CRM与私人网站的区别:永久在线客户管理系统如何驱动销售闭环 2026/9/25 13:41:27

免费CRM与私人网站的区别:永久在线客户管理系统如何驱动销售闭环

1. 谈选型前,先把“免费CRM”和“私人网站”这两个概念掰开做销售管理这行超过十年,我见过太多团队在CRM选型上栽跟头。尤其是这两年,市面上冒出大量打着“永久在线”“免费”旗号的CRM网站,从蝉鸣、飞鱼到各种不知名的小平台&…

阅读更多 →
Semi Design Dropdown 下拉菜单组件实战指南:用法、API 与无障碍设计全解析 2026/9/25 13:41:27

Semi Design Dropdown 下拉菜单组件实战指南:用法、API 与无障碍设计全解析

前端UI组件设计系统 【免费下载链接】semi-design 🚀A modern, comprehensive, flexible design system and React UI library, AI-friendly built-in.🎨Provide 3000 Design Tokens, easy to build your design system. Make Semi Design to Any Design…

阅读更多 →
从桌面沟通场景切入的CRM设计与落地实践——以DeskcommCRM为例 2026/9/25 13:41:26

从桌面沟通场景切入的CRM设计与落地实践——以DeskcommCRM为例

做CRM项目这么多年,我见过太多团队一上来就怼着一套高大上的系统使劲折腾,最后发现销售根本不买账。原因很简单,客户管理系统如果脱离了业务一线人员的使用习惯,再强大的功能也只是一堆按钮。DeskcommCRM这个项目让我比较想聊的原…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉