回答

收藏

[评测分享] 【瑞萨AI挑战赛】搭建RT-theard开发环境,点亮LED灯,分享搭建过程中遇到的问题

#板卡评测 #板卡评测 42 人阅读 | 0 人回复 | 2026-03-16

一:开发板介绍
实物图片如下所示:

发货清单:
开发板一块,type-c线一根,摄像头一个和一根排线
  • MCU:R7KA8P1KFLCAC,高性能 1GHz Arm® Cortex®-M85 与 250MHz Arm® Cortex®-M33 双内核,1MB code MRAM 以及 2MB 带 ECC 的 SRAM。
  • 调试接口:板载 DAP-Link 接口
  • 板载接口:40Pin 树莓派接口、MIPI DSI/CSI、CEU Camera、RGB LCD接口、2个以太网接口、4个 CAN 电机接口、2个 RS485接口、3路串口、1个 DBUS 接口、1个 USBHS/USBFS 接口、1个 RTC 电池接口。
二:软件环境搭建:
2.1 使用RT-theard开发工具
2.2 安装Tian board sdk支持包
https://github.com/RT-Thread-Studio/sdk-bsp-ra8p1-titan-board
2.3 安装支持包

遇到问题:
在使用rt-theard软件在线的SDK安装包的时候,发现是存在安装不上的,尝试了不同的rt-theard版本,不管是否是开启**的情况下,也是无法安装到,到最后总是提示安装失败,尝试重启软件的方式,捣鼓了几次都是失败的。
不过也不用担心,可以使用离线的方式,进行安装,如下图所示:直接导入步骤二中下载的支持包即可。

在安装SDK离线支持包的同时,也会一同安装好其他的工具链。
三:新建测试工程
3.1 新建板载LED灯闪烁测试工程

为了快速开发,我们可以选择开发板的方式:

配置好工程位置,名称,基于示例工程的方式。由于开发板集成的调试器是DAP,这里我们选择下载方式和开发板保存一致就可以了。
四:安装板载调试器
最终识别的调试器为:RA4M2 CMSIS-DAP
遇到的问题:
    我这里识别是WinUSB 设备,虽然可以正常识别的串口,但是没有识别到DAP的调试器。
解决办法:
   需要右键点击并选择卸载设备。
   拔掉USB线重新连接,此时系统应自动识别为 RA4M2 CMSIS-DAP,驱动配置即告完成
五:工程下载:
在RT-Thread Studio中新建或打开一个示例项目。
点击工具栏的 "小锤子" 图标进行编译。
编译成功后,点击 "下载" 按钮即可将程序烧录至开发板,注意调试器保持一致。
5.1 板载LED闪烁的示列代码:
  1. /* 配置 LED 灯引脚 */
  2. #define LED_PIN_R   BSP_IO_PORT_00_PIN_13
  3. #define LED_PIN_B   BSP_IO_PORT_00_PIN_12
  4. #define LED_PIN_G   BSP_IO_PORT_06_PIN_13

  5. /* 定义 LED 亮灭电平 */
  6. #define LED_ON  (0)
  7. #define LED_OFF (1)

  8. /* 定义 8 组 LED 闪灯表,其顺序为 R B G */
  9. static const rt_uint8_t _blink_tab[][3] =
  10. {
  11.     {LED_OFF, LED_OFF, LED_OFF},
  12.     {LED_ON,  LED_OFF, LED_OFF},
  13.     {LED_OFF, LED_ON,  LED_OFF},
  14.     {LED_OFF, LED_OFF, LED_ON},
  15.     {LED_ON,  LED_OFF, LED_ON},
  16.     {LED_ON,  LED_ON,  LED_OFF},
  17.     {LED_OFF, LED_ON,  LED_ON},
  18.     {LED_ON,  LED_ON,  LED_ON},
  19. };

  20. void hal_entry(void)
  21. {
  22.     rt_kprintf("\nHello RT-Thread!\n");
  23.     rt_kprintf("==================================================\n");
  24.     rt_kprintf("This example project is an RGB flicker routine!\n");
  25.     rt_kprintf("==================================================\n");

  26.     unsigned int count = 0;
  27.     unsigned int group_num = sizeof(_blink_tab)/sizeof(_blink_tab[0]);
  28.     unsigned int group_current;

  29.     /* 设置 RGB 灯引脚为输出模式 */
  30.     rt_pin_mode(LED_PIN_R, PIN_MODE_OUTPUT);
  31.     rt_pin_mode(LED_PIN_G, PIN_MODE_OUTPUT);
  32.     rt_pin_mode(LED_PIN_B, PIN_MODE_OUTPUT);
  33.     rt_pin_write(LED_PIN_R, LED_OFF);
  34.     rt_pin_write(LED_PIN_G, LED_OFF);
  35.     rt_pin_write(LED_PIN_B, LED_OFF);

  36.     do
  37.     {
  38.         /* 获得组编号 */
  39.         group_current = count % group_num;

  40.         /* 控制 RGB 灯 */
  41.         rt_pin_write(LED_PIN_R, _blink_tab[group_current][0]);
  42.         rt_pin_write(LED_PIN_B, _blink_tab[group_current][1]);
  43.         rt_pin_write(LED_PIN_G, _blink_tab[group_current][2]);

  44.         /* 输出 LOG 信息 */
  45.         LOG_D("group: %d | red led [%-3.3s] | | blue led [%-3.3s] | | green led [%-3.3s]",
  46.             group_current,
  47.             _blink_tab[group_current][0] == LED_ON ? "ON" : "OFF",
  48.             _blink_tab[group_current][1] == LED_ON ? "ON" : "OFF",
  49.             _blink_tab[group_current][2] == LED_ON ? "ON" : "OFF");

  50.         count++;

  51.         /* 延时一段时间 */
  52.         rt_thread_mdelay(500);
  53.     }while(count > 0);
  54. }
复制代码
5.2 烧录测试:

示例工程下载好了,可见板载的LED 灯依次闪烁,同时串口输出当前状态的字符串。

分享到:
回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条