瑞萨单片机论坛
直播中

jf_07365693

1年用户 77经验值
擅长:嵌入式技术 控制/MCU
私信 关注
[经验]

【瑞萨 FPB-RA4E2 开发板测评】简介、环境搭建、程序测试

VID_20241120_030659

【瑞萨 FPB-RA4E2 开发板测评】简介、环境搭建、程序测试

RA4E2 MCU 群组快速原型板(fast prototyping board, FPB)。

简介

开发板

RA4E2 快速原型板配备了 R7FA4E2B93CFM 微控制器,是一块专门用于各种应用原型开发的评估板。

板载 SEGGER J-Link™ 仿真器电路,无需额外工具即可以烧写/调试程序。

此外,标配 Arduino Uno 和 Pmod™ 接口,并可通过通孔连接微控制器的所有引脚,具有很高的可扩展性。

样例代码可用于演示 RA4E2 MCU 的功能以及连接 RA4E2 快速原型板和各种无线模块或传感器模块。

FPB-RA4E2.png

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
  • 4 kB 数据闪存,类似 EEPROM 数据存储功能
  • 1 KB 待机 SRAM
  • 可从 32 引脚到 64 引脚封装
  • USB 2.0 全速
  • 通用 PWM 定时器
  • 12 位 A/D 转换器
  • 12 位 D/A 转换器
  • SCI(UART、简单 SPI、简单 I²C)、SPI 和 I³C
  • USB FS 设备
  • CAN FD 和 SSI
  • HDMI CEC

应用

  • 通用、一般用途
  • 智能家居:风扇控制和饮水机
  • 消费娱乐:游戏、耳机控制
  • 个人电脑;指纹读取器和耳机
  • 楼宇自动化:语音控制
  • 传感器应用,如医疗、工业、可穿戴设备
  • 计量:通信模块

原理图

SCH_Page1: Peripheral circuit

SCH1.png

SCH_Page2: Arduino Uno

SCH2.png

SCH_Page3: PMOD

SCH3.png

SCH_Page4: MCU

SCH4.png

SCH_Page5: Pin headers

SCH5.png

SCH_Page6: J-Link

SCH6.png

环境搭建

这里使用 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,

LEDs.png

进入FSP 配置 界面,依次选择 Pins 标签 - Pin Selection - Ports - P2 - P206 - Pin Configuration - 更改 ModeOutput mode (initial Low) 即初始熄灭,点击 Generate Project Content 生成工程,主函数 hal_entry.c 位于 src 文件夹。

代码

双击 Project - src 路径下的hal_entry.c 文件,编辑主函数。

代码框架

1.定义延时函数、

2.定义闪烁频率、

3.判断板载或定义的LED数量:

  • 若LED数为零,则终止;
  • 若LED数量大于零,则对所有LED执行电平反转操作,间隔时间为频率的倒数。
#include "hal_data.h"void R_BSP_WarmStart(bsp_warm_start_event_t event);
​
extern bsp_leds_t g_bsp_leds;
​
void hal_entry (void)
{
#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
    /* 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)
    {
#if BSP_FEATURE_FLASH_LP_VERSION != 0/* Enable reading from data flash. */
        R_FACI_LP->DFLCTL = 1U;
#endif
    }
​
    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);
    }
}

**首先点击 **小锤子 按钮构建工程

build.png

之后点击小虫子按钮下拉菜单进行调试配置

debug_setting.png

**点击 **小虫子 按钮进入 Debug 模式

debugging.png

**点击 **启动 按钮运行程序

buttons.png

此时开发板上的 LED 按照程序中设定的频率闪烁。

可点击暂停终止 等按钮实现调试操作。

当点击终止调试按钮时,控制台终端输出Disconnected from the Target Debugger. 字样,此时 LED 闪烁终止,相应的引脚电平输出回到初始定义状态。

效果

调整频率值freq_in_hz 可以实现不同的闪烁效果

VID_20241120_030744

更多回帖

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