Flexible Software Package on GitHub
Enables secure devices and IoT connectivity through production ready peripheral drivers, FreeRTOS and portable middleware stacks.
The Renesas Flexible Software Package (FSP) is an enhanced software package designed to provide easy-to-use, scalable, high-quality software for embedded system designs using Renesas RA family of Arm Microcontrollers. With the support of new Arm® TrustZone® and other advanced security features, FSP provides a quick and versatile way to build secure, connected IoT devices using production ready drivers, FreeRTOS™, and other middleware stacks.
FSP includes best-in-class HAL drivers with high performance and low memory footprint. Middleware stacks with FreeRTOS integration are included to ease implementation of complex modules like communication and security. The e² studio IDE provides support with intuitive configurators and intelligent code generation to make programming and debugging easier and faster.
FSP uses an open software ecosystem and provides flexibility in using bare-metal programming, included FreeRTOS, your preferred RTOS, legacy code, and third-party ecosystem solutions.
- Small memory footprint HAL drivers
- Intuitive configurator and code generator
- Static and dynamic analysis using industry standard tools
- Application support using RTOS and non-RTOS environments
- FreeRTOS support - latest version integrated with Flexible Software Package
- Tool configurable RTOS resources (Threads, mutexes, etc.)
- Middleware stacks from Renesas and third parties.
- TCP/IP and other connectivity protocol stacks including MQTT
- USB middleware support for CDC, HID, and MSC
- Wireless connectivity through Wi-Fi and BLE 5.0
- File System support with FreeRTOS+FAT and LittleFS
- Storage (Block Media) support for SDMMC and USB.
- Virtual EEPROM on Flash
- Capacitive touch middleware to implement widgets like Button, Slider and Wheels.
- Motor control algorithms
- TrustZone support (for applications on CM33 based MCUs)
- TrustZone enabled drivers and middleware
- Easy to use tool support for TrustZone configuration
- PSA Level 2 compliant*
- Easy connectivity options to major cloud providers
- Secure connections through Mbed TLS 3.0
- Arm PSA Cryptographic APIs and integrated Hardware Acceleration support
- Graphics interface tools using Segger emWin (RA customers can use Segger emWin graphic tools and libraries for free from The FSP Downloads tab)
- Secure debugging capabilities
- Extensive tool support from Renesas and leading third-party solutions
- Integrated package with all required components for easy setup and starting development (single installer with e2 studio, CMSIS packs, tool chain and Segger J-Link drivers)
- Complete source code available through GitHub
(*) PSA Level 2 certification in progress
Flexible Software Package (FSP)
- CMSIS compliant pack files for e2 studio integrated development environment
- BSPs for RA MCUs and boards
- HAL drivers to access peripherals
- Middleware stacks and protocols
- Module configurators and code generators
- TrustZone enabled tools
- Source files to integrate with any development environment and third-party tools
Software components in the FSP support following toolchains:
- e2 studio Integrated Development Environment, default toolchain is GCC Arm Embedded.
- IAR Embedded Workbench
- Arm Keil MDK
Software Installation Instructions
Refer to the FSP GitHub page for installation and usage instructions.
e2 studio Integrated Development Environment
The FSP provides a host of efficiency enhancing tools for developing projects targeting the Renesas RA series of MCU devices. The e2 studio Integrated Development Environment provides a familiar development cockpit from which the key steps of project creation, module selection and configuration, code development, code generation, and debugging are all managed. FSP uses a Graphical User Interface (GUI) to simplify the selection, configuration, code generation and code development of high level modules and their associated Application Program Interfaces (APIs) to dramatically accelerate the development process.
e2 studio is equipped with set of options to configure various aspects of your application project. Some of these options include:
Configure or change MCU and board specific parameters from the initial project selection.
Configure the MCU clock settings for your project. The Clock Configuration presents a graphical view of the MCU's clock tree, allowing the various clock dividers and sources to be modified.
The Pin Configuration provides flexible configuration of the MCU's pins. This configures the electrical characteristics and functions of each port pin. As many pins are able to provide multiple functions, the pin configurator makes it easy to configure the pins on a peripheral basis. The Pin Configuration tool simplifies the configuration of large packages with highly multiplexed pins by highlighting errors and presenting the options for each pin or for each peripheral.
The Module Configuration provides options to add FSP modules (HAL drivers, Middleware stacks and RTOS) for RTOS and non-RTOS based applications and configure various parameters of the modules. For each module selected, the Properties window provides access to the configuration parameters, interrupt priorities, pin selections etc.
Interrupt Configuration allows to add new user interrupts or events and set interrupt priorities. This will also allow the user to bypass a peripheral interrupt and have user-defined ISRs for the peripheral interrupts.
The Components configuration enables the individual modules required by the application to be included or excluded. All modules that are necessary for the modules added to the application are included automatically. You can easily include or exclude additional modules by ticking the box next to the required component.
QE for Capacitive Touch is an assistance tool for applications which operate under the e2 studio. For the development of embedded systems that work with capacitive touch sensors, this tool simplifies the initial settings of the touch user interface and the tuning of the sensitivity, thus shortening developing times.
The QE for BLE is a dedicated tool for developing embedded software in systems which support the Bluetooth® low energy protocol stack. This solution toolkit runs in the e2 studio integrated development environment. The combination of the e2 studio and QE for BLE makes it easy to test the communications features of Bluetooth® low energy.
- Context-sensitive Autocomplete feature that provides intelligent options for completing a programming element
- Developer Assistance tool for selection of and drag and drop placement of API functions directly in application code
- Smart Manual that provides driver and device documentation in the form of tooltips right in the code
- Edit Hover feature to show detailed descriptions of code elements while editing
- Welcome Window with links to example projects, application notes and a variety of other self-help support resources
- Information Icon for each module is provided in the graphic configuration viewer that links to specific design resources for that module in the user manual.
Third Party Tool Support
In addition to the Renesas e2 studio IDE, FSP supports third party tools and IDEs as well. This support is provided through RA Smart configurators (RASC) application. The Renesas RA Smart Configurator is a desktop application that allows you to configure the software system (BSP, drivers, RTOS and middleware) for a Renesas RA microcontroller when using a 3rd-party IDE and toolchain. The RA Smart Configurator can currently be used with IAR Embedded Workbench, Keil MDK and the Arm compiler 6 toolchains.
RA Evaluation Kits
For a complete listing of available RA kits, visit the product page for the RA Family of Arm-based MCUs.
Featured White Papers
- High-Performance Motor Control Made Quick and Simple with Optimized Arm Microcontroller, Tools, and Code
- Securing your IP and Protecting Sensitive Data
- How to Solve the 6 Top Security Challenges of Embedded IoT Design
- Security for the Connected World
- Secure Internet Communication for IoT Applications
- The Benefits of Using Arm® TrustZone® in Your Design