【瑞萨AI挑战赛】搭建RT-theard开发环境,点亮LED灯,分享搭建过程中遇到的问题
一:开发板介绍实物图片如下所示:
发货清单:
开发板一块,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闪烁的示列代码:
/* 配置 LED 灯引脚 */
#define LED_PIN_R BSP_IO_PORT_00_PIN_13
#define LED_PIN_B BSP_IO_PORT_00_PIN_12
#define LED_PIN_G BSP_IO_PORT_06_PIN_13
/* 定义 LED 亮灭电平 */
#define LED_ON(0)
#define LED_OFF (1)
/* 定义 8 组 LED 闪灯表,其顺序为 R B G */
static const rt_uint8_t _blink_tab[] =
{
{LED_OFF, LED_OFF, LED_OFF},
{LED_ON,LED_OFF, LED_OFF},
{LED_OFF, LED_ON,LED_OFF},
{LED_OFF, LED_OFF, LED_ON},
{LED_ON,LED_OFF, LED_ON},
{LED_ON,LED_ON,LED_OFF},
{LED_OFF, LED_ON,LED_ON},
{LED_ON,LED_ON,LED_ON},
};
void hal_entry(void)
{
rt_kprintf("\nHello RT-Thread!\n");
rt_kprintf("==================================================\n");
rt_kprintf("This example project is an RGB flicker routine!\n");
rt_kprintf("==================================================\n");
unsigned int count = 0;
unsigned int group_num = sizeof(_blink_tab)/sizeof(_blink_tab);
unsigned int group_current;
/* 设置 RGB 灯引脚为输出模式 */
rt_pin_mode(LED_PIN_R, PIN_MODE_OUTPUT);
rt_pin_mode(LED_PIN_G, PIN_MODE_OUTPUT);
rt_pin_mode(LED_PIN_B, PIN_MODE_OUTPUT);
rt_pin_write(LED_PIN_R, LED_OFF);
rt_pin_write(LED_PIN_G, LED_OFF);
rt_pin_write(LED_PIN_B, LED_OFF);
do
{
/* 获得组编号 */
group_current = count % group_num;
/* 控制 RGB 灯 */
rt_pin_write(LED_PIN_R, _blink_tab);
rt_pin_write(LED_PIN_B, _blink_tab);
rt_pin_write(LED_PIN_G, _blink_tab);
/* 输出 LOG 信息 */
LOG_D("group: %d | red led [%-3.3s] | | blue led [%-3.3s] | | green led [%-3.3s]",
group_current,
_blink_tab == LED_ON ? "ON" : "OFF",
_blink_tab == LED_ON ? "ON" : "OFF",
_blink_tab == LED_ON ? "ON" : "OFF");
count++;
/* 延时一段时间 */
rt_thread_mdelay(500);
}while(count > 0);
}5.2 烧录测试:
示例工程下载好了,可见板载的LED 灯依次闪烁,同时串口输出当前状态的字符串。
页:
[1]