GOAL - Renesas RZ/N2L-RSK

GOAL - Renesas RZ/N2L-RSK

 

Introduction

Porting GOAL to Renesas RZ/N2L-RSK is in progress.

Information about the state of development, requirements, supported and upcoming features, resources and software handling are prospected in following chapters.

More information and documents are available at Renesas RZ/N2L-RSK.

Network protocols

The following network protocols are supported on RZ/N2L-RSK Arm® Cortex®-R52 single core.

Upcoming network protocols.

Please follow the links for detailed stack description.

In the first step of porting our network protocols to the new device, we focusing on single core solution only. Providing the multi-core versions of all network protocols is scheduled.

Features

  • FreeRTOS Kernel V10.3.0

  • Flexible Software Package (FSP) | Renesas v2.0.0

  • UART Interface for log messages

  • Serial Peripheral Interface

  • 4 user LEDs (green, yellow + two red)

  • 4 user DIP switches

  • 2 user buttons

  • support for storing CM variables remanent:

    • sflash via xSPI0

    • EEPORM via I2C

  • CAN controller access

  • second stage bootloder for starting GOAL application from xSPI0

Components

LEDs

The user LEDs 0…3 are used by GOAL for visual interaction. They can be set by calling goal_targetSetLeds(). Reading the current LED state is possible by goal_targetGetLeds().

LEDs can also be accessed via GOAL LED API.

Memory

The general RZ/N2L memory map is shown in following table. The addresses indicates the maximal reserved memory.

Address

Size

Region

Usage

Address

Size

Region

Usage

0x0010_0000 - 0x0010_7FFF

32k

BTCM

Second stage bootloader: used during startup to load GOAL application from xSPI0 flash into RAM.

0x3000_0000 - 0x3017_FFFF

2000k

Mirror area of System RAM

CPU0 GOAL

0x3016_0000 - 0x3016_FFFF

64k

Mirror area of System RAM

Shared noncache buffer

0x3017_0000 - 0x3017_FFFF

64k

Mirror area of System RAM

Noncache buffer

0x6000_0000 - 0x6000’004b

75b

External address space xSPI0

Parameter for the bootloader

0x6000_004c - 0x6000_804b

32k

External address space xSPI0

Second stage bootloader image

0x6008_0000 - 0x6008_FFFF

64k

External address space xSPI0

CPU0 Loader Table

0x6010_0000 - 0x6027_FFFF

1500k

External address space xSPI0

CPU0 GOAL image

0x67FF_E000 - 0x67FF_FFFF

8k

External address space xSPI0

CPU0 GOAL CM variables

Non-Volatile-Memory

Configuration or user data can be storage to nonvolatile memory. GOAL supports the following two different mediums on RZ/N2L RSK to keep information remanent. Both are accessed via GOAL media for nonvolatile storage.

sFlash

A 512 Mbit sflash is assembled at the RZ/N2L RSK and mapped to external address space xSPI0. The last 8kByte within this memory are reserved for CM storage by default.

EEPROM

This feature is disabled by default and not available in library demos.

GOAL CM variables are stored to EEPROM by setting compiler define GOAL_CONFIG_NVS_EEPROM_I2C to 1.

This is possible via IDE project properties.

GOAL_CONFIG_NVS_EEPROM_I2C define in E2Studio
GOAL_CONFIG_NVS_EEPROM_I2C define in IAR Workbench

There are various limitations for this feature:

  • EEPROM size is limited to 4kBytes on RSK board; but some GOAL projects (e.g. PNIO including SNMP and MRP) requiring 8kBytes and are consequently not supported.

  • There is only a single EEPROM on RSK board available; this component is occupied by EtherCAT Slave Controler on EtherCAT projects and therefore not available for NVS.

  • I2C module needs to be setup in 7-Bit address mode.

Switches and buttons

Buttons SW1, SW2 and the DIP switches SW3:1..SW3:4 can be used as input signal to GOAL software. Their state is polled when calling goal_targetGetButtons(). The function returns the input state as a bit mask, which assign is specified in goal_target_board.h.

Bit

31..6

5

4

3

2

1

0

Switch/button

<unsused>

SW3:4

SW3:3

SW3:2

SW3:1

SW2

SW1

UART

UART0 is used by GOAL as serial interface for sending log messages or receiving Command line interface. The interface speed is 115200 by default.

Tracing

Data tracing is possible by GOAL API via following pins.

GOAL TRACE ID

mapped to

PIN

GOAL TRACE ID

mapped to

PIN

GOAL_MA_TRACE_USER_0

IOPORT_PORT_21_PIN_2 (BSP_IO_PORT_21_PIN_2

CN3 - PIN18

GOAL_MA_TRACE_USER_1

IOPORT_PORT_21_PIN_3 (BSP_IO_PORT_21_PIN_3)

CN3 - PIN15

GOAL_MA_TRACE_USER_2

IOPORT_PORT_21_PIN_4 (BSP_IO_PORT_21_PIN_4)

CN3 - PIN16

GOAL_MA_TRACE_USER_3

IOPORT_PORT_21_PIN_7 (BSP_IO_PORT_21_PIN_7)

CN3 - PIN7

GOAL_MA_TRACE_USER_4

IOPORT_PORT_22_PIN_0 (BSP_IO_PORT_22_PIN_0)

CN3 - PIN8

Tools

These software tools are required to run GOAL and its network protocol stacks on RZ/N2L-RSK. You may choose between e² studio or IAR Embedded Workbench.

Please ensure to use the correct IDE and FSP version! If the any of the required software version is not available anymore at Renesas Website, please contact Renesas Support.

Running a sample project

Handling a sample project on RZ/N2L-RSK is described in following sections. This includes the process of loading software into RAM for debugging and flashing it to non-volatile storage.

Setup RZ/N2L-RSK

Before running a sample project on Renesas RZ/N2L-RSK, ensure to setup the board correctly. This chapter summary most important components, which are used by GOAL. A detailed explanation of each unit is available in Renesas Starter Kit+ for RZ/N2L User’s Manual at Renesas RZ/N2L-RSK.

All important components for handling GOAL on RZ/N2L-RSK are marked below.

image-20250604-193531.png

 

The following configuration is used as default.

DIP-Switch

1

2

3

4

5

6

7

8

9

0

DIP-Switch

1

2

3

4

5

6

7

8

9

0

SW11

On

Off

Off

Off

Off

Off

Off

Off

Off

Off

SW4

On

On

On

On

Off

Off

On

Off

-

-

SW8

Off

On

Off

On

Off

Off

Off

Off

Off

Off

Reference

Jumper Position

Explanation

Reference

Jumper Position

Explanation

CN8

Sort 2-3

Using QSPI0 Serial Flash

CN20

Sort 1-2

Using all three ports in the same PHY mode

CN21

Sort 1-2

Using all three ports in the same PHY mode

CN22

Sort 1-2

Using all three ports in the same PHY mode

CN24

Sort 2-3

Using VCC1833_4 domain at 1.8V

J9

Short/ Open

Using external/ internal debugger

  • plug DC Power In (USB Type-C) for power supply

  • plug USB to Serial Port for serial communication

    • After powering on the board, check the hardware manager for the assigned COM interface.

    • The interface speed is 115200 by default.

  • plug ETH0..ETH2 for network communication

Board components are designed and configured by FSP Smart Configurator. The tool generates the source files of low level drivers, which are used by GOAL.

Second stage bootloader

The RZ/N2L-RSK offers a Boot Function, which loads a program from flash to BTCM and execute it. Due to the size limitation of 120KB it is usable for very small applications only. More details about the RZ/N2L Boot Function are available at Renesas Document RZ/N2L Group User’s Manual: Hardware - Chapter “Operating Mode Descriptions”.

 

Handling applications larger than 120KB requiring a second stage bootloader, that copies the GOAL image from flash to System RAM and executes it there.

When the device is powered up, the second stage bootloader is loaded from flash into BTCM by Boot Function. The following steps are then performed.

  1. Turn on LED0 to indicate start of second stage bootloader

  2. validating GOAL firmware image on flash and copy it into RAM. Blink LED1 once on success.

  3. Turn on LED1 (LED0 is still enabled) for 1 second to indicate end of second stage bootloader

All LED states are listed in table below.

LED0

LED1

Description

LED0

LED1

Description

ON

-

running second stage bootloader

ON

Blinking once

a firmware image for core 1 has been copied from flash to RAM successfully

ON

ON

This state takes ~1s and signals the end of second stage bootloader.

Blinking fast

Blinking fast

Infinite state. No valid firmware image has been detected.

RZ/N2L-RSK with IAR Workbench

GOAL example projects for IAR Workbench is located at projects/<protocol>/<application>/iar/renesas/rzn2l_rsk*/rzn2l_rsk*.eww.

Adding FSP Smart Configurator to IAR Workbench

Before first use, the Smart Configurator needs to be added as external tool in IAR Workbench once by following steps:

  • open IAR Workbench IDE and select Tools → Configure Tools…

  • add a new tool by choosing New and enter the following properties

    • Menu Text: FSP Smart Configurator

    • Command1: C:\Renesas\fsp_sc\eclipse\rasc.exe
      1: Absolute path to the Flexible Software Package Smart Configurator

    • Argument: --compiler IAR configuration.xml

    • Initial Directory: $PROJ_DIR$

Setup Board for debugger as followed.

  • connect I-Jet to external debugger (MIPI-20) Connector

  • short J9 for usage of external debugger

Code generation by FSP Smart Configurator

The FSP Smart Configurator is used for board setup. Each GOAL project is preconfigured for RZ/N2L-RSK. The driver files and configuration files must be generated manually before building IAR projects, otherwise it will fail. Customer’s modification by FSP Smart Configurator is possible.

FSP Configuration do not cover all GOAL setting. Some modifications must still be done in GOAL.

Generating the FSP sources is required, even in library (demo) projects.

  • open an example projects in IAR Workbench (see section below for project import description).

  • choose a Workspace from the selector or via context menu → Set as Active

    • *_ram - Debug: RAM configuration of the application

      *_ram - Release: xspi0 configuration of the application

    • *_bootloader - xspi0: second stage bootloader for starting any application from qSPI0 flash

image-20250618-073200.png
  • select Tools → FSP Smart Configurator from the menu to open FSP Smart Configurator

    • (optional) choose device family: Renesas RZ/N

    • a preconfigured project for the Smart Configurator is loaded and ready to use

  • press Generate Project Content to generate FSP sources

Debugging GOAL application on RZ/N2L-RSK with IAR Workbench

  • setup board

  • Short J9 for external Debugger

  • Connect I-Jet to External Debugger Connector

  • open an example projects in IAR Workbench

  • select Workspace: *_ram - Debug

  • open and generate board by FSP Configuration as described in section Code generation by FSP Smart Configurator

  • select Project → Rebuild All to build the project

  • select Project → Download and Debug to download the project into RAM and start the debug session

Flashing second stage bootloader to RZ/N2L-RSK with IAR Workbench

  • setup board

  • Short J9 for external Debugger

  • Connect I-Jet to External Debugger Connector

  • open an example projects in IAR Workbench

  • select Workspace: *_bootloader - xspi0

  • open and generate board by FSP Configuration as described in section Code generation by FSP Smart Configurator

  • select Project → Rebuild All to build the project

  • select Project → Download and Debug to download the project into qSPI0 and start the debug session

Flashing GOAL application to RZ/N2L-RSK with IAR Workbench

  • ensure that the second stage bootloader has been flashed

  • setup board

  • short J9 for external Debugger

  • connect I-Jet to External Debugger Connector

  • open an example projects in IAR Workbench

  • select Workspace: *_ram - Release

  • open and generate board by FSP Configuration as described in section Code generation by FSP Smart Configurator

  • select Project → Rebuild All to build the project

  • select Project → Downlaad → Download file...

  • navigate into the IAR project directory, open the subfolder Release/Exe and select All Files (*.*)

image-20250624-093842.png
  • choose the firmware hex file *.qspi.fw.hex and confirm for downloading the file into flash

RZ/N2L-RSK with e2studio

GOAL example projects for e2studio is located at projects/<protocol>/<application>/e2studio/renesas/rzn2l_rsk*/

Extend default board setup by debugger as followed.

  • connect Mico-USB to internal debugger (Micro-USB) connector J10

  • open J9 for usage of internal debugger

Import GOAL projects into e2studio