开发环境搭建
开发环境可以选择Keil或者e2-studio。e2-studio是瑞萨官方提供的基于eclipse的IDE(电脑上已经装了n个eclipse了(-_-))。
Keil环境
首先明确两个概念RASC和FSP。
RASC:
RA Smart Confifigurator(简称为 RASC)是一款桌面应用程序,可为用户提供与集成到 e2 studio中的 Smart Confifigurator 相同的功能。借助 RASC,使用第三方工具链和 IDE (比如 Keil、IAR、GCC)的开发人员可以像 e2 studio 的用户一样,以相同的方式访问软件系(BSP、HAL 驱动程序、中间件、RTOS)的项目设置和图形化配置、引脚分配和时钟设置等。
类比STM32CubeMX。
FSP:
FSP(Flexible Software Package)灵活配置软件包,这是一个用于支持瑞萨 MCU 开发的固件库。通过使用 FSP 库,我们可以轻松配置和管理瑞萨 MCU,从而轻松实现复杂的应用程序。
FSP包括以下主要功能和组件:
- 丰富的设备驱动程序:FSP提供了丰富的设备驱动程序,包括时钟、GPIO、UART、SPI、I2C、ADC、DAC等常用的外设驱动程序,使得开发人员可以更加方便地使用这些外设功能。
- 库函数和API接口:FSP提供了大量的库函数和API接口,使得开发人员可以更加轻松地实现复杂的应用程序功能,包括通信协议、数据处理、算法等。
- 开发工具集成:FSP支持集成多种开发工具,包括e2 studio、IAR、Keil等,使得开发人员可以在自己熟悉的开发环境中使用FSP进行开发。
- 软件升级和管理:FSP支持在线更新和管理,可以方便地更新和升级软件组件,同时也可以方便地管理已安装的软件组件。
类比STM32的HAL库
主要有三步:
- RA SC(RA Smart Configurator)(RASA安装包:https://www2.renesas.cn/cn/en/software-tool/ra-smart-configurator)
- 瑞萨的MDK软件支持包级瑞萨的FSP库
- 将RASC 集成到 Keil
参考:【致敬未来的攻城狮计划】–RA2E1 开发板测评(2)LED闪烁_瑞萨开发板_风正豪的博客-CSDN博客
e2-studio
e2 studio是瑞萨电子推出的一款基于Eclipse的集成开发环境(IDE),主要用于开发基于瑞萨微控制器(MCU)的应用程序。它提供了丰富的开发工具和组件,使得开发人员可以更加轻松地开发、调试和部署应用程序。
e2 studio具有以下主要功能和特点:
- 具备基于Eclipse的IDE的开发工具:e2 studio是基于Eclipse的IDE,可以与多种开发工具集成,如GCC,IAR等,也支持多种MCU设备的开发和调试。
- 提供开发和调试工具:e2 studio集成了调试器、烧录器、仿真器等开发和调试工具,可以支持MCU芯片的在线调试和烧录。
- 提供丰富的MCU开发组件和应用程序样例:e2 studio提供了多种MCU开发组件和应用程序样例,包括外设驱动程序、协议栈、算法库等,可以大大缩短开发时间。
- 支持跨平台开发:e2 studio支持Windows、Linux和Mac OS等操作系统,使得开发人员可以在自己熟悉的平台上进行开发。
参考:【致敬未来的攻城狮计划】— 连续打卡第四天:e2 studio 使用教程_嵌入式up的博客-CSDN博客
点灯
程序下载
在Keil中只需要像往常一样编译下载即可。
目前在 e2 studio 软件上进行开发只能使用 J-Link 调试程序。如果需要用 J-Link 下载程序,那么需要使用额外的 J-Flash Lite 软件来烧录 Hex 文件。幸好板子自带jtag,只需要用里面带的数据线即可使用jtag进行仿真。
不过使用e2studio中的调试功能也可以将程序下载到flash中。
还可以通过瑞萨提供的下载工具下载生成的hex文件
首先先建个Project
然后将生成的hex文件放到里面即可下载到flash
点亮两颗发光二极管
RA2E1开发板板载红蓝两颗LED
src是存放用户代码的地方,使用RA SC重新配置工程后里面的文件不会被覆盖,而其他文件夹下的文件则会被覆盖
在src文件夹下新建led.c/.h两个文件
led.h
/*
* led.h
*
* Created on: 2023年4月17日
* Author: zmake
*/
#ifndef LED_H_
#define LED_H_
#include "hal_data.h"
void led_entry(void);
#endif /* LED_H_ */
其中hal_data.h是当使用fsp库时所需要的包含的头文件,类比stm32fnxx_hal.h
led.c
/*
* led.c
*
* Created on: 2023年4月17日
* Author: zmake
*/
#include "led.h"
void led_entry()
{
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_05_PIN_01, BSP_IO_LEVEL_HIGH);
R_BSP_SoftwareDelay(1000, BSP_DELAY_UNITS_MILLISECONDS);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_05_PIN_01, BSP_IO_LEVEL_LOW);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_05_PIN_02, BSP_IO_LEVEL_HIGH);
R_BSP_SoftwareDelay(1000, BSP_DELAY_UNITS_MILLISECONDS);
R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_05_PIN_02, BSP_IO_LEVEL_LOW);
}
R_IOPORT_PinWrite函数是fsp库中的写io口函数,可以在e2studio提供的Developer Assitance中查看,比较方便的是可以直接将函数拖到代码中,复制都不用复制。
最后调试一下程序,将程序加载到flash中