终于收到了FPB-RA6E1,这个板子我还是很喜欢的,毕竟自带了j-link,省的使用其他的调试器了。
开箱
收到板子是这样的
![板子照片.jpg](//file1.elecfans.com/web2/M00/88/A7/wKgZomRuOGGACd_GAEcHv0VSP3Q306.jpg)
可以看到,板子上有1个usbc口,也就是jlink口,通过这个口,可以直接下载程序
板子的整体资源如下:
![image.png](//file1.elecfans.com/web2/M00/88/A7/wKgZomRuOQaAchp9ABalPpt_tAU321.png)
PMOD1和PMOD2部分没有焊接,可以在焊接排针的时候一起焊接。
开发环境搭建
由于板子本身带有jlink,因此我使用e2studio开发。这个软件界面用起来比较舒服。
e2studio的下载,建议在瑞萨RA生态社区的资料下载--工具--E2开发环境的链接:https://www.ramcu.cn/lists/21.html直接下载,在官网下载时有时候会半路失败。
![image.png](//file1.elecfans.com/web2/M00/88/A6/wKgaomRuO2eAPBFvAALUXSQh3p0381.png)
下载完软件后,直接一直下一步即可完成安装。
安装完成后,开始项目初体验。
e2studio项目建立
首先建立个人的第一个RA6E1项目,也就是RA6E1的blinky基础例程。具体操作如下:
1.选择一个目录作为工作目录
![image.png](//file1.elecfans.com/web2/M00/88/A7/wKgZomRuPimASI0SAAC6bUZiyWY457.png)
2.文件--新建--新建瑞萨C/C++--新建RA
![image.png](//file1.elecfans.com/web2/M00/88/A7/wKgZomRuPoiAVwt3AAVKup5cn1g837.png)
3.项目名称为testblink,点击下一步。然后选择borad,选择FPB-RA6E1,选择调试器为j-link,如下所示:
![image.png](//file1.elecfans.com/web2/M00/88/A7/wKgZomRuP4SAAMRYAAN-tVqDhsk474.png)
4.一直点下一步,不选RTOS,直到这一页:
![image.png](//file1.elecfans.com/web2/M00/88/A6/wKgaomRuP9OASXHdAAG51USV6ng766.png)
选择Bare_metal-Blinky,点击完成,则软件会自动生成项目代码。
点击打开透视图:
![image.png](//file1.elecfans.com/web2/M00/88/A7/wKgZomRuQCyAUZ64AACDwZuW4_o959.png)
此时会显示项目的summary页面,我们点击右上角的generate project content.
![image.png](//file1.elecfans.com/web2/M00/88/A6/wKgaomRuQHWADP41AAHo6DeKM_g680.png)
此时blinky项目已自动生成,生成的代码入口在src/hal_entry.c,代码如下所示:
void hal_entry (void)
{
#if BSP_TZ_SECURE_BUILD
R_BSP_NonSecureEnter();
#endif
const bsp_delay_units_t bsp_delay_units = BSP_DELAY_UNITS_MILLISECONDS;
const uint32_t freq_in_hz = 2;
const uint32_t delay = bsp_delay_units / freq_in_hz;
bsp_leds_t leds = g_bsp_leds;
if (0 == leds.led_count)
{
while (1)
{
;
}
}
bsp_io_level_t pin_level = BSP_IO_LEVEL_LOW;
while (1)
{
R_BSP_PinAccessEnable();
for (uint32_t i = 0; i < leds.led_count; i++)
{
uint32_t pin = leds.p_leds[i];
R_BSP_PinWrite((bsp_io_port_pin_t) pin, pin_level);
}
R_BSP_PinAccessDisable();
if (BSP_IO_LEVEL_LOW == pin_level)
{
pin_level = BSP_IO_LEVEL_HIGH;
}
else
{
pin_level = BSP_IO_LEVEL_LOW;
}
R_BSP_SoftwareDelay(delay, bsp_delay_units);
}
}
这一段代码就实现了LED灯闪烁的功能。
点击编译按钮,开始编译。编译和下载按钮如下图:
![编译和下载按钮.png](//file1.elecfans.com/web2/M00/88/A7/wKgZomRuQROABcYFAAF6Na4DQK0932.png)
编译为1,是个小锤子图标,下载(debug)为2,是个小虫图标。
点击编译,编译结果如下:
![image.png](//file1.elecfans.com/web2/M00/88/A7/wKgZomRuQV2ARqxSAACncqyO2pI655.png)
编译成功,则连接开发板,开始下载。下载前需要配置调试选项。点击右边的小虫图标,再点击调试配置,如下所示:![调试配置.png](//file1.elecfans.com/web2/M00/88/A6/wKgaomRuQbmAaQNgAAZC9MQ9aPg964.png)
选中新增的项目test_blinky,再点击debuger选项卡,如下所示:
![image.png](//file1.elecfans.com/web2/M00/88/A6/wKgaomRuQfiAY7i_AAK5DBjWKk8088.png)
然后选择debug设备为jlink,芯片为RA6E1,如下所示:
![image.png](//file1.elecfans.com/web2/M00/88/A6/wKgaomRuQjGAAnzrAADozVunQ0I791.png)
点击调试,则进入调试页面。调试页面有以下几个按钮是和调试相关的。
![11.png](//file1.elecfans.com/web2/M00/88/A7/wKgZomRuQvSAaWEwAAFW1jPK9GY450.png)
点击调试按钮后,程序成功下载到开发板,可以看到如下的日志:
![下载成功.png](//file1.elecfans.com/web2/M00/88/A6/wKgaomRuQpaAfVtuAAKLIUduG0I191.png)
此时,再点击开发板的复位按键,即可看到LED灯闪烁,见底部视频.
直接用e2studio打开例程
FPB-RA6E1有很多例程,可以直接在官网的FPB-RA6E1处下载。下载后,我们直接打开e2studio,导入例程。先从第1个例程quick_start开始,这个例程的功能是两个LED灯交互闪烁,按下用户按键后,闪烁的频率发生变化。
使用e2studio导入例程文件目录的方法如下:
点击文件-从文件系统中打开项目,如下所示:
![从目录打开项目.png](//file1.elecfans.com/web2/M00/88/A6/wKgaomRuRFeAXfxXAAWkVqG9p20790.png)
点击目录,选择我们的文件夹,D:\RA6E1\fpb_ra6e1_quickstart\quickstart_fpb_ra6e1_ep\e2studio
如下所示:
![image.png](//file1.elecfans.com/web2/M00/88/A6/wKgaomRuRMGAEsy0AAPV-8VHEew586.png)
点击选择文件夹,点击完成。
在项目资源管理器选中项目,开始编译:
![image.png](//file1.elecfans.com/web2/M00/88/A7/wKgZomRuRTWAWG_3AADIcceqjD8546.png)
结果发现编译报错了:
![编译失败.png](//file1.elecfans.com/web2/M00/88/A6/wKgaomRuRWmAaqAzAAKgpcA00aQ486.png)
报了一个找不到hal_data.h的错。这个错误一般是由于FSP版本不匹配导致的。
![编译报错原因缺少文件.png](//file1.elecfans.com/web2/M00/88/A6/wKgaomRuRZCAYx30AACAdnoElGY001.png)
此时我们点击项目中的configration.xml,则会看到此提示:
![36和44.png](//file1.elecfans.com/web2/M00/88/A7/wKgZomRuRbmAIcgjAACBiUD2S5M733.png)
点击确定后,再点击此页面右上角的generate按钮。此时会按照FSP3.6重新生成项目代码。再次点击编译,就编译通过了。
![image.png](//file1.elecfans.com/web2/M00/88/A6/wKgaomRuRjiAGkwlAAAXlSYbuDU103.png)
然后我们将代码下载到开发板上,就可以看实验现象了