ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

RT-Thread RA-Eco-RA4E2-64PIN 开发板 BSP 实战:从硬件资源到 MDK5 编译烧录与源码剖析

RT-Thread RA-Eco-RA4E2-64PIN 开发板 BSP 实战:从硬件资源到 MDK5 编译烧录与源码剖析 操作系统嵌入式物联网嵌入式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 仓库中bsp/renesas/ra4e2-eco板级支持包的官方说明文档完整介绍瑞萨 RA-Eco-RA4E2-64PIN 开发板的硬件资源、片上外设支持矩阵以及通过 MDK5 J-Flash Lite 将 RT-Thread 运行到 R7FA4E2B93CFM100MHz Cortex-M33核心板上的完整流程。读完本文后你可以独立完成该 BSP 的硬件接线、编译、烧录与串口验证并能定位应用入口函数、理解 UART9 默认串口与 Kconfig 外设配置项的底层实现。开发板介绍100MHz Cortex-M33 入门级核心板RA-Eco-RA4E2-64PIN-V1.0 是一款基于 100MHz Arm Cortex-M33 内核架构的核心板主控芯片为 R7FA4E2B93CFM。RA4E2 组是 RA4 系列中最新的入门级微控制器基于带 TrustZone 的 100MHz Cortex-M33 内核提供高性能与优化后的外设功能以及最小的封装选项包括节省空间的 36 引脚 BGA 和 32 引脚 QFN 封装面向成本敏感和空间受限的应用场景。由于 RA4E2 在性能、外设功能和可扩展性之间取得了均衡它为更广泛的 RA 系列提供了一个入门点。该开发板常用板载资源如下资源说明MCUR7FA4E2B93CFM100MHzArm Cortex-M33 内核存储128KB 代码闪存40KB SRAM按键1 个复位按键、1 个自定义按键LED2 个扩展接口两个 PMOD 连接器从源码结构看BSP 中复用了瑞萨官方的 RA4E2-FPB 板级库board 目录 中定义了BOARD_RA4E2_FPB宏注释明确其为 R7FA4E2B93CFMLQFP64 封装开发套件官方板级初始化入口bsp_init()位于 board_init.c。而系统堆内存的布局在 board.h 中定义RA_SRAM_SIZE设为 40KBRA_SRAM_END为0x20000000 40KB堆起始地址HEAP_BEGIN在 MDKarmcc编译下通过链接符号Image$$RAM_END$$ZI$$Base动态定位保证堆紧跟在已使用的 BSS 段之后充分利用片上 SRAM。片上外设支持矩阵该 BSP 目前对外设的支持情况如下摘自 README片上外设支持情况备注UART支持UART9 为默认日志输出端口GPIO支持I3C/I2C支持未验证ADC支持未验证DAC支持未验证SPI支持未验证FLASH支持未验证PWM支持未验证CAN FD支持未验证持续更新中...其中 UART 与 GPIO 是已验证的核心通路UART9 承担系统日志输出GPIO 通过 RT-Thread 标准pin命令操作板载 LED。快速上手MDK5 编译 J-Flash Lite 烧录本 BSP 目前仅提供 MDK5 工程。下面以 MDK5 开发环境为例介绍如何将 RT-Thread 运行起来。硬件连接使用 USB 数据线连接开发板到 PC使用 J-Link 接口下载和 DEBUG 程序使用 USB 转串口工具连接 UART9P109(TXD)、P110(RXD)。编译与下载编译双击 project.uvprojx 文件打开 MDK5 工程编译程序。下载注意该工程需要使用J-Flash Lite工具烧录程序建议使用 V7.50 及以上版本。打开 J-Flash Lite 工具选择芯片型号R7FA4E2B9点击 OK 进入工具选择 BSP 目录下 MDK 编译出的/object/rtthread.hex文件点击Program Device按钮开始烧录。J-Link 工具请前往 Segger 官方下载页面获取需在工具内完成设备授权/选型。查看运行结果下载程序成功之后系统会自动运行并打印系统信息。将开发板串口连接到 PC在终端工具中打开相应串口115200-8-1-N复位设备后可以看到 RT-Thread 的输出信息。输入help命令可查看系统中支持的命令\ | / - RT - Thread Operating System / | \ 5.2.1 build Jul 4 2025 00:07:09 2006 - 2024 Copyright by RT-Thread team Hello RT-Thread! msh help RT-Thread shell commands: pin - pin [option] sensor_fifo - Sensor fifo mode test function sensor_int - Sensor interrupt mode test function sensor_polling - Sensor polling mode test function sensor - sensor test function reboot - Reboot System clear - clear the terminal screen version - show RT-Thread version information list - list objects help - RT-Thread shell help ps - List threads in the system free - Show the memory usage in the system backtrace - print backtrace of a thread msh 从命令列表可以推断该 BSP 除标准的pin、ps、free等内核命令外还内置了 sensor 系列的测试命令轮询、中断、FIFO 三种模式以及reboot命令便于在上手阶段快速验证外设与系统行为。应用入口函数 hal_entry应用层的入口函数位于 hal_entry.c 中的void hal_entry(void)用户编写的源文件可直接放在src目录下由 SConscript 中Glob(./src/*.c)自动收集。默认示例通过 RT-Thread 的 pin 驱动点亮板载 LED#define LED1_PIN BSP_IO_PORT_02_PIN_07 /* Onboard LED pins */ void hal_entry(void) { rt_kprintf(\nHello RT-Thread!\n); while (1) { rt_pin_write(LED1_PIN, PIN_HIGH); rt_thread_mdelay(500); rt_pin_write(LED1_PIN, PIN_LOW); rt_thread_mdelay(500); } }即hal_entry先打印Hello RT-Thread!随后以 500ms 周期翻转 Port2 Pin7 上的板载 LED1。注意hal_entry.c头部同时兼容 Nano 模式RT_USING_NANO时包含drv_gpio.h否则包含rtdevice.h说明该入口在精简配置下同样可用。源码级实现剖析UART9 默认串口是怎么配置的默认日志口 UART9 的具体参数可以在 FSP 生成的 HAL 数据 hal_data.c 中得到印证与文档中的串口设置完全一致通道与帧格式g_uart9_cfg中channel 9、data_bits UART_DATA_BITS_8、parity UART_PARITY_OFF、stop_bits UART_STOP_BITS_1对应文档要求的 115200-8-1-N 帧格式波特率g_uart9_baud_setting注释标明波特率计算误差为 0.469%使用内部时钟SCI_UART_CLOCK_INT生成BRR 分频值为 53中断RXI/TXI/TEI/ERI 四个中断均配置为优先级 12rxi_ipl (12)等IRQ 向量通过VECTOR_NUMBER_SCI9_RXI等宏绑定到 SCI9 外设扩展配置接收边沿为下降沿起始位关闭噪声取消RS485/IRDA 功能默认关闭p_transfer_tx/rx为 NULL未启用 DMA 传输即默认走中断收发。该 UART 实例g_uart9由 FSP 的 SCI-Serial UART 驱动实现r_sci_uart.c 中的g_uart_on_sciAPI 表模块能力开关则定义在 r_sci_uart_cfg.h当前配置下 FIFO 支持、DTC、流控、RS485、IRDA 均为 0属于最小化可用配置。GPIO 侧板级引脚到外部中断通道的映射表PIN2IRQX_TABLE(pin)定义在 gpio_cfg.h 中将可用引脚如BSP_IO_PORT_02_PIN_06、BSP_IO_PORT_01_PIN_05等逐一映射到 015 号 IRQ 通道RA_IRQ_MAX为 16未列入映射表的引脚返回 -1。从源码结构看若后续需要利用按键/触摸传感器做外部中断事件应参考该表选择受支持的引脚。进阶使用用 Kconfig 开启更多片上外设文档指出进阶使用可通过 ENV 工具对 BSP 配置以开启更多板载资源。BSP 的 Kconfig 入口在 Kconfig 中SOC_R7FA4E2B9默认选中并连带SOC_SERIES_R7FA4E2、RT_USING_COMPONENTS_INIT、RT_USING_USER_MAIN以及ARCH_ARM_CORTEX_SECURE对应 Cortex-M33 安全扩展。在RT_USING_NANO未启用的情况下会进一步加载板级硬件驱动菜单 board/Kconfig关键配置项如下配置项类型默认值说明BSP_USING_UARTbooly使能 UART自动选中RT_USING_SERIAL与RT_USING_SERIAL_V2BSP_USING_UART9booln使能 UART9当前 BSP 的日志口由 FSP 直接初始化该选项用于额外开启/复用通道BSP_UART9_RX_USING_DMAboolnUART9 接收 DMA依赖RT_SERIAL_USING_DMABSP_UART9_TX_USING_DMAboolnUART9 发送 DMA依赖RT_SERIAL_USING_DMABSP_UART9_RX_BUFSIZEint256接收缓冲区大小取值范围 6465535BSP_UART9_TX_BUFSIZEint0发送缓冲区大小取值范围 065535BSP_USING_HW_I2Cbooln使能硬件 I2C 总线选中RT_USING_I2CBSP_USING_HW_I2C1/BSP_USING_HW_I2C2booln分别使能 I2C1 / I2C2 总线BSP_USING_SPIbooln使能 SPI 总线选中RT_USING_SPIBSP_USING_SPI0/BSP_USING_SPI1booln分别使能 SPI0 / SPI1 总线从源码结构看板级 SCons 构建脚本如 board/ports/SConscript还会按配置条件性地编译扩展模块驱动如BSP_USING_RW007对应的触摸驱动drv_rw007.c这与help命令列表中出现的 sensor 系列测试命令相呼应。此外BSP 同时提供了 memory_regions.scatMDK 链接脚本与 script/fsp.ld、script/memory_regions.ldGCC 链接脚本以及调试用的 script/R7FA4E2B9.svd 设备描述文件根目录的 SConscript 明确支持 gcc/armclang 平台的 SCons 构建并拒绝 IAR 构建iccarm平台会直接提示不支持。因此虽然官方快速上手流程基于 MDK5从构建脚本推断该 BSP 也保留了 SCons 工具链的扩展空间实际可用性以当前仓库脚本为准。小结RA-Eco-RA4E2-64PIN BSP 面向 R7FA4E2B93CFM100MHz Cortex-M3340KB SRAM核心板提供 2 个 LED、自定义按键与两个 PMOD 扩展接口UART9 为默认日志口115200-8-1-N快速上手流程为USB 连接 J-Link 下载串口接 P109(TXD)/P110(RXD)MDK5 双击 project.uvprojx 编译用 J-Flash LiteV7.50型号 R7FA4E2B9烧录/object/rtthread.hex复位后经串口查看help输出即可应用代码写入src/hal_entry.c的hal_entry()默认示例为 500ms 周期翻转BSP_IO_PORT_02_PIN_07板载 LED深入配置时UART DMA/缓冲区、硬件 I2C1/I2C2、SPI0/SPI1 等开关均通过 board/Kconfig 的 Kconfig 项控制UART9 的实际帧格式与中断配置可在 ra_gen/hal_data.c 中查证。赞分享操作系统嵌入式物联网嵌入式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 移植到 SimpleMachines Mizar32AVR32 UC3A0开发板BSP 详解与编译烧录实战RT Thread 移植到 SimpleMachines Mizar32AVR32 UC3A0开发板BSP 详解与编译烧录实战 本文围绕 RT Threa操作系统嵌入式物联网嵌入式OSRTOSRT-Thread 瑞萨 EK-RA2A1 开发板 BSP 开发指南MDK5 编译烧录、FSP 外设配置与 ENV 进阶使用RT Thread 瑞萨 EK RA2A1 开发板 BSP 开发指南MDK5 编译烧录、FSP 外设配置与 ENV 进阶使用 本文以 RT Thread 仓库操作系统嵌入式物联网嵌入式OSRTOSRT-Thread ESP32-C3 BSP 开发指南环境搭建、固件编译烧录与 BLE/GDBStub 实战RT Thread ESP32 C3 BSP 开发指南环境搭建、固件编译烧录与 BLE/GDBStub 实战 本指南以 RT Thread 仓库中 bsp/E操作系统嵌入式物联网嵌入式OSRTOS上一篇MoneyPrinterTurbo输入一个主题5 分钟拿到一条 AI 短视频下一篇4步把微信聊天记录存到自己电脑WeChatMsg免费导出年度报告教程创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表