开箱
简单开箱
开发板已经用几天了,这里做个简单的伪开箱。
白色简约盒子,清晰的logo,盒子右下角有三个二维码,其中野火公众号和瑞萨MCU小百科的公众号经常会有不错的文章推送,很早之前就关注了。
打开盒子后,就是启明开发板和一根可用于数据传输和给开发板供电的TYPE-C的数据线了。这个图就省略了,
接下来是连接jlink和type-c供电后的图片
启明开发板应该是出厂时就烧录了跑led灯的程序了。挺好的,方便初次拿到开发板有个直观的体验。
跑个程序
开发板连接的是jlink仿真器,走swd接口,使用杜邦线连接开发板和jlink仿真器,分别接了VCC , SWDIO, SWCLK, GND四个引脚作调试和仿真。
开发环境使用的是windows下的e2studio IDE,FSP版本使用的是3.8.x
另外使用附带的type-c线连接开发板的“USB TO UART”typec口和电脑的usb口,用于和开发板的串口通讯和给开发板供电。
创建项目的过程就跳过了,这部分内容在[野火]瑞萨RA系列FSP库开发实战指南——基于野火启明6M5开发板
有详细的介绍。
板块分布
此篇作为开箱文章,先简单的从万年不变的点灯开始,也就是led部分的内容。
启明开发板上四个led灯引脚如下:
在configuration.xml
中配置led引脚
LED1
LED2
LED3
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
这几个宏定义均为亮灯或灭灯操作
在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);
GREEN;
R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_SECONDS);
BLUE;
R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_SECONDS);
LED_ON;
R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_SECONDS);
LED_OFF;
R_BSP_SoftwareDelay(1, BSP_DELAY_UNITS_SECONDS);
}
#if BSP_TZ_SECURE_BUILD
R_BSP_NonSecureEnter();
#endif
}
编译
调试
烧录成功后切换到透视图
现象
红灯亮 - 绿灯亮 - 蓝灯亮 - 全亮 - 全灭 切换周期1s
总结
在使用瑞萨的e2studio IDE开发项目非常的便捷,这个led演示的小项目两分钟就配好了,加上编译调试的时间,三分钟就直接看到点灯逻辑。依托于强大的e2studio和野火官方的文档支持,入门很简单。
作为开篇使用的文章,我想将我看到这个启明开发板的第一感受分享出来,这个RA6M5芯片很大。。相比于之前用过的RA2L1,RA2E1,RA4M2,RA6M4,,引脚多,可接外设也多,可玩性丰富。个人觉得非常喜欢的就是板载了一个esp8266模块,做个实用为目的物联网监控终端还是非常哇塞的。当然,除了这个,还有就是开发板上接的外设众多,can/485/232/以太网口/等等。还有很多值得研究和进一步实践的部分,慢慢来慢慢来