【瑞萨RA6系列】RASC+Keil开发环境搭建和GPIO点灯指南

2024-02-10 10:59

本文主要是介绍【瑞萨RA6系列】RASC+Keil开发环境搭建和GPIO点灯指南,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

瑞萨RASC+Keil开发环境搭建

    • 一、简单开箱
    • 二、资料下载
    • 三、芯片简介
    • 四、开发环境搭建
      • 4.1 安装RASC
      • 4.2 安装Keil MDK
      • 4.3 安装RA6E1的MDK支持包
    • 五、GPIO点灯指南
      • 5.1 创建RASC项目
      • 5.2 查阅开发板原理图
      • 5.3 设置LED1引脚为输出
      • 3.4 编写LED1闪烁的代码
      • 5.5 编译Keil项目
      • 5.6 修改Keil调试器设置
      • 5.7 下载和运行程序
      • 5.8 已知问题和解决方案
    • 六、参考链接

本文首先对瑞萨FPB-RA6E1快速原型板进行了简单的开箱,然后介绍了开发过程中比较重要的文档资料下载链接,以及RA6E1系列芯片主要参数。接着,详细介绍了如何安装RASC、Keil MDK以及RA6E1支持包;最后,详细介绍了如何进行GPIO点灯。

读者跟随本文的指引,即便此前没有接触过瑞萨RA6系列MCU,也可以顺利完成开发环境搭建和GPIO点灯。

本文之所以如此详细的记录了开发环境搭建和GPIO点灯的所有操作步骤,是因为笔者也是第一次接触RA6E1系列MCU;将环境搭建的步骤详细记录下来,一方面可以备忘,另一方面也可以方便其他人参考。

一、简单开箱

这次试用的开发板是——瑞萨FPB-RA6E1快速原型板

按照惯例,先来个简单的开箱。

拆开快递,首先看到的是开发板包装盒:

ra6e1_box

可以看到生产日期、批号等信息,以及“MADE IN UK”一行字(英国制造)。

打开包装盒是纸质版的快速上手指南(一页A4彩色打印,内容和电子版的快速上手指南一样):

ra6e1_oob_01

拿走这张纸之后,就是包裹的很严实的开发板了:

ra6e1_oob_02

拆开气泡袋,还有一层粉红色防静电袋(很亮眼啊,兄弟们):

ra6e1_oob_03

拆开防静电袋之后,就可以看清开发板了:

ra6e1_oob_04

可以看到,

  • 主控芯片型号为:RA7FA6E10F2CFP
  • 板载JLink调试器,也就是所谓的JLink OB(On Board);
  • 带有Arduino扩展接口
  • 带有两个PMOD扩展接口
  • 里带有两个50pin扩展接口
  • 板载两个按键
  • 板载两个LED灯
  • 沉金工艺,看起来很高端,

好了,开箱就到这里了。

二、资料下载

活动帖: https://bbs.elecfans.com/jishu_2351918_1_1.html

原文中提供了,相关资料的下载链接,这里不再赘述。

后续开发过程中,比较常用的是原理图文件 fpb-ra6e1-v1-schematic.pdf ,一定要下载。

img fpb-ra6e1-v1-schematic.pdf (170.37 KB)

另外比较重要的是数据手册:

  1. RA6E1参考手册(英文): https://www.renesas.com/us/en/document/dst/ra6e1-group-datasheet?r=1521986
  2. RA6E1参考手册(中英): https://www.ramcu.cn/public/uploads/files/20220902/b4d9ed4dba3629b2dbdee41b8d7f8483.pdf

三、芯片简介

RA6E1系列MCU主要特性:

  • 支持 TrustZone 的 200MHz Arm Cortex-M33
  • 512kB – 1MB 闪存和 256kB SRAM
  • 8KB 数据闪存,提供与 EEPROM 类似的数据存储功能
  • 1kB 休眠用 SRAM
  • 从 48 引脚封装扩展至 100 引脚封装
  • 支持 以太网MAC
  • 全速 USB 2.0,支持主机模式和设备模式
  • CAN 2.0B
  • 四线 SPI
  • 串行通信接口(UART、简单 SPI、简单 I2C)
  • 独立SPI/I2C 多主接口
  • SDHI 和 MMC

本次活动试用的瑞萨FPB-RA6E1快速原型板,主控芯片型号为:RA7FA6E10F2CFP。

查阅官方网站,可以知道,它的闪存为1MB,SRAM为256 KB。

四、开发环境搭建

这里搭建的是RASC+Keil开发环境,使用开发板自带的JLink调试器进行调试和下载。自带JLink相对于使用串口烧录,好处是不需要单独下载烧录软件,使用方便。另外,JLink调试器支持断点调试,通过串口也是无法实现的。

4.1 安装RASC

Flex Software Package,简称FSP,它包含了HAL库和配置工具;其中,配置工具叫 RA Smart Configurator,简称RASC

FSP官网下载页面:https://www2.renesas.cn/cn/zh/software-tool/flexible-software-package-fsp

FSP GitHub下载页面:https://github.com/renesas/fsp/releases

注意:不要下载4.4.0 和 4.3.0 版本的FSP或者RASC,经本人实测这两个版本的 RASC 生成的代码,在FPB-RA6E1开发上,启动阶段会卡住 Systemlnit() -> R_BSP_Init_RTC() 函数中,无法继续向下运行。

RASC v4.2.0下载链接:https://github.com/renesas/fsp/releases/download/v4.2.0/setup_fsp_v4_2_0_rasc_v2022-10.exe

PS:国内可以通过ghproxy.net加速链接下载: https://ghproxy.net/https://github.com/renesas/fsp/releases/download/v4.2.0/setup_fsp_v4_2_0_rasc_v2022-10.exe

打开RASC 4.2.0安装程序后,界面如下:

image-20230526214150543

安装没啥难度,一路“下一步”就好了,安装完成界面如下:

image-20230526214851250

4.2 安装Keil MDK

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

Keil MDK安装,默认设置,一路下一步就好了,没啥难度,不再详细介绍。

4.3 安装RA6E1的MDK支持包

Keil默认不支持RA系列MCU,需要安装瑞萨RA系列MCU Keil支持包才能支持RA系列MCU。

FSP GitHub下载页面也有MDK支持包下载链接:

https://github.com/renesas/fsp/releases/download/v4.4.0/MDK_Device_Packs_v4.4.0.zip

国内推荐使用ghproxy.net加速下载,链接为:

https://ghproxy.net/https://github.com/renesas/fsp/releases/download/v4.4.0/MDK_Device_Packs_v4.4.0.zip

下载完成记得校验一下MD5,看看和GitHub下载页面上的是否一致:

image-20230521225125337

另外,瑞萨RA系列MCU Keil支持包,可以在Keil官网找到下载页面:

MDK5 - Renesas R7FA6E10F (keil.com)

Keil下载页面指向的也是瑞萨的网站,直接下载链接:

https://www2.renesas.eu/Keil_MDK_Packs/Renesas.RA_DFP.4.4.0.pack

下载完成后,双击安装即可(安装了Keil之后,pack文件会被自动关联到使用Keil打开),不再赘述。

五、GPIO点灯指南

本节以点灯为例,详细记录了从创建项目、编写代码、编译代码、烧录固件、运行程序的完整操作步骤,即便你此前完全没有使用过瑞萨MCU,参考这里的步骤也可以顺利完成整个过程。

5.1 创建RASC项目

开始菜单,打开“Renesas RA Smart Configurator 4.2.0”,开始创建RASC项目,例如输入项目名为RA6E1_Blinky:

image-20230521230801735

其中,项目名称、保存路径可以修改。

接下来是选择设备(点击Device右侧的省略号图标弹出Device Selection窗口):

image-20230528121823313

本次试用的瑞萨FPB-RA6E1快速原型板主控MCU型号是RA7FA6E10F2CFP;

点OK继续,接下来选择IDE:

image-20230528121929734

这里选Keil MDK Version 5,点击Next继续。

TrustZone类型选择:

image-20230521231221333

这里不使用TrustZone,因此选择第一个。

接下来是RTOS类型选择:

image-20230521231238016

我们先尝试裸机点灯,不使用RTOS,下拉菜单无需修改。通过这里的下来菜单,可以知道FreeRTOS和AzureRTOS也是支持的。

接下来是项目模板选择:

image-20230528122022481

因为前面选择了“No RTOS”,这一步只有一个裸机(Bare Metal)可供选择了。

到这里,创建项目所需的选择全部完成,点击Finish之后,FSP界面如下:

image-20230528122249813

这里需要留意的是这几个地方,后续会用到:

image-20230528122601780

5.2 查阅开发板原理图

开发板原理图中,开发板LED相关原理图:

image-20230521232032428

可以看到,两个LED对应引脚分别为:

  • LED1:P408
  • LED2:P407

5.3 设置LED1引脚为输出

接下来回到FSP软件,点击pins标签,切换到引脚配置视图,找到P407引脚:

image-20230528122657602

修改mode配置:

image-20230521232315073

修改后,Ctrl+S保存,再点击右上角的“Generate Project Content”生产Keil项目。

3.4 编写LED1闪烁的代码

FSP生成Keil项目后,可以切回到Summary视图,查看项目位置。点击右侧的小箭头按钮,可以在文件管理器中打开位置:

image-20230528122843435

双击打开Keil项目文件RA6E1_Blinky.uvprojx后,可以在Keil中看到项目文件结构如下:

image-20230521232656093

打开hal_entry.c开始编写代码:

image-20230521232741972

/* TODO: add your own code here */代码下方添加代码:

    R_BSP_PinAccessEnable();while(1) {R_BSP_PinWrite(BSP_IO_PORT_04_PIN_07, BSP_IO_LEVEL_HIGH);R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);R_BSP_PinWrite(BSP_IO_PORT_04_PIN_07, BSP_IO_LEVEL_LOW);R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);}

编写代码时,可以查阅FSP API参考,具体可以通过FSP Summary页的帮主文档图标打开本地网页,或者查看在线的API文档:https://renesas.github.io/fsp/modules.html

PS:API参考对后续开发非常有用,毕竟这么多底层接口不可能全部记住。

比如,可以查阅上面点灯代码用到的:

  • IO访问接口(这里的R_BSP_PinWrite):https://renesas.github.io/fsp/group___b_s_p___i_o.html
  • MCU接口(这里的R_BSP_SoftwareDelay):https://renesas.github.io/fsp/group___b_s_p___m_c_u.html

另外,点灯使用如下代码也可以:

    while(1) {R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_07, BSP_IO_LEVEL_HIGH);R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);R_IOPORT_PinWrite(&g_ioport_ctrl, BSP_IO_PORT_04_PIN_07, BSP_IO_LEVEL_LOW);R_BSP_SoftwareDelay(500, BSP_DELAY_UNITS_MILLISECONDS);}

二者差别是:

  • 使用R_BSP_PinWrite之前,需要先调用R_BSP_PinAccessEnable,否则后续的R_BSP_PinWrite不起作用;
  • R_BSP_PinWrite是两个参数,而R_IOPORT_PinWrite是三个参数,前者更方便、更优雅一些;

接下来就可以准备 编译、烧录、运行 了。

5.5 编译Keil项目

添加完了代码之后,就可以编译项目了。

在Keil中编译项目,可以直接点击编译按钮,或者按F7键;编译完成后,build output视图输出如下:

image-20230528123009656

5.6 修改Keil调试器设置

编译成功后,可以准备下载程序了。

下载之前,需要修改Keil项目的调试器设置。

具体操作步骤为:

  1. 左侧Project视图中,右击“Target 1”,选择“Options for Target 1”菜单,如下图所示;

    image-20230521233507622

  2. 点Debug标签页,如下图所示;

    image-20230521233531798

    确认调试器选择的是JLink,则不需要修改。

  3. 点击JLink/JTrace Cortex右侧的Settings,弹出JLink设置界面,如下图所示:

    image-20230521233659008

    此时如果你已经正确连接了开发板,并且你的电脑已经安装了JLink驱动,则会在SW Device窗口中识别一个CoreSight设备。

  4. 点击Flash Download标签,如下图所示:

    image-20230521233903852

  5. 可以看到Programming Algorithm为空白,点击Add后,弹出界面:

    image-20230521234023127

  6. 一次将RA6E1的三个加上即可,加上之后,如下图所示:

    image-20230521234115525

  7. RAM for Algorithm,Start填写0x20000000,Size填写0x1000:

    image-20230521234820004

  8. 最后,勾选Reset and Run便于调试:

    image-20230521234904876

  9. 点击确定,完成所有修改。

5.7 下载和运行程序

完成上述所有修改后,使用Keil的烧录按钮,或者F8快捷键,开始下载程序:

image-20230521235119303

下载程序完成后,Build Output输出如下:

image-20230521235218378

如无意外,此时应该可以看到LED2闪烁了。

5.8 已知问题和解决方案

经本人测试发现,使用最新版本的 FSP 4.4.0、4.3.0 生成的代码在本次试用的瑞萨FPB-RA6E1上无法正常启动,点灯程序下载完成复位后无法看到LED灯闪烁。如果此时,用手触摸RTC晶振Y1附近的焊点,则可以正常运行下去。

经断电调试,最终发现——流程卡在了RESET_Handler() -> SystemInit() -> R_BSP_Init_RTC() 函数中。

**【解决方案】**换成FSP 4.2.0 以下版本,即可正常启动;对比生成的项目源码发现,4.2.0以下版本的SystemInit() 中没有调用 R_BSP_Init_RTC()函数。

六、参考链接

  1. RA6E1参考手册(英文): https://www.renesas.com/us/en/document/dst/ra6e1-group-datasheet?r=1521986
  2. RA6E1参考手册(中英): https://www.ramcu.cn/public/uploads/files/20220902/b4d9ed4dba3629b2dbdee41b8d7f8483.pdf
  3. RA6E1硬件手册(英文): https://www.renesas.cn/cn/zh/document/mah/ra6e1-group-users-manual-hardware?r=1521986
  4. FPB-RA6E1开发板快速入门指南: https://www.renesas.com/us/en/document/qsg/fpb-ra6e1-quick-start-guide?r=1529471
  5. FSP GitHub下载页面:https://github.com/renesas/fsp/releases
  6. Keil MDK下载页面: https://www.keil.com/download/product/
  7. 瑞萨RA系列MCU的Keil MDK支持包: https://github.com/renesas/fsp/releases/download/v4.4.0/MDK_Device_Packs_v4.4.0.zip

这篇关于【瑞萨RA6系列】RASC+Keil开发环境搭建和GPIO点灯指南的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/696932

相关文章

在React中引入Tailwind CSS的完整指南

《在React中引入TailwindCSS的完整指南》在现代前端开发中,使用UI库可以显著提高开发效率,TailwindCSS是一个功能类优先的CSS框架,本文将详细介绍如何在Reac... 目录前言一、Tailwind css 简介二、创建 React 项目使用 Create React App 创建项目

SpringBoot3实现Gzip压缩优化的技术指南

《SpringBoot3实现Gzip压缩优化的技术指南》随着Web应用的用户量和数据量增加,网络带宽和页面加载速度逐渐成为瓶颈,为了减少数据传输量,提高用户体验,我们可以使用Gzip压缩HTTP响应,... 目录1、简述2、配置2.1 添加依赖2.2 配置 Gzip 压缩3、服务端应用4、前端应用4.1 N

使用Jackson进行JSON生成与解析的新手指南

《使用Jackson进行JSON生成与解析的新手指南》这篇文章主要为大家详细介绍了如何使用Jackson进行JSON生成与解析处理,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 核心依赖2. 基础用法2.1 对象转 jsON(序列化)2.2 JSON 转对象(反序列化)3.

使用Python实现快速搭建本地HTTP服务器

《使用Python实现快速搭建本地HTTP服务器》:本文主要介绍如何使用Python快速搭建本地HTTP服务器,轻松实现一键HTTP文件共享,同时结合二维码技术,让访问更简单,感兴趣的小伙伴可以了... 目录1. 概述2. 快速搭建 HTTP 文件共享服务2.1 核心思路2.2 代码实现2.3 代码解读3.

MySQL双主搭建+keepalived高可用的实现

《MySQL双主搭建+keepalived高可用的实现》本文主要介绍了MySQL双主搭建+keepalived高可用的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录一、测试环境准备二、主从搭建1.创建复制用户2.创建复制关系3.开启复制,确认复制是否成功4.同

Spring Boot + MyBatis Plus 高效开发实战从入门到进阶优化(推荐)

《SpringBoot+MyBatisPlus高效开发实战从入门到进阶优化(推荐)》本文将详细介绍SpringBoot+MyBatisPlus的完整开发流程,并深入剖析分页查询、批量操作、动... 目录Spring Boot + MyBATis Plus 高效开发实战:从入门到进阶优化1. MyBatis

Python基于wxPython和FFmpeg开发一个视频标签工具

《Python基于wxPython和FFmpeg开发一个视频标签工具》在当今数字媒体时代,视频内容的管理和标记变得越来越重要,无论是研究人员需要对实验视频进行时间点标记,还是个人用户希望对家庭视频进行... 目录引言1. 应用概述2. 技术栈分析2.1 核心库和模块2.2 wxpython作为GUI选择的优

Java利用JSONPath操作JSON数据的技术指南

《Java利用JSONPath操作JSON数据的技术指南》JSONPath是一种强大的工具,用于查询和操作JSON数据,类似于SQL的语法,它为处理复杂的JSON数据结构提供了简单且高效... 目录1、简述2、什么是 jsONPath?3、Java 示例3.1 基本查询3.2 过滤查询3.3 递归搜索3.4

Spring Boot结成MyBatis-Plus最全配置指南

《SpringBoot结成MyBatis-Plus最全配置指南》本文主要介绍了SpringBoot结成MyBatis-Plus最全配置指南,包括依赖引入、配置数据源、Mapper扫描、基本CRUD操... 目录前言详细操作一.创建项目并引入相关依赖二.配置数据源信息三.编写相关代码查zsRArly询数据库数

SpringBoot启动报错的11个高频问题排查与解决终极指南

《SpringBoot启动报错的11个高频问题排查与解决终极指南》这篇文章主要为大家详细介绍了SpringBoot启动报错的11个高频问题的排查与解决,文中的示例代码讲解详细,感兴趣的小伙伴可以了解一... 目录1. 依赖冲突:NoSuchMethodError 的终极解法2. Bean注入失败:No qu