v1.0.0
·
73 commits
to master
since this release
Release Notes
Flexible Software Package (FSP) for Renesas RA MCU Family, version 1.0.0.
Download the FSP with e2 studio Installer for this release, setup_fsp_v1_0_0_e2s_v7_8_0.exe, from here.
If using IAR or Keil MDK, download the Renesas Advanced Smart Configurator for this release, setup_fsp_v1_0_0_rasc_v7_8_0.exe, from here.
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.
Tools
GCC Compiler : 9-2019-q4-major
Features Added
- Controller Area Network (r_can)
- Digital to Analog Converter (r_dac8)
- Interrupt skipping in r_gpt
- Three Phase General PWM Timer (r_gpt_three_phase)
- Port Output Enable for GPT (r_poeg)
- Quad Serial Peripheral Interface Flash (r_qspi)
- Sigma Delta Analog to Digital Converter (r_sdadc)
- Segment LCD Controller (r_slcdc)
- USB Host CDC Class (r_usb_hcdc)
- USB Peripheral Mass Storage Class (r_usb_pmsc)
- SD/MMC Block Media Implementation (rm_block_media_sdmmc)
- USB Host MSC Block Media Implementation (rm_block_media_usb)
- Wifi Middleware (rm_wifi_onchip_silex)
- Wrapped key support in Mbed Crypto
- ECC 384 Hardware Acceleration Support
- TLS support using FreeRTOS Secure Sockets for WiFi and Ethernet
- CMSIS Neural Network
- Arm littlefs file system now available for use on data flash
- Temperature compensation and noise immunity add to r_ctsu
- C++ projects will build for GCC and IAR
- Added support for configuring the USB clock source on the RA4 series MCUs
- FreeRTOS MQTT Support
- Standalone FSP installer for Windows is now created and included in release
- emWin AppWizard support now available
- General call now supported on r_iic_slave
Third Party Software
Arm Mbed Crypto: 3.1.0+renesas.1
Features Modified
- Analog to Digital Converter (r_adc)
- Capacitive Touch Sensing Unit (r_ctsu)
- Digital to Analog Converter (r_dac)
- Direct Memory Access Controller (r_dmac). e2 studio configuration only
- General PWM Timer (r_gpt)
- JPEG Codec (r_jpeg). Encode support added
- Key Interrupt (r_kint). e2 studio configuration only
- Low Power Modes (r_lpm)
- Realtime Clock (r_rtc)
- Serial Communications Interface (SCI) I2C (r_sci_i2c)
- SD/MMC Host Interface (r_sdhi)
- SEGGER emWin Port (rm_emwin_port)
- Crypto Middleware (rm_psa_crypto)
- Capacitive Touch Middleware (rm_touch)
- FreeRTOS version updated
- Mbed Crypto version updated
- FreeRTOS+FAT. New architecture. Now supports USB and SDHI
- USB DMA support added
- Documentation links on modules in e2studio now point to locally installed documentation
- USB (r_usb_basic) has compatibility breaking API changes
- USB Host Mass Storage Class Driver (r_usb_hmsc) has compatibility breaking API changes
- USB Peripheral Communication Device Class (r_usb_pcdc) has compatibility breaking API changes
- 2nd argument of R_ETHER_Read() is changed from "void ** const pp_buffer" to "void * const p_buffer"
Features Removed
None
Bug Fixes
- The r_sdhi module was not able to properly set the activation event for the r_dmac module when r_dmac was chosen as its dependency.
- The BSP for RA2 parts did not fully follow the flow chart for turning off the TRNG out of reset.
- The interrupts in r_sci_i2c were not populated correctly in the generated i2c_master_cfg_t structure.
- The LPM snooze cancel source was not available in the configuration tool, and the enumeration options were incorrect for RA4 and RA2 devices.
- R_RTC_PeriodicIrqRateSet could cause the application to hang.
- Multiple selections are available for LPM wake sources, GPT input sources, ADC channels, and KINT channels. These properties are not backward compatible and must be reconfigured.
- The period calculation for r_gpt and r_agt could generate build errors for some configurations.
- The KSZ8091RNB PHY initialization code for for the EK-RA6M3 incorrectly configured the PHY for 50MHz mode when it should have been 25MHz.
- The ADC was not functional on RA6M1 because the PGA was not initialized.
- Added missing externs to generated SPI structure header.
- The Activation Source property in the XML for r_dtc was a text field instead of a list. This could cause build errors if the text did not match a vector in the system.
- Fixed an issue where Snooze mode was not being enabled correctly on RA2 devices.
- In bsp_clock_init, R_BSP_SoftwareDelay() was being called before SystemCoreClockUpdate(). This had undefined behavior if sub-clock was chosen as the source clock in the BSP.
- For GCC projects, both malloc and the FreeRTOS memory allocation prvPortMalloc allocate memory from the same memory pool. Existing GCC projects need to update the linker script so that __HeapBase is defined at the start of g_heap (from startup.o).
- The transfer_info::irq setting was previously hard coded to TRANSFER_IRQ_EACH for DMAC. transfer_info_t::irq setting can now be configured for TRANSFER_IRQ_EACH, or TRANSFER_IRQ_END.
- The Activation Source property in the XML for r_dtc was a text field instead of a list. This could cause build errors if the text did not match a vector in the system.
- Configuration ID changed for GPT "Duty Cycle Range" configuration (not backwards compatible).
- Writes to FIFO transmit register are updated in the driver implementation to fix the UART write failure on RA2A1 with FIFO enabled.
- Added data flash enable for LP devices to R_BSP_WarmStart. Data flash will now only be enabled in the r_flash_lp module if it was not already enabled previously.
- Fixed issue with improper generation of parameter checking macro for rm_wifi_onchip_silex.
- When configuring the VREF pins on RA4M1, the pin configuration showed errors and the generated pin data was incorrect.
- FreeRTOS was using BSP_CFG_IRQ_MASK_LEVEL_FOR_CRITICAL_SECTION to set basepri in vPortEnterCritical. It has been changed to use configLIBRARY_MAX_SYSCALL_INTERRUPT_PRIORITY.
- The "MCU Vcc (mV)" option in the BSP properties would not allow a VCC entry larger than 4.6V. This has been fixed to allow up to 5.5V.
- When using the AC6 compiler, heap size is configured using Heap Size on the BSP tab instead of in the <mcu>.scat scatter file. Existing projects must update the scatter file to use this change.
Known Issues
- Issue
When provisioning the device using the AWS-provided vAlternateKeyProvisioning(), a build error will occur because of a missing function.
Workaround
Download mbedtls_util.c and add the file to your application build. - Issue
The AWS Device Provisioning code writes directly to data flash. The Mbed Crypto persistent storage littlefs module also writes to data flash. Using both of these features in the same project will cause data corruption.
Workaround
Modify rm_littlefs_flash_cfg.h to add a new definition "#define RM_LITTLEFS_FLASH_DATA_START" and define it to a sufficient offset such that there is enough space for the AWS Device Provisioning credentials at the beginning of data flash. For example, a RSA2048 private key and a certificate in PEM format takes up about 1700 and 1100 bytes respectively. It is also necessary to change the "block count" value in "LittleFS on Flash" module to reflect the reduced data flash size that can be utilized by littlefs. - Issue
The default values for the "LittleFS on Flash" needs to be modified. The default value for "Block Size (bytes)" is 128 when it should be 64 bytes. The default value of "Block Count" is 1024 which will vary depending on the MCU being used.
Workaround
In the module properties for "LittleFS on Flash" change "Block Size (bytes)" to 64. Also, change "Block Count" such that Block Size multiplied by Block Count is the size of the data flash on the MCU.
Knowledge Base
Visit our knowledge base for other technical updates.
Checksums
- FSP_Packs_v1.0.0.exe 0188b4d3de034c8b1e1ad6aa2384119c
- setup_fsp_v1_0_0_e2s_v7_8_0.exe c688640ab4799223d9c2106cc7f05600
- setup_fsp_v1_0_0_rasc_v7_8_0.exe 6e1422d50b17e1b3147caea275e74f9b