当前位置: 首页 > news >正文

RA4M2环境搭建与新建工程

1.RA4M2简介

  RA-Eco-RA4M2-100PIN-V1.0是一款基于100MHz Arm® Cortex®-M33内核架构的核心板,主控芯片为R7FA4M2AD3CFP。 RA4M2 32 位微控制器 (MCU) 产品群使用支持 TrustZone 的高性能 Arm® Cortex®-M33 内核。 与片内的 Secure Crypto Engine (SCE) 配合使用,可实现安全芯片的功能。 RA4M2 采用高效的 40nm 工艺,由灵活配置软件包 (FSP) 这个开放且灵活的生态系统概念提供支持,FSP 基于 FREERTOS 构建,并能够进行扩展,以使用其他实时操作系统 (RTOS) 和中间件。 RA4M2 适用于物联网应用的需求, 如多样化的通信功能、面向未来应用的安全功能、大容量嵌入式 RAM 和较低的运行功耗(从闪存运行 CoreMark® 算法时功耗低至 81µA/MHz)。硬件实物如图所示:
在这里插入图片描述

  • 开发板资源信息:
    (1)1个复位按键;
    (2)2个用户按键;
    (3)2个触摸按键;
    (3)3个LED;
    (4)2个PMOD接口;
    (5)板载USB转TTL模块,可用于串口通信和烧录;
    (6)板载SWD接口,方便用户调试与下载;
    (7)支持 TrustZone 的 100MHz Arm Cortex-M33安全芯片的功能,512kB 闪存、64kB SRAM(支持奇偶校验)以及64kB ECC SRAM,8KB数据闪存,提供与EEPROM类似的数据存储功能,1kB休眠用SRAM;
    (8)引脚个数:100引脚封装;
    (9)电容式触摸传感单元 (CTSU),全速 USB 2.0,支持主机模式和设备模式;
    (10)CAN 2.0B、四线SPI,SCI(UART、简单SPI、简单I2C),独立SPI/I2C,多主接口SDHI 和 MMC;

2.e2 studio软件安装

  e2 studio(简称为 e2 或 e2s)是瑞萨电子的一款包含代码开发、构建和调试的开发工具。e2 studio基于开源 Eclipse IDE 和与之相关的C/C++开发工具(CDT)。e2 studio 托管了瑞萨的FSP灵活配置软件包,这是一个用于支持瑞萨MCU开发的固件库。通过使用FSP库,我们可以轻松配置和管理瑞萨MCU,从而轻松实现复杂的应用程序。
e2 studio 的下载页面为:https://github.com/renesas/fsp/releases
在这里插入图片描述

2.1 e2 studio安装

  e2 的安装步骤如下。首先双击e2s安装包,并且等待安装程序准备完成后,会弹出一个安装界面,如下图所示:
在这里插入图片描述
点击选中“Quick Install”,然后单击“Next”。接着稍等片刻,得到如下图所示的界面。
在这里插入图片描述
单击“Next”,得到如下图所示的界面。然后勾上“I accept the terms of the Software Agreements”之后,单击“Install”即可开始安装。
在这里插入图片描述
在 e2s 软件安装完成之后,会弹出如下界面,最后点“OK”即可完成安装。

2.2 e2 studio创建快捷方式

  在安装路径下可以找到 e2 studio 的启动程序,如下图所示。建议单击右键发送 e2 studio 启动程序的快捷方式到桌面上,方便下一次可以直接在电脑桌面上双击图标来快速打开 e2 studio。
在这里插入图片描述

2.3 e2 studio快捷键

在这里插入图片描述

3.创建工程

  在首次打开e2 studio软件时需要创建一个工作区。如下图所示:
在这里插入图片描述
工作区创建完成,即可实现工程创建,如图所示:
在这里插入图片描述
在这里插入图片描述
设置工程名
在这里插入图片描述
选择芯片型号:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
工程创建成功,生成的工程信息如下所示:
在这里插入图片描述
手动打开工程窗口:
在这里插入图片描述

3.1 导入现有工程

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.LED灯驱动示例

4.1 LED硬件接口

在这里插入图片描述
当前开发板有3个LED,分别接在P405、P406和P002引脚上,高电平驱动。

4.2 使用FSP库配置LED

  将P405配置为推挽输出模式。配置方式如下:
在这里插入图片描述
P404和P002配置过程类似,这里则不在一一说明。最后生成代码:
在这里插入图片描述

4.3 设计LED灯代码

  工程代码结构布局如图所示,用户代码仅需在hal_entry.c添加,main.c中会自动调用该函数。
在这里插入图片描述
对于LED灯驱动,仅需启动IO端口、设置IO端口电平状态即可。IO端口启动调用”R_IOPORT_Open”函数。
函数原型如下:

R_IOPORT_Open (ioport_ctrl_t * const p_ctrl, const ioport_cfg_t * p_cfg)
形参:p_ctrl --- IOPORT专用控制块参数,在”common_data.h”有定义。p_cfg  ---引脚配置信息。

  引脚读写函数:

//设置引脚电平状态
R_IOPORT_PinWrite (ioport_ctrl_t * const p_ctrl, bsp_io_port_pin_t pin, bsp_io_level_t level)
//读取引脚电平状态
R_IOPORT_PinRead (ioport_ctrl_t * const p_ctrl, bsp_io_port_pin_t pin, 
bsp_io_level_t * p_pin_value)
形参:p_ctrl --引脚控制块pin   --哪一个引脚level  --设置/读取的电平状态

  延时函数:

void R_BSP_SoftwareDelay (uint32_t delay, bsp_delay_units_t units)
形参:delay --延时时间units   --延时类型
秒:BSP_DELAY_UNITS_SECONDS 
毫秒:BSP_DELAY_UNITS_MILLISECONDS
微秒:BSP_DELAY_UNITS_MICROSECONDS

4.4 LED灯500ms闪烁一次示例

  1.定义LED灯控制宏

#define LED1(x) R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_05, (bsp_io_level_t)x)
#define LED2(x) R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_04, (bsp_io_level_t)x)
#define LED3(x) R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_00_PIN_02, (bsp_io_level_t)x)

  实现LED灯500ms闪烁一次。

void hal_entry(void)
{/* TODO: add your own code here *///使能IO端口R_IOPORT_Open(&g_ioport_ctrl,g_ioport.p_cfg);uint8_t i=0;while(1){i=!i;LED1(i);LED2(i);LED3(i);R_BSP_SoftwareDelay(i,BSP_DELAY_UNITS_MILLISECONDS);}
#if BSP_TZ_SECURE_BUILD/* Enter non-secure code */R_BSP_NonSecureEnter();
#endif
}

4.5 LED呼吸灯示例

  实现LED呼吸灯效果。通过修改高低电平占空比,从而实现LED亮度调节。代码实现如下所示:

void hal_entry(void)
{
/* TODO: add your own code here */
//使能IO端口
R_IOPORT_Open(&g_ioport_ctrl,g_ioport.p_cfg);
uint16_t i=0;
while(1)
{
for(i=0;i<1000;i++)//暗-->亮
{
LED1(0);LED2(0);LED3(0);
R_BSP_SoftwareDelay(i,BSP_DELAY_UNITS_MICROSECONDS);
LED1(1);LED2(1);LED3(1);
R_BSP_SoftwareDelay(1000-i,BSP_DELAY_UNITS_MICROSECONDS);
}
for(i=0;i<1000;i++)//亮-->暗
{
LED1(0);LED2(0);LED3(0);
R_BSP_SoftwareDelay(1000-i,BSP_DELAY_UNITS_MICROSECONDS);
LED1(1);LED2(1);LED3(1);
R_BSP_SoftwareDelay(i,BSP_DELAY_UNITS_MICROSECONDS);
}
}
#if BSP_TZ_SECURE_BUILD
/* Enter non-secure code */
R_BSP_NonSecureEnter();
#endif
}

5.生成hex文件

在这里插入图片描述
在这里插入图片描述

6.串口程序下载

  Rennasa Fash Programmer串口程序下载。第一次使用时需要先创建工程。
在这里插入图片描述
连接成功效果:
在这里插入图片描述
下载程序:
在这里插入图片描述
注意,若提示下载失败,要注意boot启动方式,然后再开始下载之后再按下复位即可。

http://www.dtcms.com/a/354801.html

相关文章:

  • 新手向:Python开发简易股票价格追踪器
  • Linux内核IPv4 RAW套接字深度解析:从数据包构造到可靠传输的挑战
  • Dify 和 LangChain 区别对比总结
  • 【实操教学】ArcGIS 如何进行定义坐标系
  • Python实现点云基于法向量、曲率和ISS提取特征点
  • 【GM3568JHF】FPGA+ARM异构开发板 使用指南:显示与触摸
  • 第二章:Cesium 视图控制与相机操作
  • Java集合操作:Apache Commons Collections4启示录
  • React中优雅管理CSS变量的最佳实践
  • iOS文件管理在uni-app开发中的实战应用,多工具解决
  • 三、计算机网络与分布式系统(上)
  • Subdev与Media子系统的数据结构
  • 线程池及线程池单例模式
  • 图数据库neo4j的安装
  • Go语言数组完全指南
  • 基于Springboot的酒店房间预订系统源码
  • More Effective C++ 条款13:以by reference方式捕捉exceptions
  • [Mysql数据库] 知识点总结5
  • 【C++游记】物种多样——谓之多态
  • 49个Docker自动化脚本:覆盖全场景运维,构建高可用容器体系
  • 【C初阶】文件操作
  • Claude Code 流畅使用指南
  • java中sleep与wait的区别
  • ES基础知识
  • PostgreSQL15——常用函数
  • docker一键部署!强大的本地音乐服务器NAS-Music
  • labelme的安装
  • 数据库服务-主从同步-高可用架构MHA
  • vue的动态组件keep-alive实现组件缓存和状态保留
  • 解锁制造业增长密码:MES如何适配行业特性?