RA4E2 MCU 群组快速原型板(fast prototyping board, FPB)。
简介
开发板
RA4E2 快速原型板配备了 R7FA4E2B93CFM 微控制器,是一块专门用于各种应用原型开发的评估板。
板载 SEGGER J-Link™ 仿真器电路,无需额外工具即可以烧写/调试程序。
此外,标配 Arduino Uno 和 Pmod™ 接口,并可通过通孔连接微控制器的所有引脚,具有很高的可扩展性。
样例代码可用于演示 RA4E2 MCU 的功能以及连接 RA4E2 快速原型板和各种无线模块或传感器模块。
MCU-R7FA4E2B93CFM
Renesas RA4E2 组是 RA4 系列中最新的入门级微控制器,基于带有 TrustZone 的 100MHz Arm® Cortex®-M33 内核。
RA4E2 MCU提供了高性能和优化的外设功能以及最小的封装选项,包括节省空间的36引脚BGA和32引脚QFN封装。这些都满足了对成本敏感和空间受限的应用的需要。
由于RA4E2具有均衡的性能、先进的外设功能和可扩展性,它可作为应用更广泛的 RA 系列的切入点。
凭借增强型入门级产品,客户即使在严格的尺寸和成本限制下也能实现高性能应用。
此外,Renesas FSP 还为客户提供易于使用的开发环境。客户可以通过使用 FSP 的小内存占用 HAL 驱动程序和具有与 RA 系列其他产品的软件可扩展性的外围驱动程序来减少开发资源和时间。
特性
-
100 MHz ARM Cortex-M33
-
128 kB 闪存和 40 kB SRAM
-
1 KB 待机 SRAM
-
可从 32 引脚到 64 引脚封装
-
USB 2.0 全速
-
12 位 A/D 转换器
-
12 位 D/A 转换器
-
USB FS 设备
-
CAN FD 和 SSI
-
HDMI CEC
应用
原理图
SCH_Page1: Peripheral circuit
SCH_Page2: Arduino Uno
SCH_Page3: PMOD
SCH_Page4: MCU
SCH_Page5: Pin headers
SCH_Page6: J-Link
环境搭建
这里使用 Renesas 公司的 e2 studio
开发工具,下载 并安装该 IDE 软件,或直接下载 FSP 软件包。
下载 FSP (flexible software package) 软件包 并安装。
注意:不需要单独安装 e² studio,FSP 平台安装程序会安装 e² studio 和使用 FSP 所需的所有其他工具。
FSP 安装程序内包含 e² studio 集成开发环境、工具链和 FSP 软件包。
新建工程
打开 e2 studio 软件,
依次点击 文件
- 新建
- 瑞萨 C/C++ 项目
- Renesas RA
依次进行工程命名,路径设置,目标开发板选择,Board 选择 FPB-RA4E2
,工具链选择 GNU ARM Embedded
若未检测到工具链,则需要下载、安装和添加本地工具链路径,
点击 Manage Toolchains
,勾选目标工具链,点击 下载
,添加
工具链安装目录文件夹,应用并关闭。
根据原理图可知,2 个板载 LED 控制引脚为 P206 和 P207,
进入 FSP 配置
界面,依次选择 Pins
标签 - Pin Selection
- Ports
- P2 - P206
- Pin Configuration
- 更改 Mode
为 Output mode (initial Low)
即初始熄灭,点击 Generate Project Content
生成工程,主函数 hal_entry.c
位于 src
文件夹。
代码
双击 Project - src 路径下的 hal_entry.c
文件,编辑主函数。
代码框架
1.定义延时函数、
2.定义闪烁频率、
3.判断板载或定义的LED数量:
-
若LED数为零,则终止;
-
若LED数量大于零,则对所有LED执行电平反转操作,间隔时间为频率的倒数。
void R_BSP_WarmStart(bsp_warm_start_event_t event);
extern bsp_leds_t g_bsp_leds;
void hal_entry (void)
{
/* Enter non-secure code */
R_BSP_NonSecureEnter();
/* Define the units to be used with the software delay function */
const bsp_delay_units_t bsp_delay_units = BSP_DELAY_UNITS_MILLISECONDS;
/* Set the blink frequency (must be <= bsp_delay_units */
const uint32_t freq_in_hz = 5;
/* Calculate the delay in terms of bsp_delay_units */
const uint32_t delay = bsp_delay_units / freq_in_hz;
/* LED type structure */
bsp_leds_t leds = g_bsp_leds;
/* If this board has no LEDs then trap here */
if (0 == leds.led_count)
{
while (1)
{
; // There are no LEDs on this board
}
}
/* Holds level to set for pins */
bsp_io_level_t pin_level = BSP_IO_LEVEL_LOW;
while (1)
{
R_BSP_PinAccessEnable();
/* Update all board LEDs */
for (uint32_t i = 0; i < leds.led_count; i++)
{
/* Get pin to toggle */
uint32_t pin = leds.p_leds[i];
/* Write to this pin */
R_BSP_PinWrite((bsp_io_port_pin_t) pin, pin_level);
}
/* Protect PFS registers */
R_BSP_PinAccessDisable();
/* Toggle level for next write */
if (BSP_IO_LEVEL_LOW == pin_level)
{
pin_level = BSP_IO_LEVEL_HIGH;
}
else
{
pin_level = BSP_IO_LEVEL_LOW;
}
/* Delay */
R_BSP_SoftwareDelay(delay, bsp_delay_units);
}
}
void R_BSP_WarmStart (bsp_warm_start_event_t event)
{
if (BSP_WARM_START_RESET == event)
{
/* Enable reading from data flash. */
R_FACI_LP->DFLCTL = 1U;
}
if (BSP_WARM_START_POST_C == event)
{
/* C runtime environment and system clocks are setup. */
/* Configure pins. */
R_IOPORT_Open(&IOPORT_CFG_CTRL, &IOPORT_CFG_NAME);
}
}
首先点击 小锤子
按钮构建工程
点击 小虫子
按钮进入 Debug 模式
点击 启动
按钮运行程序
此时开发板上的 LED 按照程序中设定的频率闪烁。
可点击 暂停
、终止
等按钮实现调试操作。
当点击终止调试按钮时,控制台终端输出 Disconnected from the Target Debugger.
字样,此时 LED 闪烁终止,相应的引脚电平输出回到初始定义状态。
效果
调整频率值 freq_in_hz
可以实现不同的闪烁效果