【 RA4M2开发板环境搭建之串口下载1】

news2024/9/21 20:46:13

【 RA4M2开发板环境搭建1】

  • 1. 前言
    • 1.1 活动来源
    • 1.2 开发环境
    • 1.3 RA4M2开发板
  • 2. MDK环境准备
    • 2.1 keil 5下载安装
    • 2.2 安装RA4M2的软件支持包
    • 2.3 Renesas Flash Programmer安装
  • 3. RA Smart Configurator配置
    • 3.1 下载RA Smart Configurator
    • 3.2 安装RA Smart Configurator
  • 4. 新建RA4M2工程
    • 4.1 RA Smart Configurator构建工程
    • 4.2 Keil编译
  • 5. 程序下载调试
    • 5.1 配置keil hex文件
    • 5.2 使用Renesas Flash Programmer 下载hex文件
  • 6. 总结
    • 6.1 优点:
    • 6.2 缺点:
    • 6.3 建议:

1. 前言

1.1 活动来源

本次参加的是RA4M2开发板实战项目挑战赛,以“课程学习+实践挑战”方式,带领开发者了解瑞萨ARM内核MCU,设计完整项目,提升实践动手能力。官网地址:https://bbs.elecfans.com/jishu_2325079_1_1.html
在这里插入图片描述

1.2 开发环境

本次RA4M2开发板环境搭建是基于Windows 11平台。基于RA4M2开发板,通过RA Smart Configurator配置,采用MKD 5.35编程。我原先玩过STM32使用过Keil,这种搭建比较快速配置,因此本文将基于MDK+RA Smart Configurator搭建开发环境。

  • IDE:MKD 5.35
    在这里插入图片描述

  • 开发板:RA-Eco-RA4M2
    在这里插入图片描述

测评用的开发板是RA-Eco-RA4M2,主控芯片为R7FA4M2AD3CFP,和官方的开发板EK-RA4M2是同一个型号,512KB 代码闪存,128KB SRAM,100 引脚,LQFP 封装,板载USB转TTL模块,可用于串口通信和烧录,板载SWD接口,方便用户调试与下载。

1.3 RA4M2开发板

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

在这里插入图片描述

从上图可以看出,RA4M2的性能和资源都是非常丰富,可玩性很强。

2. MDK环境准备

目前市面通用的MDK for ARM版本有Keil 4和Keil 5:使用Keil 4建议安装4.74及以上;使用Keil 5建议安装5.20以上版本。截止2023年2月16日,最新的是MDK-ARM Version 5.38a,笔者的MDK是5.35。

2.1 keil 5下载安装

从MDK的官网可以下载得到MDK的安装包,然后安装即可,关于的MDK安装请看这个大佬的教程。

MDK安装教程:https://blog.csdn.net/bruceoxl/article/details/108548573

MDK下载地址:https://www.keil.com/download/product/

在这里插入图片描述

安装完成后会自动打开,我们将其关闭。

2.2 安装RA4M2的软件支持包

接下来我们下载RA4M2的软件支持包。

下载地址:https://www.keil.com/dd2/pack/

在这里插入图片描述

下载好后双击Renesas.RA_DFP.4.2.0.pack运行即可:

在这里插入图片描述

点击[Next]即可安装完成。
在这里插入图片描述

安装成功后,重新打开Keil,则可以在File->Device Database中出现RA4M2的下拉选项,点击可以查看到相应的型号。

16694570782706lcjypzhfn
在这里插入图片描述

2.3 Renesas Flash Programmer安装

Renesas Flash Programmer是本次下载HEX程序的工具。
windows官网地址

在这里插入图片描述
直接无脑安装,同意安装驱动
安装完成后,在菜单搜索
在这里插入图片描述

3. RA Smart Configurator配置

3.1 下载RA Smart Configurator

官网地址:https://www.renesas.com/us/en/software-tool/ra-smart-configurator
在这里插入图片描述
github:https://github.com/renesas/fsp/releases
在这里插入图片描述

3.2 安装RA Smart Configurator

笔者这里下载的是setup_fsp_v4_2_0_rasc_v2022-10.exe,双击即可开始安装。首先会检查依赖,检查完成即可点击[Next],当然这里也可以修改安装路径。
在这里插入图片描述

接下来同意条款,然后点击[Next]。

在这里插入图片描述

然后[Install]即可开始安装。

在这里插入图片描述

然后等待安装完成即可。

在这里插入图片描述

安装完成后点击[OK]即可。

在这里插入图片描述

安装完毕之后,打开软件安装目录:C:\Renesas\RA_Smart_Configurator\eclipse。

在这里插入图片描述

4. 新建RA4M2工程

4.1 RA Smart Configurator构建工程

打开RA Smart Configurator,选择File->New->FSP Project,即可新建工程。

1669457080489ju3jed9mtf

首先选择工程路径,笔者这里使用默认的路径(选择其他位置会报错🤣🤣🤣)。
在这里插入图片描述

接下来配置FSP版本,MCU型号等信息,根据实际情况选择吧。

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

然后就是选择安全策略,尽管RA4M2支持 TrustZone,但这里暂时不选。

在这里插入图片描述

接下来选择RTOS的支持,FSP 4.0.0支持FreeRTOS、Threadx,这里选择No RTOS。

在这里插入图片描述

接下来就是选择工程模板。

在这里插入图片描述

最后配置完成后就可生成工程了。
在这里插入图片描述

接下来不进行任何配置,直接生成工程。

在这里插入图片描述

最后,打开工程目录,信息如下。

在这里插入图片描述

4.2 Keil编译

用Keil 5打开软件,接口尝试编译工程。

在这里插入图片描述
main.c

/* generated main source file - do not edit */
#include "hal_data.h"
            int main(void) {
              hal_entry();
              return 0;
            }

hal_entry.c

#include "hal_data.h"

FSP_CPP_HEADER
void R_BSP_WarmStart(bsp_warm_start_event_t event);
FSP_CPP_FOOTER

/*******************************************************************************************************************//**
 * main() is generated by the RA Configuration editor and is used to generate threads if an RTOS is used.  This function
 * is called by main() when no RTOS is used.
 **********************************************************************************************************************/
void hal_entry(void)
{
    /* TODO: add your own code here */

#if BSP_TZ_SECURE_BUILD
    /* Enter non-secure code */
    R_BSP_NonSecureEnter();
#endif
}

/*******************************************************************************************************************//**
 * This function is called at various points during the startup process.  This implementation uses the event that is
 * called right before main() to set up the pins.
 *
 * @param[in]  event    Where at in the start up process the code is currently at
 **********************************************************************************************************************/
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;

        /* Would normally have to wait tDSTOP(6us) for data flash recovery. Placing the enable here, before clock and
         * C runtime initialization, should negate the need for a delay since the initialization will typically take more than 6us. */
#endif
    }

    if (BSP_WARM_START_POST_C == event)
    {
        /* C runtime environment and system clocks are setup. */

        /* Configure pins. */
        R_IOPORT_Open(&g_ioport_ctrl, g_ioport.p_cfg);
    }
}

#if BSP_TZ_SECURE_BUILD

BSP_CMSE_NONSECURE_ENTRY void template_nonsecure_callable ();

/* Trustzone Secure Projects require at least one nonsecure callable function in order to build (Remove this if it is not required to build). */
BSP_CMSE_NONSECURE_ENTRY void template_nonsecure_callable ()
{

}
#endif

此项目没有任何打印输出,只能作为环境验证。

MDK编译工程,如果没有报错与警告,说明生成工程成功。
在这里插入图片描述

5. 程序下载调试

编译成功后,下面就介绍程序和调试,提供多种下载方式,笔者这里只介绍串口在线下载,jlink我没有调通。

5.1 配置keil hex文件

修改工程,设置生成hex文件用于串口下载
在这里插入图片描述

5.2 使用Renesas Flash Programmer 下载hex文件

打开Renesas Flash Programmer,点击File->New Project,做如下配置。
主要是配置微控制器类型,工程名字,工程目录以及串口端口。
在这里插入图片描述

配置完成之后点击Connect,此时会连接失败,如下图
在这里插入图片描述

需要按住Reset按钮,之后点击Connect,在松手。

配置Boot
如果使用串口下载,需要配置一下单片机上面的boot跳线帽,切换为SCI/USB BOOT模式如下:
在这里插入图片描述

开发板上也有描述,下载完成之后需要将跳线帽变回Interrnal Flash模式。

下载hex文件到单片机
如下图,选择hex文件,然后按下Reset按钮,电机Start,松开Reset按钮,等待下载完成即可。
在这里插入图片描述

没有任何效果展示,main函数是空的

6. 总结

通过复杂配置的使用,对RA4M2单片机有了初步的了解,浅谈一下。

6.1 优点:

有FSP配套配置工具,开发省时省力,事半功倍,等效stm32 cubeMX;
软件集成度好,资料丰富;

6.2 缺点:

这款板子不带板载调试器,使用串口下载很不方便,费时费力,之前用R6M4就有板载调试器,很方便。

6.3 建议:

期待后期都有板载调试器,有一套调试下载的软件,让开发者减减负起来!!!🥳🥳🥳
参考文献:

【瑞萨RA4系列开发板体验】1. 新建工程+按键控制LED
【瑞萨RA4系列开发板体验】1 RA4M2开发环境搭建

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/357788.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

你是真的“C”——C语言详解求两个正数最小公倍数的3种境界

C语言详解求两个正数最小公倍数的3种境界~😎前言🙌必备小知识~😘求最小公倍数境界1~ 😊求最小公倍数境界2~ 😊求最小公倍数境界3~ 😊总结撒花💞博客昵称:博客小梦😊 最喜…

[Incognito 4.0] ictf 2023

一周4赛,有点赶不过来呀。只做了一点,队长组队的时候(每次都中间断掉,一大堆写的都得从头来)CryptoAncient这样的第2次见,第1次就不会,这回看了队友wp终于知道是怎么加密的了Templed每个符号可以表示4位10进制数。原题…

〖产品思维训练白宝书 - 核心竞争力篇⑭〗- 产品经理核心竞争力解读之学习能力

大家好,我是 哈士奇 ,一位工作了十年的"技术混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区。 💬 人生格言:优于别人,并不高贵,真正的高贵应该是优于过去的自己。💬 &#x1f4e…

路径规划 | 图解跳点搜索JPS算法(附ROS C++/Python/Matlab仿真)

目录0 专栏介绍1 A*算法的弊端2 跳点搜索算法2.1 自然与强制邻点2.2 跳点剪枝策略3 算法仿真与实现3.1 算法流程3.2 ROS C实现3.3 Python实现3.4 Matlab实现0 专栏介绍 🔥附C/Python/Matlab全套代码🔥课程设计、毕业设计、创新竞赛必备!详细…

2. Unity操作基础知识

1. 创建新项目 双击打开 unity hub管理器,点击左侧栏中的 项目 选项卡,在右上角点击 新项目 按钮,进入项目创建页面: 在项目创建页面中,选择合适的模板,并设置项目名称,选择项目保存位置&…

【郭东白架构课 模块一:生存法则】12|法则五:如何提升一个架构设计的外部适应性?

你好,我是郭东白。 上节课我们讲了外部适应性这个概念,也强调了架构师的职责是通过架构活动为企业不断注入外部适应性,从而帮助企业更好地实现它的战略意图。 那么该怎么注入呢? 上节课在讲影响技术体系外部适应性的因素这部分…

MYSQL---第四次索引视图

学生表:Student (Sno, Sname, Ssex , Sage, Sdept) 学号,姓名,性别,年龄,所在系 Sno为主键 课程表:Course (Cno, Cname,) 课程号,课程名 Cno为主键 学生选课表:SC (…

AtCoder Beginner Contest 290 A-E F只会n^2

ABC比较简单就不再复述 D - Marking 简要题意 :给你一个长度为nnn的数组,下标为0到n−10 到 n-10到n−1,最初指针位于0,重复执行n-1次操作,每次操作的定义为将当前指针加上ddd,如果该位置为空(未填数),否则我们向右找到第一个为空…

《刀锋》读书笔记

刀锋(毛姆长篇作品精选)毛姆50个笔记点评认为好看的确是完美的结局。《刀锋》里面的人每个人都以自己的方式生活着。艾略特的势利,拉里的自由,伊莎贝尔的现实,苏珊的清醒,索菲的堕落,至于“我”…

【数据结构与算法】链表2:节点交换与删除 链表相交 环形链表

文章目录今日任务1.Leetcode24:两两交换链表中的节点(1)题目(2)思路(3)代码实现2.Leetcode19:删除链表的倒数第N个节点(1)题目(2)思路…

芯片架构RISC-V、X86、ARM三足鼎立

2022 年 7 月,RISC-V 国际基金会首席执行官 Calista Redmond 在嵌入式世界大会上宣布 RISC-V 架构处理器核的出货数量已突破 100 亿颗。 序号架构特点代表性的厂商运营机构发明时间1X86性能高,速度快,兼容性好英特尔,AMD英特尔197…

nginx-服务器banner泄漏风险

http { server_tokens off; # 隐藏Nginx版本号 .... }

桌面美化方案分享+环境配置记录

桌面美化方案分享环境配置记录 旧笔记本是高考结束时候买的,做工稀烂,买来当天键盘就被我敲坏了。当时送去维修,那边的人说暂时没货,要等键盘进货才能换。然后等了四年,键盘还没进到货。 该换了。 旧笔记本上显卡是…

【Vue3源码】第二章 effect功能的完善补充

【Vue3源码】第二章 effect功能的完善补充 前言 上一章节我们实现了effect函数的功能stop和onstop,这次来优化下stop功能。 优化stop功能 之前我们的单元测试中,stop已经可以成功停止了响应式更新(清空了收集到的dep依赖) st…

nginx+php-fpm整体上线k8s集群之后虚拟内存不断上涨原因排查

背景 为了可以更好的管理我们的lnmp集群,打算将原有的php环境整体打包成一个镜像然后上到k8s容器,这样可以不仅使用到k8s的快速扩缩容和管理的好处,而且让机器资源能更好被利用,减少机器数量 问题 当我们将流量从原有的php机器…

Elasticsearch的安装及常用操作

文章目录一、Elasticsearch的介绍1、Elasticsearch索引2、Elasticsearch的介绍二、Elasticsearch的安装1、安装ES服务2、安装kibana3、Docker安装ES4、Docker安装Kibana三、ES的常用操作1、索引操作2、文档操作3、域的属性3.1 index3.2 type3.3 store总结一、Elasticsearch的介…

关于云计算,我们问了ChatGPT 10个问题

ChatGPT懂云计算吗?前些天,我们问了ChatGPT(非Plus收费版)一些问题。1. 什么是云计算?2. 云计算行业的护城河是什么?3. 什么是云原生?4. 微软Azure与亚马逊AWS的主要区别是什么?5. 为…

你真的会做APP UI自动化测试吗?我敢打赌百分之九十的人都不知道这个思路

目录 前言 一,开发语言选择 二,UI测试框架选择 1,Appium 2,Airtest 3,选择框架 三,单元测试框架选择 四,测试环境搭建 1,测试电脑选择 2,测试手机选择 3&#…

6.关于系统服务的思考—— native vs java

文章目录native服务 以sensor service为例Native 服务java 服务, 以vibrate为例java 服务 以一个demo为例native服务 以sensor service为例 service启动 SystemServer.startBootstrapServices---->>>mSystemServiceManager.startService—>>>Sen…

SQL语句创建视图:

前言 🎈个人主页:🎈 :✨✨✨初阶牛✨✨✨ 🐻推荐专栏: 🍔🍟🌯 c语言初阶 🔑个人信条: 🌵知行合一 🍉本篇简介:>:介绍数据库中有关视图的知识,参考学校作业. 金句分享:…