瑞萨 IOT-RA6M4 开发板运行 RT-Thread:BSP 快速上手、FSP 配置与 env 进阶指南
操作系统嵌入式物联网嵌入式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 仓库中 瑞萨 IOT-RA6M4 开发板 BSP 说明 展开系统讲解如何将 RT-Thread 移植运行到基于 R7FA6M4AF3CFPCortex-M33的 IOT-RA6M4 评估板上从 MDK5 编译、J-Flash Lite 烧录到串口验证的完整快速上手流程再到使用瑞萨 FSP 3.5.0 配置工具与 RT-Thread env 工具使能更多片上外设的进阶方法。读完本文你可以独立完成该板 BSP 的编译、下载、验证并结合仓库源码理解其默认配置、Kconfig 外设选项与 PPP 联网方案的落地细节。开发板与 BSP 概述IOT-RA6M4 是一块基于瑞萨 RA6M4 MCU 群组的评估板通过瑞萨灵活配置软件包FSP和 IDE可帮助用户评估 RA6M4 的片上特性并开发嵌入式应用。该 BSP 位于仓库的 bsp/renesas/ra6m4-iot 目录下与瑞萨 RA 系列通用驱动库 bsp/renesas/libraries 共同构成硬件抽象基础。开发板常用板载资源如下MCUR7FA6M4AF3CFP200MHzArm Cortex-M33 内核1MB 代码闪存256kB SRAM调试接口板载 J-Link 接口扩展接口两个 PMOD 连接器。外设支持情况该 BSP 对外设的支持情况如下摘自 BSP 说明文档片上外设支持情况备注UART支持UART6 为默认日志输出端口GPIO支持IIC支持软件WDT支持RTC支持ADC支持DAC支持SPI支持FLASH支持PWM支持CAN支持SDIO支持外接 WiFi 模块支持RW007 WiFi 网络模块外接温湿度传感器支持HS300x 温湿度模块外接室内空气质量传感器支持zmod4410 模块移远 Cat.1 模块支持使用 PPP 方式上网这些外设的“支持”并非全部默认编译进固件。从源码结构看仓库当前默认的是最小体量配置在 rtconfig.h 中只使能了BSP_USING_GPIO、BSP_USING_UART和BSP_USING_UART6其余外设需要后续通过 env 工具Kconfig和 FSP 配置按需开启。片上外设的 Kconfig 选项集中定义在 board/Kconfig覆盖 UART0UART9含 DMA 与收发缓冲区大小配置、硬件 I2C、SPI0/SPI1支持 DTC 免 CPU 搬运、ADC0/ADC1、DAC0/DAC1、PWM0PWM9GPT 32/16 位输出、SDHI0/SDHI1SDIO自动选中 DFS 与 POSIX 文件接口、CAN0/CAN1以及可工作在 SPI/I2C/UART 三种模式下的 SCI0SCI9 控制器。快速上手MDK5 编译与 J-Flash Lite 烧录硬件连接使用 USB 数据线连接开发板到 PC通过板载 J-Link 接口下载和 DEBUG 程序使用 USB 转串口工具连接 UART6P305TXD、P304RXD用于查看系统日志。编译与下载BSP 说明文档指出快速上手目前仅提供 MDK5 工程双击 project.uvprojx 打开 MDK5 工程并编译。烧录需使用 SEGGER J-Flash Lite 工具建议使用 V7.50 及以上版本。在 J-Flash Lite 中选择芯片型号R7FA6M4AF进入工具选择 MDK 编译产物/object/ra6m4.hex点击 Program Device 开始烧录。从构建脚本看该工程同时定义了 Keilarmclang与 GCC 两套工具链参数rtconfig.py 中 Keil 分支使用--scatter script/fsp.scat分散加载GCC 分支使用-T script/fsp.ld链接脚本目标架构均针对 Cortex-M33-mcpucortex-m33/--cpu Cortex-M33因此scons --targetmdk5等命令实际也是基于该脚本重新生成 MDK 工程。查看运行结果下载成功后系统自动运行并打印启动信息。在终端工具中打开对应串口115200-8-1-N复位设备后即可看到 RT-Thread 的输出。输入help命令可查看系统支持的 shell 命令\ | / - RT - Thread Operating System / | \ 4.0.4 build Oct 11 2021 2006 - 2021 Copyright by rt-thread team Hello RT-Thread! msh msh help RT-Thread shell commands: reboot - Reboot System help - RT - Thread shell help. ps - List threads in the system. free - Show the memory usage in the system. hello - say hello world clear - clear the terminal screen version - show RT - Thread version information list_thread - list thread list_sem - list semaphore in system list_event - list event in system list_mutex - list mutex in system list_mailbox - list mail box in system list_msgqueue - list message queue in system list_timer - list timer in system list_device - list device in system list - list all commands in system msh 应用入口函数应用层入口函数位于 src/hal_entry.c 中的void hal_entry(void)用户编写的源文件可直接放在src目录下由 SConscript 收集./src/*.c编入 Applications 分组。默认示例通过 GPIO 设备驱动翻转 LED3映射到端口 1 的 PIN 14即BSP_IO_PORT_01_PIN_14#define LED3_PIN BSP_IO_PORT_01_PIN_14 void hal_entry(void) { rt_kprintf(\nHello RT-Thread!\n); while (1) { rt_pin_write(LED3_PIN, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(LED3_PIN, PIN_LOW); rt_thread_mdelay(500); } }默认内核与驱动配置解读结合 rtconfig.h 可以看到当前 BSP 的关键默认配置理解它们有助于定位日志、内存等行为控制台RT_USING_CONSOLE且RT_CONSOLE_DEVICE_NAME为uart6rtconfig.h#L105-L109与“UART6 为默认日志输出端口”的说明一致串口驱动启用RT_USING_SERIAL_V2新串口框架并开启RT_SERIAL_USING_DMAUART6 接收缓冲区 256 字节BSP_UART6_RX_BUFSIZE发送缓冲区为 0中断/阻塞发送内核参数RT_TICK_PER_SECOND 1000、RT_THREAD_PRIORITY_MAX 3232 级优先级、小堆作为系统堆RT_USING_SMALL_MEM_AS_HEAP组件层启用 Finsh/MSH 命令行FINSH_THREAD_STACK_SIZE 4096、FINSH_USING_HISTORY等与RT_USING_USER_MAIN。FSP 侧的 UART 实例配置由 r_sci_uart_cfg.h 定义当前关闭了 FIFO、DTC 与流控支持属于最小化默认配置。板级内存布局256kB SRAM 顶端作为堆结束地址见 board/board.h。进阶使用一使用 FSP 配置外设如果需要修改瑞萨 BSP 的外设配置或添加新的外设端口必须使用瑞萨FSP 3.5.0配置工具请严格按下述步骤操作配置问题可到 RT-Thread 社区论坛提问下载并安装 FSP 3.5.0安装完成后需要添加 IOT-RA6M4 开发板的官方板级支持包即docs目录下的Xiaoxiongpai_BSP_FSP3.5.0.rar见 bsp/renesas/ra6m4-iot/docs 目录并按瑞萨官方说明将其导入 FSP参考仓库文档 RA系列使用FSP配置外设驱动.md在 MDK 中通过添加自定义命名来打开当前工程的 FSP 配置仓库 bsp 默认使能最小体量配置使能 env 外设配置的完整步骤为在 bsp 目录下打开 env 工具执行scons --targetmdk5生成 MDK 工程打开project.uvprojx选择导航栏Software Components找到Flex Software下RA Configuration旁的配置按钮工具会自动查找本机安装的 FSP 版本选择指定版本后进入 FSP在 FSP 中可以看到已配置完成的外设点击Generate Project Content即可生成所需驱动文件生成物会落回 ra_gen 与 ra_cfg 等目录回到 env使能所需的外设配置后保存退出再次生成工程即可。更完整的 RA 系列外设驱动添加方法与教程可继续阅读 RA系列外设驱动添加指南.md、RA系列BSP外设驱动使用教程.md 与 RA系列驱动介绍.md。进阶使用二env 工具使能组件与软件包BSP 默认只开启了 UART6 功能。若要使用更多高级功能组件、软件包等需利用 env 工具配置步骤如下在 bsp 目录下打开 env 工具输入menuconfig配置工程配置完成后保存退出输入pkgs --update更新软件包输入scons --targetmdk5重新生成工程。menuconfig中“Hardware Drivers Config”菜单即来自 board/Kconfig例如使能BSP_USING_ADC后再勾选BSP_USING_ADC0即可打开 ADC0 驱动而片上 GPIO/UART 等基础驱动的公共实现位于 bsp/renesas/libraries/HAL_Drivers 目录由根 Kconfig 中的rsource ../libraries/Kconfig与板级配置合并引入。实战案例Cat.1 模块 PPP 入网板级 Kconfig 中“Board extended module Drivers”菜单提供了BSP_USING_LWIP_PPPEnable ppp function选项选中后会自动使能 UART、UART2 与 PPP_Device 软件包board/Kconfig#L768-L777。仓库内附有完整操作文档 使用PPP方式上网.md要点如下PPP 入网是 4G Cat.1 模块除 AT 命令外的另一种入网方式将 PCI-E 接口的 Cat.1 板卡插入板上接口并连接天线插入 SIM 卡注意插卡方向RT-Thread 侧需要打开 lwIP 协议栈TCPIP 线程栈大小建议增加到 2048 以上并通过PPP_Device软件包完成 PPP 解析与拨号配置 PPP_Device 时按手机卡运营商选取 APN并将ppp device uart name配置为uart2由于通信模块引脚由用户自行选配可能需微调驱动代码例如该板上 EC20 的复位引脚与系统复位引脚公用应将复位引脚配置改为 -1在 FSP 中打开 UART2 端口并保存退出编译、下载后手动按下开发板 RESET 按钮复位确保芯片和模块都重启等待片刻后自动连接连接成功后使用ifconfig查看网络状态用ping命令测试连通性。FAQ使用 MDK 的 DEBUG 时遇到 “Error: Flash Download failed Cortex-M33” 怎么办可按照下图操作修改 Utilities 中的下载选项取消使用默认的 Flash Download 算法流程改用板载 J-Link 的 SWD 下载参数参考资料与延伸阅读BSP 说明文档bsp/renesas/ra6m4-iot/README.mdPPP 联网文档bsp/renesas/ra6m4-iot/docs/使用PPP方式上网.mdRA 系列 FSP 配置教程bsp/renesas/docs/RA系列使用FSP配置外设驱动.md关键源码src/hal_entry.c、rtconfig.h、rtconfig.py、board/Kconfig瑞萨官方资料RA MCU 基础知识、RA6 快速设计指南、RA6M4 数据手册与用户手册以及开发板用户手册docs/开发板手册.docx可在瑞萨官网与 bsp/renesas/ra6m4-iot/docs 目录中获取如对 IOT-RA6M4 感兴趣并有希望分享的项目欢迎按 RT-Thread 的贡献流程向仓库提交代码。赞分享操作系统嵌入式物联网嵌入式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点击查看免费下载相关推荐瑞萨 EK-RA6E2 开发板运行 RT-ThreadMDK5 快速上手与 FSP/ENV 进阶配置实践瑞萨 EK RA6E2 开发板运行 RT ThreadMDK5 快速上手与 FSP/ENV 进阶配置实践 本篇以 RT Thread 仓库中 EK RA6E2操作系统嵌入式物联网嵌入式OSRTOSRT-Thread RA6M4 BSP 实战指南基于瑞萨 CPK-RA6M4 开发板的 MDK 开发、J-Flash 烧录与 FSP/ENV 进阶配置RT Thread RA6M4 BSP 实战指南基于瑞萨 CPK RA6M4 开发板的 MDK 开发、J Flash 烧录与 FSP/ENV 进阶配置 本文以操作系统嵌入式物联网嵌入式OSRTOSRT-Thread 瑞萨 RA4M2RA-Eco-RA4M2-100PINBSP 实战指南从 J-Flash 快速上电运行到 FSP/ENV 进阶外设配置RT Thread 瑞萨 RA4M2RA Eco RA4M2 100PINBSP 实战指南从 J Flash 快速上电运行到 FSP/ENV 进阶外设配置操作系统嵌入式物联网嵌入式OSRTOS上一篇ScyllaDB在共享环境中的优化配置指南下一篇FlutterBoost应用冷启动优化5个预编译与资源预加载技巧创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考