TA的每日心情 | 开心 2024-7-12 13:54 |
|---|
签到天数: 5 天 连续签到: 1 天 [LV.2]偶尔看看I
秀才
- 积分
- 316
|
一:开发板介绍
实物图片如下所示:
发货清单:
开发板一块,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[][3] =
- {
- {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[0]);
- 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[group_current][0]);
- rt_pin_write(LED_PIN_B, _blink_tab[group_current][1]);
- rt_pin_write(LED_PIN_G, _blink_tab[group_current][2]);
- /* 输出 LOG 信息 */
- LOG_D("group: %d | red led [%-3.3s] | | blue led [%-3.3s] | | green led [%-3.3s]",
- group_current,
- _blink_tab[group_current][0] == LED_ON ? "ON" : "OFF",
- _blink_tab[group_current][1] == LED_ON ? "ON" : "OFF",
- _blink_tab[group_current][2] == LED_ON ? "ON" : "OFF");
- count++;
- /* 延时一段时间 */
- rt_thread_mdelay(500);
- }while(count > 0);
- }
复制代码 5.2 烧录测试:
示例工程下载好了,可见板载的LED 灯依次闪烁,同时串口输出当前状态的字符串。
|
|