GOAL - Renesas RZ/N2L-RSK
- 1 Introduction
- 2 Network protocols
- 3 Features
- 4 Components
- 4.1 LEDs
- 4.2 Memory
- 4.3 Non-Volatile-Memory
- 4.4 Switches and buttons
- 4.5 UART
- 4.6 Tracing
- 5 Tools
- 6 Running a sample project
- 7 Downloads
- 8 Known issues
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
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 |
|---|---|---|---|
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.
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_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.
IAR Embedded Workbench Version 9.30.1 + RZ/N2L FSP Smart Configurator v2.0.0
Python and python intelhex library for creating firmware
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.
The following configuration is used as default.
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 |
|---|---|---|
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.
Turn on LED0 to indicate start of second stage bootloader
validating GOAL firmware image on flash and copy it into RAM. Blink LED1 once on success.
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 |
|---|---|---|
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 ConfiguratorArgument: --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
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 (*.*)
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