Skip to content

v3.3.0

Latest
Compare
Choose a tag to compare

Release Notes

Flexible Software Package (FSP) for Renesas RZ/A MPU Series, version 3.3.0.

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 : GCC ARM A-Profile (AArch64 bare-metal) 13.2.Rel1

e2 studio: v2024-10

Segger J-Link: 8.10a

New Features

  • Added HS300x, HS400x sensor interface.

Fixes and Improvements

  • Support multiple sectors read/write for SD driver.
    To use these features, buffers are needed to be allocated in the uncached area and be eight-bytes aligned.
  • Support Link Mode on DMAC driver.
  • Fixed the compilation issue on CRU driver in C++ project.
  • Fixed the build issue on CANFD driver created under multiple threads.

Deprecations

  • None

Known Issues

Please refer to Getting Started with RZ/A FSP.

Limitations

  • RZ/A FSP runs under AArch64 mode only and won't run under AArch32 mode.
  • USB driver does not support multistage hub connections.
  • Up to 2 devices can be connected under the Hub with USB driver.
  • Building C++ projects in the current release of RZ/A FSP may result in errors due to issues on linker and runtime configurations. Follow the steps below to resolve the issue.
    1. Modify Linker Script
      Add the following lines to the end of the .text section in script/{board_name}.ld:

      KEEP (*(.gcc_except_table .gcc_except_table.*))
      KEEP(*(.eh_frame*))
      
    2. Add Dummy Global Destructor Support
      Include the following code above the hal_entry function in src/hal_entry.cpp:

      extern "C" int __cxa_atexit(void (*destructor)(void*), void* arg, void* dso_handle);
      extern "C" int __cxa_atexit(void (*destructor)(void*), void* arg, void* dso_handle)
      {
          (void) destructor;
          (void) arg;
          (void) dso_handle;
          return 0;
      }
      void* __dso_handle = nullptr;
    3. Add System Call Stubs
      Insert the following code into src/syscalls.c:

      int _getpid(void);
      int _getpid(void)
      {
          return 0;
      }
      
      int _kill(int pid, int sig);
      int _kill(int pid, int sig)
      {
          (void) pid;
          (void) sig;
      
          return 0;
      }
      
      int _open(const char* name, int flags, int mode);
      int _open(const char* name, int flags, int mode)
      {
          (void) name;
          (void) flags;
          (void) mode;
      
          return 0;
      }
      
      void _exit(int status);
      void _exit(int status)
      {
          (void) status;
          _write(1, "FSP exit\n", 9);
          while (1) {
              ;
          }
      }

Third Party Software

These third party software solutions are included alongside FSP.

Amazon FreeRTOS Kernel: 10.6.1

Amazon FreeRTOS+TCP: 4.2.1

Amazon FreeRTOS+FAT: 08d0cff40d9832f235442ab22e577ddf4204da52

Microsoft Azure RTOS FileX: 6.4.0

Microsoft Azure RTOS GUIX: 6.4.0

Microsoft Azure RTOS NetX Duo: 6.4.0

Microsoft Azure RTOS ThreadX: 6.4.0

Microsoft Azure RTOS USBX: 6.4.0

Supported Components

Category Components RZ/A3UL
OS FreeRTOS
AzureRTOS ThreadX
Middleware FreeRTOS+TCP
FreeRTOS+FAT
FileX
USBX
GUIX
NetX Duo
Sensor (rm_hs300x, rm_hs400x)
HAL Driver ADC (r_adc_c)
CANFD (r_canfd)
CRU (r_cru)
DMAC (r_dmac)
Ether (r_gether, r_gether_phy)
GTM (r_gtm)
I2C Master (r_riic_master)
I2C Slave (r_riic_slave)
INTC_IRQ (r_intc_irq)
INTC_NMI (r_intc_nmi)
INTC_TINT (r_intc_tint)
ISU (r_isu)
LCDC (r_lcdc)
MTU3 (r_mtu3)
RSPI (r_rspi)
SCI_uart (r_sci_uart)
SCIF_uart (r_scif_uart)
SDHI (r_sdhi)
SPIBSC (r_spibsc)
SSI (r_ssi)
USB HHID (r_usb_hhid)
USB HMSC (r_usb_msc)
USB PCDC (r_usb_pcdc)
WDT (r_wdt)

Note

Exception levels for the program using RTOS

Exception levels for the program using FreeRTOS

  • The RTOS executes at EL3 (Exception Level 3), and uses the EL3 stack.
  • Tasks execute at EL3, using the EL3 stack when handling interrupts and the EL0 stack in the normal state.

Exception levels for the program using ThreadX

  • ThreadX RTOS executes at EL3 and uses only the EL0 stack.

Knowledge Base

Visit our knowledge base for other technical updates.

MD5 Checksums

  • RZA_FSP_Packs_v3.3.0.zip d0c18a6971136a423dbda9ca01e26f18
  • RZA_FSP_Packs_v3.3.0.exe 48c08041ffe4e9dc5a76f7e5ef31e1f7
  • fsp_documentation_v3.3.0.zip ff5cf67aa6272eec7d5807ea2139bca5
  • setup_rzafsp_v3_3_0_e2s_v2024-10.exe 9f0731e40cccbce35585dc56889e99c4
  • setup_rzafsp_v3_3_0_e2s_v2024-10.xz.run b6879b9d37bc61a11b0a80535dfee960