野火科技
直播中

jf_23522415

2年用户 65经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[经验]

【野火启明6M5开发板体验】1.开箱

开箱

简单开箱

开发板已经用几天了,这里做个简单的伪开箱。

白色简约盒子,清晰的logo,盒子右下角有三个二维码,其中野火公众号和瑞萨MCU小百科的公众号经常会有不错的文章推送,很早之前就关注了。
image.png

打开盒子后,就是启明开发板和一根可用于数据传输和给开发板供电的TYPE-C的数据线了。这个图就省略了,

接下来是连接jlink和type-c供电后的图片

image.png

启明开发板应该是出厂时就烧录了跑led灯的程序了。挺好的,方便初次拿到开发板有个直观的体验。

跑个程序

开发板连接的是jlink仿真器,走swd接口,使用杜邦线连接开发板和jlink仿真器,分别接了VCC , SWDIO, SWCLK, GND四个引脚作调试和仿真。

开发环境使用的是windows下的e2studio IDE,FSP版本使用的是3.8.x

image.png

另外使用附带的type-c线连接开发板的“USB TO UART”typec口和电脑的usb口,用于和开发板的串口通讯和给开发板供电。

创建项目的过程就跳过了,这部分内容在[野火]瑞萨RA系列FSP库开发实战指南——基于野火启明6M5开发板
有详细的介绍。

板块分布
image.png
此篇作为开箱文章,先简单的从万年不变的点灯开始,也就是led部分的内容。

启明开发板上四个led灯引脚如下:

image.png

configuration.xml中配置led引脚

LED1

image.png

LED2

image.png

LED3

image.png

LED4是电源灯,不支持自定义配置

配置好引脚后,generate project。

新建led.h

#ifndef LED_H_
#define LED_H_

#include "hal_data.h"

#define RED                                                                     \
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_00, BSP_IO_LEVEL_LOW);\
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_03, BSP_IO_LEVEL_HIGH); \
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_HIGH);

#define BLUE                                                                    \
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_00, BSP_IO_LEVEL_HIGH); \
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_03, BSP_IO_LEVEL_LOW);\
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_HIGH);

#define GREEN                                                                   \
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_00, BSP_IO_LEVEL_HIGH); \
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_03, BSP_IO_LEVEL_HIGH); \
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_LOW);

#define LED_ON                                                                 \
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_00, BSP_IO_LEVEL_LOW); \
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_03, BSP_IO_LEVEL_LOW); \
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_LOW);


#define LED_OFF                                                                  \
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_00, BSP_IO_LEVEL_HIGH); \
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_03, BSP_IO_LEVEL_HIGH); \
    R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, BSP_IO_LEVEL_HIGH);




#endif /* LED_H_ */

这几个宏定义均为亮灯或灭灯操作

hal_entry.c中包含头文件led.h

hal_entry.c的hal_entry函数中加入

void hal_entry(void)
{

    while(1)
    {
        RED;
        R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_SECONDS); //延时1秒
        GREEN;
        R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_SECONDS); //延时1秒
        BLUE;
        R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_SECONDS); //延时1秒
        LED_ON;
        R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_SECONDS); //延时1秒
        LED_OFF;
        R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_SECONDS); //延时1秒
    }

#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}

编译

image.png

调试
image.png

烧录成功后切换到透视图

现象
红灯亮 - 绿灯亮 - 蓝灯亮 - 全亮 - 全灭 切换周期1s

总结

在使用瑞萨的e2studio IDE开发项目非常的便捷,这个led演示的小项目两分钟就配好了,加上编译调试的时间,三分钟就直接看到点灯逻辑。依托于强大的e2studio和野火官方的文档支持,入门很简单。

作为开篇使用的文章,我想将我看到这个启明开发板的第一感受分享出来,这个RA6M5芯片很大。。相比于之前用过的RA2L1,RA2E1,RA4M2,RA6M4,,引脚多,可接外设也多,可玩性丰富。个人觉得非常喜欢的就是板载了一个esp8266模块,做个实用为目的物联网监控终端还是非常哇塞的。当然,除了这个,还有就是开发板上接的外设众多,can/485/232/以太网口/等等。还有很多值得研究和进一步实践的部分,慢慢来慢慢来

更多回帖

发帖
×
20
完善资料,
赚取积分