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

本文首先对瑞萨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
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码工许师傅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值