C
瑞萨 EK-RA6M3G 套件
本节提供有关瑞萨 EK-RA6M3G 的板级信息。
板级功能
- 配备 ARM® Cortex®-M4、2 MB 闪存、640 KB RAM 的 R7FA6M3AH3CFC MCU
- 4.3” 480x272 LCD 触摸显示屏
- 32 MB 外部 QSPI 闪存
支持的颜色深度
该板级参考端口支持 16bpp 颜色深度。板级还支持 24bpp 和 32bpp,但在参考端口中未实施。有关更多信息,请参阅 QUL_COLOR_DEPTH 和 颜色深度。
配置操作模式
使用板上的 J16 跳线选择 MCU 的操作模式,具体取决于与 MCU 一起使用的软件。
MCU 启动模式 | 跳线 J16 | 用于连接的 USB 端口 |
---|---|---|
正常/单芯片模式 | 开启 | J10 |
SCI/USB 启动模式 | 关闭 | J11 |
有关详细信息,请参阅 Renesas RA6M3 Group - 用户手册:硬件。
烧录固件
在烧录固件之前,使用以下列出的工具之一选择适当的启动模式。
软件 | MCU 启动模式 |
---|---|
Renesas e2 studio | 正常/单芯片模式 |
SEGGER J-Link/J-Flash (Lite) | 正常/单芯片模式 |
预构建演示和示例
EK-RA6M3G
板的 Qt for MCUs 软件包附带的预构建 thermo 演示二进制文件。您可在 demos_images
目录中找到它。
使用预构建的 Qt Quick Ultralite 库构建应用程序
- 打开您要构建的示例的 CMake 项目文件。
- 在 配置项目 窗口中
- 选择您之前创建的工具包。例如,Qt for MCUs 2.8.0 - Desktop 32bpp。
- 选择 配置项目。
一旦配置了项目,选择 运行 或按您的键盘上的 Ctrl+r 键以构建并将二进制文件烧录到目标设备。
读取调试信息
默认情况下,日志数据会重定向到串行通信接口通道0(SCI0)上的UART。
板子引脚号 | 板子引脚类型 | TTL-232-USB电缆引脚 |
---|---|---|
地 | 接地 | 地 |
P410 | RXD0 | TXD |
P411 | TXD0 | RXD |
端口设置
设置 | 值 |
---|---|
每秒比特数 | 115200 |
数据位 | 8 |
奇偶校验 | 无 |
停止位 | 1 |
流量控制 | 无 |
调试
瑞萨e2 studio
瑞萨e2 studio允许您使用自定义配置来调试项目。
- 从顶部菜单打开 运行
- 选择 调试配置...
- 选择 瑞萨 GDB 硬件调试
- 从 C/C++ 应用程序: 点击 浏览... 并选择要调试的 .elf 文件
- 点击 应用 和 关闭
- 点击 以 '调试' 模式启动
SEGGER J-Link GDB 服务器
使用 SEGGER J-Link GDB 服务器创建 GDB 服务器。
QUL_ROOT
和 QUL_TOOLS
以下命令行示例中用作环境变量。例如
export QUL_ROOT=$HOME/Qt/QtMCUs/2.8.0 export QUL_TOOLS=$HOME/Qt/Tools/QtMCUs
set QUL_ROOT=C:\Qt\QtMCUs\2.8.0 set QUL_TOOLS=C:\Qt\Tools\QtMCUs
- 将 连接到 J-Link 设置为 USB
- 将 目标设备 设置为 R7FA6M3AH
- 将 目标接口 设置为 SWD
- 将 速度 设置为 固定 4000 kHz
- 点击 确定
GDB 服务器现在正在默认端口2331上监听 TCP 连接。
- 在单独的控制台运行
arm-none-eabi-gdb
$QUL_TOOLS/arm_gcc_12_3_1/bin/arm-none-eabi-gdb <PATH_TO>/your_app.elf
%QUL_TOOLS%\arm_gcc_12_3_1\bin\arm-none-eabi-gdb.exe <PATH_TO>\your_app.elf
- 在
arm-none-eabi-gdb
控制台中通过 gdbserver 连接到目标注意: 实际使用的 TCP 端口会在 gdbserver 的控制台上打印出来。
(gdb) target remote 127.0.0.1:2331
注意
- 排除了不适合放入闪存或需要比 MCU 上可用的更多 RAM 的演示、示例和测试。
- 在默认平台适配中,将堆栈区域设置为与堆栈重叠,以启用构建具有不同堆栈和堆需求的测试和演示。
- 为堆栈和堆定义大小,以确保内存保护单元检测到堆栈溢出和下溢。
- 默认情况下,图像和字体数据存储在 MCU 的内部闪存中。较大的 Qt Quick Ultralite 演示不适合用于发布或调试版本的内部闪存。在这种情况下,可以使用
QulResourceDataExtFlash
和QulFontResourceDataExtFlash
部分,将图像或字体数据移动到外部闪存。有关参考,请参阅 ImageFiles.MCU.resourceStorageSection、MCU.Config.fontFilesStorageSection 和 MCU.Config.glyphsStorageSection。
在瑞萨e2 studio中的默认 FSP 配置
注意: 如果在表中未指定属性,则使用默认值。
板级支持包
属性 | 值 |
---|---|
RA Common > 主堆栈大小(字节) | 32768 |
RA Common > 堆大小(字节) | 102400 |
注意:
- 早期列出的值仅适用于初始测试,因为堆栈和堆的大小是应用程序特定的。
- 在默认平台适配中,这些值没有作用,因为自定义实现允许堆栈区域与堆栈重叠。
- 使用 e2 Studio 项目中的
startup.c
和system.c
文件来设置堆栈和堆内存大小。您可以在ra/fsp/src/bsp/cmsis/Device/RENESAS/Source
目录中找到这些系统文件。 - 使用 e2 Studio 生成的
script/fsp.ld
链接脚本来正确设置堆栈和堆区域。
堆栈
添加以下堆栈并进行配置
模拟 > ADC (r_adc
)
属性 | 值 |
---|---|
模块 > 通用 > 名称 | g_adc0 |
模块 > 输入 > 通道扫描掩码 > 通道 2 | 选中 |
引脚 > AN02 | P002 |
连接 > I2C 主设备 (r_iic_master
)
属性 | 值 |
---|---|
模块 > 名称 | g_i2c_touch |
模块 > 通道 | 2 |
模块 > 速率 | 快速模式 |
模块 > 上升时间 (ns) | 120 |
模块 > 下降时间 (ns) | 120 |
模块 > 载波比 (%) | 50 |
模块 > 从机地址 | 0x38 |
模块 > 地址模式 | 7位 |
模块 > 超时模式 | 短模式 |
模块 > 回调 | touch_i2c_callback |
模块 > 中断优先级 | 优先级 6 |
引脚 > SDA | P511 |
引脚 > SCL | P512 |
连接 > UART (r_sci_uart
)
属性 | 值 |
---|---|
模块 > 通用 > 名称 | g_uart0 |
模块 > 通用 > 通道 | 0 |
模块 > 通用 > 数据位 | 8位 |
模块 > 通用 > 奇偶校验 | 无 |
模块 > 通用 > 停止位 | 1位 |
模块 > 中断 > 回调 | user_uart_callback |
引脚 > TXD_MOSI | P411 |
引脚 > RXD_MISO | P410 |
注意:在分配 UART 引脚时,将 操作模式 设置为 异步 UART。另外,禁用 SPI0 或为 UART 分配不同的引脚,以使用 P410 和 P411 引脚。
图形 > D/AVE 2D 端口界面 (r_drw
)
属性 | 值 |
---|---|
常用 > 允许间接模式 | 启用 |
常用 > 内存分配 | 自定义 |
模块 > D2 设备句柄名称 | d2_handle0 |
模块 > DRW 中断优先级 | 优先级 2 |
图形 > 图形 LCD(《code translate="no">r_glcdc)《a class="plink" href="#graphics-graphics-lcd-r-glcdc" title="直接链接到本标题">
属性 | 值 |
---|---|
模块 > 通用 > 名称 | g_display0 |
模块 > 中断 > 回调函数 | glcdc_callback |
模块 > 中断 > 行检测中断优先级 | 优先级 2 |
模块 > 输入 > 图形层 1 > 通用 > 水平尺寸 | 480 |
模块 > 输入 > 图形层 1 > 通用 > 垂直尺寸 | 272 |
模块 > 输入 > 图形层 1 > 帧缓冲 > 帧缓冲数量 | 1 |
模块 > 输入 > 图形层 1 > 帧缓冲 > 帧缓冲分配段 | .bss |
模块 > 输出 > 时序 > 水平总周期 | 525 |
模块 > 输出 > 时序 > 水平有效视频周期 | 480 |
模块 > 输出 > 时序 > 水平回扫周期 | 40 |
模块 > 输出 > 时序 > 水平同步信号周期 | 1 |
模块 > 输出 > 时序 > 水平同步信号极性 | 低有效 |
模块 > 输出 > 时序 > 垂直总行数 | 316 |
模块 > 输出 > 时序 > 垂直有效视频行数 | 272 |
模块 > 输出 > 时序 > 垂直回扫行数 | 8 |
模块 > 输出 > 时序 > 垂直同步信号周期 | 1 |
模块 > 输出 > 定时 > 垂直同步信号极性 | 低有效 |
模块 > 输出 > 定时 > 数据使能信号极性 | 高电平有效 |
模块 > 输出 > 定时 > 同步边缘 | 上升沿 |
模块 > 输出 > 格式 > 颜色格式 | 16位RGB565 |
模块 > TCON > Hsync引脚选择 | LCD_TCON0 |
模块 > TCON > Vsync引脚选择 | LCD_TCON1 |
模块 > TCON > 带宽分频比 | 1/32 |
注意:如果您需要双缓冲,请将帧缓冲区数量更改为2。
输入 > 外部中断 (r_icu
)
属性 | 值 |
---|---|
模块 > 名称 | g_S1_irq0 |
模块 > 通道 | 13 |
模块 > 触发 | 下降沿 |
模块 > 数码滤波 | 启用 |
模块 > 数码滤波样本时钟 | PCLK / 64 |
模块 > 回调 | s1_irq_callback |
模块 > 引脚中断优先级 | 优先级12 |
引脚 > IRQ13 | P009 |
输入 > 外部中断 (r_icu
)
属性 | 值 |
---|---|
模块 > 名称 | g_touch_irq |
模块 > 通道 | 0 |
模块 > 触发 | 下降沿 |
模块 > 数码滤波 | 启用 |
模块 > 数码滤波样本时钟 | PCLK / 64 |
模块 > 回调 | touch_irq_cb |
模块 > 引脚中断优先级 | 优先级5 |
引脚 > IRQ00 | P206 |
注意:请确保P206是中断模式,并且其上拉属性是输入上拉。
存储 > QSPI (r_qspi
)
属性 | 值 |
---|---|
模块 > 通用 > 名称 | g_qspi0 |
模块 > 一般 > 总线时序 > 最小QSSL取消选通周期 | 8 QSPCLK |
计时器 > 计时器,通用PWM (r_gpt
)
属性 | 值 |
---|---|
通用 > 引脚输出支持 | 启用 |
模块 > 通用 > 名称 | g_timer_PWM |
模块 > 通用 > 通道 | 7 |
模块 > 一般 > 模式 | 锯齿波PWM |
模块 > 一般 > 周期 | 10 |
模块 > 一般 > 周期单位 | 毫秒 |
模块 > 输出 > 负载百分比 | 75 |
模块 > 输出 > GTIOCA输出启用 | True |
模块 > 输出 > GTIOCA停止电平 | 引脚电平高 |
引脚 > GTIOCA | P603 |
注意:在设置GTIOCA引脚时,请确保GPT计时器的操作模式为GTIOCA或GTIOCB,并且引脚P603为外设模式。
已知问题或限制
- 由于评估套件板上的RAM有限且SDRAM不可用,不支持资产预加载。
- 默认使用单缓冲技术,因为RAM有限。这可能导致屏幕闪烁。可以从Renesas e2 studio图形LCD(《code translate="no">r_glcdc)堆栈配置中启用双缓冲。
- 为了避免出现视觉伪影,请尽量减少使用需要通过CPU混合的旋转或透视变换图像。在《code translate="no">发布下重建Qt Quick Ultralite核心库可能有助于减少这种伪影。
在特定Qt许可下提供。
了解更多信息。