跳转到主要内容

概览

描述

瑞萨电子灵活配置软件包 (FSP) 是用于嵌入式系统设计的高质量增强型软件包,支持瑞萨电子 RA 产品家族 Arm 微控制器,提供用户友好的界面且可灵活扩展,确保从入门级到高性能的整个 RA 微控制器的软件兼容性。 在全新 Arm® TrustZone® 和其他高级安全功能的支持下,FSP 提供一种快速、通用的方式,使用量产级驱动程序、Azure RTOS、FreeRTOS™ 和其他中间件协议栈来构建安全、互联的物联网设备。

download 下载最新FSP (v6.0.0):

FSP 平台安装程序(包含 e² studio 集成开发环境、工具链和 FSP 软件包):

RA 智能配置(RASC)安装程序(FSP 软件包,可与 IAR Embedded WorkbenchArm Keil MDK 这些第三方集成开发环境一起使用):

FSP 独立安装程序(FSP 软件包,适用于只更新 FSP 而不更新 e² studio 的用户):

  • 可从 GitHub 的 Assets 模块下载

安装说明可在此处找到。所有 FSP 发行版和补丁均可在 GitHub 上找到。

FSP 包括高性能、低内存占用的业界一流的 HAL 驱动程序。 还包含集成了 Azure RTOS 和 FreeRTOS 的中间件协议栈,能够简化通信和安全等复杂模块的实现。 e² studio IDE 提供了对图形化配置工具和智能代码生成器的支持,从而使编程和调试变得更加轻松快捷。

FSP 使用开放式软件生态系统,并且也为裸机编程提供了灵活性,客户可以选择使用 Azure RTOS 或 FreeRTOS、其他自选 RTOS、现有代码和第三方生态系统解决方案。 FSP和e² studio可以在任何瑞萨的设备上免费使用。

特性

  • 支持基于 Arm® Cortex®-M 架构的 RA 系列微控制器的多核与单核方案
  • HAL 驱动程序只占用少量内存
  • 图形化配置工具和代码生成器
  • 行业标准工具的静态和动态分析工具
  • 支持使用 RTOS 和 非 RTOS 环境的应用程序
  • Azure RTOS 及其配备了 Flexible Software Package 的中间件堆栈
    • Azure RTOS ThreadX、NetX Duo & Add-ons、USBX、GUIX & GUIX Studio、FileX、TraceX、exFAT、LevelX、NetX Duo Secure & NetX Crypto(硬件加速)
  • 支持 FreeRTOS – 包括 Kernel 和一组软件库
    • FreeRTOS Kernel、FreeRTOS Plus TCP、核心 MQTT、核心 HTTP/HTTPS、任务池、安全套接、蜂窝接口
  • 可使用工具配置的 RTOS 资源(Thread、mutexex 等)
  • 来自瑞萨电子和第三方的中间件协议栈
    • 针对基于 CM85 的微控制器,支持 Ethos-U55 以实现高效的 AI/ML 集成
    • 包含 MQTT 的 TCP/IP 及其他连接协议栈
    • USB 中间件,支持 CDC、HID 和 MSC
    • 通过蜂窝(Cat-M1)、Wi-Fi 和 BLE 5.0(BLE 网络)进行无线连接
    • 支持 FreeRTOS+FAT 和 LittleFS 文件系统
    • 支持 SDMMC 和 USB 存储(块媒体)
    • 闪存虚拟 EEPROM
    • 电容式触摸中间件,用来实现触摸按键,滑条和转盘
    • 电机控制算法
    • 通过 MCUboot 保护引导加载程序
    • 传感器模块 API
  • TrustZone 支持(适用于基于 CM33 的 MCU )
    • 支持 TrustZone 的驱动程序和中间件
    • 简单易用的 TrustZone 配置工具
  • 通过 PSA Level2 认证
  • AWS 验证合格的 FreeRTOS
  • 可以连接到主要的云提供商
  • 通过 NetX Duo Secure 和 Mbed TLS 保护连接
  • Cryptographic API,支持集成硬件加速
    • Arm PSA Cryptographic APIs
    • Azure RTOS NetX Crypto APIs
    • FSP Crypto API 提供终极安全性(SCE9 保护模式)
    • Oberon Ocrypto 支持面向低端 RA2E1 器件的安全加密应用
    • 适用于资源受限器件的 TinyCrypt
  • 图形界面支持和工具
    • 提供 RA 器件的 LVGL 图形库集成支持
    • Segger emWin(RA 客户可以从下面的下载中免费获取 Segger emWin 图形工具和图形库)
    • Azure RTOS GUIX 和GUIX Studio(在微软应用商店中免费提供)
  • 安全调试功能
  • 由瑞萨电子及其他领先的第三方解决方案提供完善的工具支持s
  • 包含所有必要组件的集成式开发软件包,能够快速配置并启动开发(带有 e2 studio 的安装程序、CMSIS 包、工具链和 Segger J-Link 驱动程序)
  • 可在 GitHub 上找到完整的源代码

发布信息

For additional information and links, go to GitHub.

v6.0.0

Release Notes

Flexible Software Package (FSP) for Renesas RA MCU Family, version 6.0.0

Minimum e2 studio version for FSP 6.0.0 is e2 studio 2025-04.1

If using IAR or Keil MDK, download the Renesas Advanced Smart Configurator (RASC) for this release.

All installers are available in the Assets section of this release.

Refer to the README.md in the FSP root folder for setup instructions, hardware details, and related links.

New Features

  • Added support for RA8P1 devices
    • Includes EK-RA8P1 board support
  • Added support for RA4C1 devices
    • Includes EK-RA4C1 board support
  • Added support for RA2T1 devices
    • Includes FPB-RA2T1 board support
  • Added Central/Client and Security functionality to r_ble_gtl module
  • Added support to r_sci_b_lin for configuring the noise cancellation clock divider
  • Added HW Acceleration support for ECC/ECDSA p384 and keygen p384 for NetX Crypto on RA4C1 devices
  • Added ability to load/store Bluetooth BD addresses in flash
  • OSPI_B feature updates:
    • Support 1-byte and 2-byte addressing
    • Support devices that require an address to get device status
    • Additional timing options
  • Support retrieving the device's part number through the R_BSP_PartNumberGet function
  • Blinky template projects updated with multicore support; CPU0 will release CPU1 from reset and each core will blink its respective LED
  • Added new Modbus TCP Server module
  • Added support for the LVGL graphics library
  • Support TLS Layer on lwIP with ARM MbedTLS
  • Support FreeRTOS Plus TCP for ESWM
  • Support lwIP stack for ESWM
  • Updated IAR toolchain to v9.70.1
    • A new linker directive was added for proper operation of PSA Crypto that is not supported by IAR v9.60.4, so v9.70.1 is required for FSP v6.0.0 and up
  • FSP Common API updated to v1.12.0
  • A new tutorial section on creating a multicore blinky application has been added to the FSP User's Manual. It covers new features on creating and debugging multicore applications in e2 studio. It can be found under the 'Starting Development' section.
  • Added NDEF add-on API support to NFC PTX driver
  • Updated documentation relating to predefined non-cacheable linker sections

Compatibility Breaks

  • Deprecated RYZ cellular modules have been removed
  • Renamed BSP_CFG_UCK_DIV to BSP_CFG_UCLK_DIV
  • Renamed BSP_CFG_UCK_SOURCE to BSP_CFG_UCLK_SOURCE
  • Renamed BSP_CFG_U60CK_SOURCE to BSP_CFG_USB60CLK_SOURCE
  • Renamed BSP_CFG_U60CK_DIV to BSP_CFG_USB60CLK_DIV
  • Renamed BSP_CFG_OCTA_SOURCE to BSP_CFG_OCTACLK_SOURCE
  • Renamed BSP_CFG_OCTA_DIV to BSP_CFG_OCTACLK_DIV
  • Removed all deprecated ELC event enumerated values
  • Deprecated R_XSPI_Type, R_XSPI, and related R_XSPI_ macros have been removed; use R_XSPI0_Type and R_XSPI0 instead
  • LIN (r_sci_b_lin, r_sci_lin, r_sau_lin):
    • Enumeration Deprecations:
      • In lin_event_t, LIN_EVENT_RX_START_FRAME_COMPLETE is now LIN_EVENT_RX_HEADER_COMPLETE
      • In lin_event_t, LIN_EVENT_TX_START_FRAME_COMPLETE is now LIN_EVENT_TX_HEADER_COMPLETE
      • In lin_event_t, LIN_EVENT_RX_INFORMATION_FRAME_COMPLETE is now LIN_EVENT_RX_DATA_COMPLETE
      • In lin_event_t, LIN_EVENT_TX_INFORMATION_FRAME_COMPLETE is now LIN_EVENT_TX_DATA_COMPLETE
    • Function Deprecations:
      • In lin_api_t, 'startFrameWrite' and 'informationFrameWrite' are replaced by 'write.' Use 'write' for both header and data transmission.
      • In lin_api_t, 'informationFrameRead' is replaced by 'read.' No usage change.
    • Struct Deprecations:
      • In lin_transfer_params_t, member p_information is now p_data
  • Removed EOL FS2012, FS1015, and OB1203 sensor support
  • Removed deprecated ZMOD4410 Odor and ZMOD4510 OAQ 1st Gen support
  • Removed deprecated BLE_LIB_ALL_FEATS macro
  • Removed improperly named enumerated values in rm_ble_mesh_error_code_t
  • All enumerated values in this type now start with the base type name
  • Removed BLE_ABS_EVENT_NOTIFY_∗_POS macros (superseded by versions without ABS_)
  • Removed RM_BLOCK_MEIDA_RAM_CFG_MEDIA_SIZE macro (superseded by RM_BLOCK_MEDIA_RAM_CFG_MEDIA_SIZE)
  • Removed r_pdc_api.h (unused; superseded by r_capture_api.h)
  • Removed board_sdram.h (superseded by BSP-level SDRAM support via bsp_sdram.h)
  • Removed u∗_ prefix from floats motor_120_driver_extended_cfg_t::u4_pwm_carrier_freq and motor_driver_extended_cfg_t::u2_pwm_carrier_freq
  • Removed deprecated/unused WIFI_SetMAC() from rm_wifi_api.h
  • Removed RYZ cellular stacks
  • Handling of SAU pin restrictions in RA0 MCUs:
    • Only allow pins of the same group (same suffix) to be set, except for SAU_I2C11, SAU_SPI11
      • Removed 'Mixed' Pin Group for SAU_I2C, SAU_SPI and SAU_UART
      • Replaced 'Custom' Operation Mode by 'Custom (No Mixed)' for SAU_SPI and SAU_UART
    • Only allow one operation mode to be set for one SAU channel
      • Disabled SAU channel in other operation modes when one mode is used in SAU_I2C, SAU_SPI, SAU_UART
  • Corrected LPM macro name LPM_SNOOZE_END_SCI0_ADDRESS_MATCH to LPM_SNOOZE_END_SCI0_ADDRESS_MISMATCH
  • Removed the deprecated IICRSV (Communication reservation) setting in IICA master
  • The pin names of r_ssi have been fixed for RA8M1/D1/T1/E1/E2 devices to match the HW user manual. Existing  projects for the affected devices with SSIE pins configured shall need to be reconfigured
  • In accordance with the update to the new security policy, the public key injection APIs for RSA and ECC algorithms have been removed in the r_rsip_key_injection module. This change only affects RSIP-E51A devices.
  • Changed the method of releasing Ether-related tasks from waiting and the method of retrieving the MAC address
  • USB pipe selection in the Host/Peripheral stack has been removed. Pipes are now selected automatically at run-time.
    • Users may now refer to the type member in the usb_event_info structure to determine which write or read event has completed.
    • Please check and update your application code if the project build fails due to undefined macros USB_CFG_PCDC_BULK_IN or USB_CFG_PHID_INT_IN; for example:
      • In a PCDC+PCDC or PCDC+PVND Composite Baremetal project, update the condition for USB_STATUS_WRITE_COMPLETE/USB_STATUS_READ_COMPLETE status from if (USB_CFG_PCDC_BULK_IN/OUT == event_info.pipe) to if (USB_CLASS_PCDC == event_info.type)
      • In a PHID+PHID Composite FreeRTOS project, update the condition for USB_STATUS_WRITE_COMPLETE status from if (USB_CFG_PHID_INT_IN == p_usb_basic_event->pipe) to if (USB_CLASS_PHID == p_usb_basic_event->type)
    • Please note that R_USB_Read() and R_USB_Write() APIs should only be called during the Data Transfer state. If called in any other state(such as Control Transfer, etc.), these functions will return FSP_ERR_USB_FAILED
  • Removed the element handle in the BLE MESH ACCESS instance control struct
  • Removed deprecated BSP_PACKED macro
  • The key management specification in the r_rsip_protected module has been revised. The main change is that the specification of the rsip_wrapped_key_t structure, which manages wrapped key, has been changed, and its members are now type and * p_value. The member type indicates the key type managed by this structure, and the member * p_value indicates the pointer to the address where the actual wrapped key is located. Previously, the actual wrapped key value was managed in rsip_wrapped_key_t, but the new specification instead stores a pointer to the address where the key is located. With this change, users must initialize each member (type and * p_value) when declaring rsip_wrapped_key_t variable. In addition, since the key type is initialized in advance as described above, it is no longer necessary to specify it in APIs such as key generation, so the argument key_type has been removed from the related APIs. For specific instructions, please refer to the Examples on the r_rsip_protected page of the FSP User Manual.
  • The behavior of MCUboot images and flash areas is now configured via the Solution project instead of via MCUboot stack properties

Fixes and Improvements

  • RA2 compiler/linker changes:
    • Default optimization is now -Oz (max optimize for size)
    • By default, content will be placed in the flash 'gap' (area between vector table and OFS registers)
  • Added constraint for limiting TrustZone selection for non-secure projects in MCUboot
  • Add multiple instance support for OSPI_B DOTF
  • r_sci_b_lin:
    • Add support for selecting the number of base clock cycles per bit period in e2 studio to control the SCI base clock frequency
    • R_SCI_B_LIN_BaudCalculate now ignores the input parameter sci_b_lin_baud_setting_t::bus_conflict_clock when calculating the baud rate because the bus conflict clock divider cannot be easily selected unless the SCI base clock frequency setting is already known. This parameter may be removed in a future major version of FSP.
    • Update usage notes to improve description of how to select an appropriate bus conflict clock divider when using bus conflict detection
  • CMSIS-NN updated to version 7.0.0
  • Updated the constraint logic of the properties 'ECDSA Scratch Buffer Size (Bytes)' and 'ECDH Scratch Buffer Size (Bytes)' for rm_netx_secure_crypto module to avoid negative values
  • Fixed LLVM build error for C++ projects
  • Fixed source file inclusion causing lockup for Ocrypto S/W Only stack
  • Updated R_ADC_D_ScanCfg parameter checking for invalid channels in select mode
  • Platform installer updated to include e2 studio 2025-04.1
  • Fixed misleading constraint regarding Ocrypto for when using MCUboot
  • Fixed compiler warning if the OSPI_B prefetch function is disabled (OSPI_B_CFG_PREFETCH_FUNCTION=0)
  • Fixed internal pull up for IRQ mode
  • Improved performance of AES-GCM encryption processing for RSIP-E51A PM driver
  • Added usage note regarding USB event handling when using the USB API
  • Fixed unsupported modes for SCI in pin configurator
  • AC6 C++ now uses standard libraries instead of microlib
  • PLL Frequency item is removed and 'CL Only Mode' item is added in r_usb_basic configuration (driver now automatically configures CLKSET based on BSP clock configuration)
  • Fixed P005 as GPIO input in EK-RA4E2
  • Fix various spelling mistakes throughout codebase
  • Fixed ADC group priority setting
  • Fixed ADC_B issue where channels 19 and 23-28 may not have been correctly selectable for virtual channels
  • Add UCKSEL register and select HOCO on UCLK
  • Fixed issue where Software Delay is 50% too long on devices with Flash LP when ICLK is higher than 32MHz
  • Fix default clock settings for FPB-RA4T1
  • Blinky project templates now all blink at 1Hz
  • RSIP-E11A Protected Mode Elliptic Curve Cryptography (ECC) side-channel countermeasures were strengthened, which impacts the time required for key pair generation, ECDSA signature generation, and ECDH calculation. The time required for ECDSA signature verification is unaffected.
  • Removed const from p_context declarations allowing users to point to non-const data
  • Fix missing/incorrect constraint on PLL Input Frequency for RA4 and RA6 MCUs
  • Segger JLink version updated to v8.44a
  • FreeRTOS Timer task stack size now correctly set to configTIMER_TASK_STACK_DEPTH instead of configMINIMAL_STACK_SIZE
  • Fixed SHA and HMAC features for RSIP-E11A PM not calculating correctly for input messages between 65 and 118 bytes
  • E2 and E2 Lite version updated to 2.5.8
  • Renamed __Vectors to CMSIS macro __VECTOR_TABLE
  • Fixed MQTT Receive input parameters and updated usage notes on supported baud rates
  • Removed 1 Mbps minimum limitation on CANFD Data Rate
  • Move USB_DM and USB_DP pins to USB_FS group from Systems group for RA4E2, RA4T1, RA6E2, and RA6T3 devices
  • Added fix to show the selected unit's pins in the Properties view for OSPI_B

Deprecations

  • The following modules have been deprecated:
    • rm_hs300x
    • rm_hs400x
    • rm_fs3000
    • rm_rrh47000
    • rm_rrh62000
    • Some rm_zmod4xxx measurement modes:
      • ZMOD4410 IAQ 1st Generation
      • ZMOD4410 Relative IAQ
      • ZMOD4410 Relative IAQ Ultra-Low Power
  • Enum mipi_dsi_cmd_id_t deprecated in favor of mipi_cmd_id_t
  • Replaced and deprecated BSP_FEATURE_ADC_TSN_SLOPE macro (use BSP_FEATURE_TSN_SLOPE instead)
  • Support multiple PHY LSIs on a single MDIO interface

Known Issues

  • RA0E1:
    • e2 studio projects automatically reset compiler optimization to a Size setting on every generate or build operation
    • Add optimization flags (e.g. -O0) manually to 'Other optimization flags' to override the -Oz setting
    • HS400x and ZMOD4xxx sensors cannot be used on RA0E1
    • FS3000 sensor does not support SAU-I2C driver
  • Selecting 'Safely Remove Hardware and Eject Media' on Windows and eject the mass storage (PMSC), when using USBX composite device (PCDC+PMSC), the Windows Explorer for PMSC does not disappear.
  • PMSC may not work properly when the USBX Composite Device (PCDC+PMSC) is connected to a specific Linux OS (USB Host).
  • EWARM version 9.60.4 does not contain support for RA0E2, RA2L2, RA2T1, RA4C1 and RA8P1. To develop with IAR for these devices, it is necessary to install a support patch file for which can be downloaded by EWARM v9.60.4 users from the IAR MyPages system
    • RA0E2(arm_Renesas_RA0E2_20240715_1.zip)
    • RA2L2(arm_Renesas_RA2L2_patch_20240510_1.zip)
    • RA2T1(arm_Renesas_RA2T1_20240611_1.zip)
  • Due to limitations in RASC, Projects fail to build if there are files with the same name in a build group. To fix this issue, create files with the same name in different build groups. For known issues in the tools, please refer to the respective tool's release notes, e2 Studio RN

Visit GitHub Issues for this project.

目标设备

下载

类型 文档标题 日期
软件和工具 - 软件 ZIP 11.59 MB
软件和工具 - 软件 English
软件和工具 - 软件 English
软件和工具 - 软件 English
软件和工具 - 软件 English
软件和工具 - 软件 English
软件和工具 - 软件 English
7 items

文档

设计和开发

样例程序

相关评估板和套件

视频和培训

e² studio小技巧 - 如何将 RA 样例项目导入至e² studio

本视频演示了如何将瑞萨 RA Flat 项目和TrustZone 项目导入至 e² studio

e² studio小技巧 - 如何将 RA 样例项目导入至 e² studio
0:00:00 介绍
0:00:14 RA Flat 项目和TrustZone 项目
0:00:34 设置 IDE
0:00:54 下载样例项目包
0:01:07 导入RA Flat 项目
0:02:44 导入TrustZone 项目
0:04:30 e² studio用户指南

额外细节

组件

  • CMSIS 兼容包文件适用于 e2 studio 集成开发环境
  • BSP 适用于 RA MCU 及板
  • HAL 驱动程序可访问外围设备
  • 中间件堆栈及协议
  • 模块配置器和代码生成器
  • 源文件可以与任何开发环境及第三方工具集成

支持的工具链

FSP 中的软件组件支持以下工具链。

  • e2 studio集成开发环境,支持GCC Arm Embedded 和 LLVM Embedded Toolchain for Arm 工具链。
  • IAR Embedded Workbench
  • Arm Keil MDK

软件安装说明

请参考 FSP GitHub 页面上的安装和使用说明:FSP GitHub 说明

e2 studio 集成开发环境

FSP 提供了众多可提高效率的工具,用于开发针对瑞萨电子RA 系列 MCU 设备的项目。 e2 studio 集成系统开发环境提供一个熟悉的开发控制台,从该控制台中,可以管理项目创建、模块选择和配置、代码开发、代码生成以及调试等关键步骤。FSP 使用图形用户界面 (GUI) 来简化高级模块及其关联应用程序接口 (API) 的选择、配置、代码生成和代码开发,从而显著加速开发过程。

e2 studio IDE 配备了一组选项,用于配置应用程序项目的各个方面。其中一些选项包括:

BSP 配置

从初始项目选择中配置或更改 MCU 和板的特定参数

时钟配置

为您的项目配置 MCU 时钟设置。时钟配置显示 MCU 时钟树的图形视图,允许修改各种时钟分频器和时钟脉冲源。

引脚配置

引脚配置提供 MCU 引脚的灵活配置。这样可以配置每个端口引脚的电气特性和功能。由于许多引脚能够提供多种功能,引脚配置器使您可以轻松地在外围设备上配置引脚。引脚配置工具通过突出显示错误并为每个引脚或每个外围设备提供选项,简化了带有高度复用引脚的大型封装的配置。

模块配置

模块配置为基于 RTOS 和非基于 RTOS 的应用程序添加 FSP 模块(HAL 驱动程序、中间件堆栈和 RTOS)提供了选项,并配置了模块的各种参数。对于每个所选的模块,属性窗口提供对配置参数、中断优先权、引脚选择等的访问。

中断配置

中断配置允许添加新的用户中断或事件,并设置中断优先权。它还将允许用户绕过外围设备中断,并为外围设备中断提供用户定义的 ISR。

组件配置

组件配置允许选择或删除应用程序所需的单个模块。针对添加到应用程序中的模块,会自动选择所有必要的模块。您可以勾选所需组件旁的方框,轻松选择或删除其他模块。

QE 工具

电容式触摸 QE是一款在e2 studio集成开发环境下运行应用程序的辅助工具。对于使用电容式触控传感器的嵌入式系统的开发,此工具简化了触摸用户界面的初始设置和灵敏度的调整,从而缩短了开发时间。

"QE for BLE" 是用于在支持低功耗蓝⽛协议栈的系统中,开发嵌入式软件的专用工具。 该解工具可以在e2 studio集成开发环境中运行。e2和“QE for BLE”结合可以轻松地测试低功耗蓝⽛的通信功能。

其他工具功能

  • 上下文有关的自动完成功能,能够为完成编程元素提供智能选项
  • 开发人员协助工具,用于直接在应用程序代码中选择和拖放 API 函数的位置
  • 智能手册,在代码中以正确的工具提示形式提供驱动程序和设备文档
  • 编辑悬停功能,在编辑时显示代码元素的详细说明
  • 欢迎窗口,显示示例项目、应用程序说明和各种其他自助支持资源的链接
  • 信息图标,图形配置查看器提供每个模型的信息图标,该查看器在用户手册中可链接到该模块的特定设计资源。

第三方工具支持

除了瑞萨电子 e2 studio, FSP 还支持第三方工具和 IDE。这些支持工具支持均通过 RA 智能配置器 (RASC) 应用程序提供。瑞萨电子 RA 智能配置器是一个桌面应用程序,让您能够在使用第三方 IDE 和工具链时为瑞萨电子 RA 微控制器配置软件系统(BSP、驱动程序、RTOS 和中间件)。RA 智能配置器目前可与 IAR Embedded Workbench、Keil MDK 和 Arm 编译器 6 工具链一起使用。