Exploring Fast Prototyping with Renesas RISC-V ISA

Unknown
Unknown

View table of contents ...  

RoadTest: Review the 32-bit RISC-V Renesas Fast Prototyping Board FPB-R9A02G021

Author: Unknown

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: R9A06G150,R9A02G020

What were the biggest problems encountered?: Renesas RISC-V device family is not supported on Ubuntu 22.04 (even though its mentioned) and this is only needed for RT.

Detailed Review:

Thanks for choosing me to review and evaluate the RISC-V Renesas FPB-R9A02G021, which I had received on 20th May 2024.

While writing review for this board, I went into dilemma whether should I go into understanding evaluation boards, installation SDK, preparation of board for projects and basic test or directly upload the projects.

The Renesas make boards on both architectures- RISC-V and ARM, which are both in 32-bit and 64-bit. Renesas has ARM boards like RA ARM which also has Cortex-M MCU. Besides MCU, Renesas also make microprocessors (MPU) like RZ which are also both in 32-bit and 64-bit.

The given board is an entry level board which is 32-bit based on RISC-V architecture.

What is RISC-V and ISA ? 

RISC-V is an open standard ISA(instruction set architecture) having load-store architecture based on RISC(Reduced Instruction Set Computer). 

The ISA of the development board Renesas FPB-R9A02G021 has following features

  • RISC-V RV32I base integer instruction set
  • RISC-V C standard extension for compressed instructions
  • RISC-V M standard extension for integer multiplication and division
  • RISC-V A standard extension for atomic instructions
  • RISC-V Ziscr, Control and Status Register (CSR) instructions
  • RISC-V Zifencei Instruction-Fetch Fence
  • RISC-V B standard extension for bit manipulation (Zba, Zbb, Zbs)
  • Performance monitors, cycle and instruction count Control and Status Registers(CSRs)

Why RISC is named as RISC-V ?

It is named as RISC-V  rather than as RISC because it is the fifth generation and there were RISC- I, RISC-II, RISC-III and RISC-IV.

How RISC-V is different than ARM ?

RISC-V being an open-standard is more flexible to customisation while for the same customisation ARM may need additional extension or third-party extension which may or may not have limitations.

With this entry level development board, one can develop applications in

  • Home appliances
  • Industrial sensors
  • Sensor modules
  • Bus powered sensors
  • Medical sensors
  • Health tracking
  • Remote controls
  • Battery powered applications
  • Low power home accessories
  • Detectors
  • Vehicle tracking
  • Intelligent power supplies
  • Inverters

Table of Contents

  1. Unboxing
  2. Understanding Evaluation Board Renesas FPB-R9A02G021
  3. Installation SDK
  4. Basic Testing of Renesas RISC-V 32-bit
  5. Project and Coding Structure   
  6. Playing with Pre-loaded Project
  7. Compiling and Building Projects on e2 Studio
  8. Conclusion


1. Unboxing

{gallery}FPB-R9A02G021

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

Only 1 board (FPB-R9A02G021), 2 page printed Quick Start Guide which is available online here and 2 page printed information for RoHS. The RoHS Hazardous substance is D010816-24-V0300 and has tables for hazardous substances like lead(Pb), Mercury(Hg), Cadmium (Cd), Hexavalent Chromium(Cr(VI)), Polybrominated biphenyls(PBB), Polybrominated diphenyl ethers(PBDE).

Following things are not provided (Not a drawback)

  • No Cable to connect to PC but not a problem as it  is USB Type-C and is commonly used to charge mobile phones.
  • No SEGGER
  • No breakout pins or No Breadboard compatible headers : the arrangement of getting these headers alone took time to get arranged and without which I could not start testing


2. Understanding Evaluation Board Renesas FPB-R9A02G021 

This Renesas FPB-R9A02G021 board has R9A02G0214CNE which is 48 pin QFN with 128KB  Flash,16KB RAM and 4KB DataFlash.

2.1 ADC

The ADC is 10 channel, 12-bit successive approximation A/D converter.

If the reference voltage is 4.5 to 5.5 V, then the minimum conversion time is 1.33 μs, with clock of 48 MHz.

If the reference voltage is internal, then the minimum sampling time 5 μs, with clock of 48 MHz.

If the clock is 32 MHz, then the minimum conversion time is 2 μs.

2.2 Compact JTAG (cJTAG)

The JTAG is Compact JTAG (cJTAG)

Source : Renesas Electronics

2.3 Temperature Sensor

There is inbuilt temperature sensor which operates at 1.8 to 5.5 V.

2.4 DAC

The DAC is 2 channel and 8-bit, with maximum conversion time of 3 μs. Two channels of this DAC can be used as comparator reference voltage and can be output externally.

2.5 Timer

The timer is 8 channel and 16-bit. The interval timer is 4 channel and 8-bit, where each of the 4 channel is capable of operating independently. For the interval timer, either upper or lower 8-bit timer can be used but with  lower 8-bit timer functions like square wave output,  external event counter and delay counter can be achieved. 

These timers are also used in input pulse interval measurement, One-shot Pulse, PWM (Pulse Width Modulation), upto seven PWM outputs.

The 32-bit interval timer can be made using four 8-bit interval timers.

2.6 IR Receiver 

This Renesas Board has IR Receiver TSOP32438 which has carrier frequency of 38 kHz.

P202 (IRQ2_C / RIN0) of the MCU is connected to OUT pin of the IR receiver module and Pmod 2 INT / GPIO (J14-Pin7).

2.7  MCU Boot Mode

There are two operating modes - Single-chip mode and UART (SAU) boot mode. The SAU is Serial Array Unit which is a SAU with up to four serial channels where each channel can achieve 3-wire serial (simplified SPI), UART, and simplified I2C communication.

2.8  Arduino® Interface

The Arduino Interface has four connectors- one connector of 6 pins, one connector of 10 pins, and two connectors of 8 pins. The interface is fully compatible with Arduino® UNO R3.

2.9  Grove® Interface

2.10  Pmod Interface

The FPB-R9A02G021 Fast Prototyping Board has two Pmod connectors, each of 12 pins and is of angle type: 

  • Pmod 1 connector for Type-2A, Type-3A and Type-6A interface.
  • Pmod 2 for Type-3A and Type-6A interface.


3. Installation SDK

The board can be programmed using any of the three softwares - 

If  you want to go on this page, click here

3.1 e2 Studio

I will use e2 studio. You can download it from here, which was released on Apr 22, 2024. The compiler with e2 studio is LLVM.

As I am using ubuntu, I have download following file.You can see, the it is approx 1.5 Gb.

I am using the Ubuntu Operating system

Now, run

sudo chmod a+x e2studio_installer-2024-04_linux_host.run

sudo ./e2studio_installer-2024-04_linux_host.run

Following setup emerges

Here,if you click on Lite or Standard, then these windows appears

{gallery}sete

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

 Complete the installation. I noticed e2studio donot show option for RISC-V  when installer is run on Linux (Ubuntu 22.04 LTS, x64/ARM32/ARM64) but the same installer shows option to install RISC-V in windows(that is when e2 Studio 2024.exe is run on Windows). 

I didn't tried Ubuntu older versions like Ubuntu 20 or Ubuntu 18, so don't know whether the installer shows option to install RISC- V Renesas MCUs or not.

One more thing which I noticed, if the same installer is installed without sudo, the front set up appears as in the video of Renesas and similar like windows but still for Ubuntu 22.04, only RISC-V device family do not get displayed (All other devices of Renesas like RA, RZ etc. appears but only except RISC-V) during installation and this is the only RISC-V device needed for the evaluation of this board.

This pop up of 'setup in blue' do not appear if the installer is invoked with sudo on Ubuntu 22.04 but appears without sudo.

3.2 Segger Embedded Studio

As the e2 studio didnt showed option to install RISC-V MCU, I now tried Segger Embedded Studio

{gallery}segr8

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

I installed this first and found this also do not show any option for RISC-v, so I installed Embedded Studio for RISC-V (legacy)

3.3 Segger  Embedded Studio for RISC-V (legacy)

{gallery}serrisc

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

The installer available for download is 7.32 but there is update version also


4.  Basic Testing of Renesas RISC-V 32-bit

After installation of SDK and soldering breakout pins or Breadboard compatible headers, board looks like this

4.1 Connecting the board to laptop/PC/computer on Ubuntu 22.04

{gallery}ter

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

4.2 Four LEDs

There are four LEDs on the board of which three LEDs are green and one LED is yellow. 

Two of the green LEDs are User LEDs. One green LED is Power on Indicator for + 3.3V. The yellow LED is  Debug LED and is connected to J-Link Emulator On-Board debugger MCU.

The LED3 is the power on indicator.

4.3 Two Switch

Two switches are there on the board which are miniature, SMD switches. Both these switches are momentary, mechanical push-button type.

S1 is User Switch and S2 is Reset Switch.

4.4 J-Link Configurator v7.96

{gallery}jl conf

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

4.5 J-Link Commander v7.96

{gallery}jlink comm

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

4.5 J-Link Commander List of Commands

4.5.1 Basic Commands

4.5.2  Configuration of J-Link Commands

4.5.3 Configuration of  Target (CPU) Commands

4.5.4 Debugging  Commands 

4.5.5   Debugging - Memory operation Commands

4.5.6   Debugging - JTAG Commands

4.5.7   Debugging - ICE Commands

4.5.8  STRACE Commands

4.5.9  SWO Commands

4.5.10 Flash programming Commands

4.5.11 Flasher File I/O Commands

4.5.12 Measurement and Test Commands

4.5.13 J-Link Pin Control Commands

4.6 RISC-V Smart Configurator

{gallery}rissm

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION


5. Project and Coding Structure 

Even though I tried Segger Embedded studio and even though e2 Studio installer do not show option to install on Ubuntu, I spent much time on e2 Studio which is an Eclipse-based integrated development environment (IDE) for Renesas microcontrollers. For this I borrowed someone's Laptop which has Microsoft Windows 11 installed.

The compiler for this e2 Studio is LLVM, Low Level Virtual Machine and its logo of LLVM is awesome. This compiler has to be separately installed.

Source : https://llvm.org/Logo.html

The above figure proves I have successfully installed LLVM compiler.

Renesas Eclipse e2 Studio gives two options to make either executable project or library project.

5.1 Executable project 

{gallery}Executable project

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

5.2 Library project

{gallery}Library project

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

5.3 Clock

5.4 Interrupts

5.5 Pins 

{gallery}Pins

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

5.6 Renesas MCU

{gallery}Renesas MCU

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

 

5.7 Report Generated 

1. Project Information
	Project Name: DEMO 1

	Output Date: 2024.06.16

2. Board Settings
	Selected Board: FPB-R9A02G021 (V1.02)

	Selected Device: R9A02G0214CNE (ROM size: 128 KB, RAM size: 16 KB, Pin count: 48)

3. Clock Settings
	The table below shows the configured clock values:

	Clock Source	Source Frequency
	IWDTCLK	0.015
	BSP_CFG_PCLKB_DIV	0
	BSP_CFG_EXTCLK_OPERATION	0
	BSP_CFG_OPERATION_MODE	0
	BSP_CFG_SUBCLK_MODE	0
	BSP_CFG_CLOCK_SOURCE_SEL	0
	BSP_CFG_HOCO_OPERATION	1
	JTAG	6.25
	PCLKB	48
	BSP_CFG_EXTCLK_INPUT_JTAG_HZ	6250000
	BSP_CFG_CLKOUT_DIV	2
	BSP_CFG_SUBCLK_OPERATION	1
	BSP_CFG_SUBCLK_MARGIN	0
	CACHCLK	48
	BSP_CFG_CLKOUT_SEL	0
	BSP_CFG_SUBCLK_SEL	0
	BSP_CFG_LOCO_OPERATION	0
	BSP_CFG_MOCO_OPERATION	0
	BSP_CFG_CLKOUT_ENABLE	0
	BSP_CFG_EXTAL_HZ	20000000
	BSP_CFG_ICLK_DIV	0
	CACSCLK	0.032768
	ICLK	48
	TML32LCLK	0.032768

4. system settings
	4.1. On-chip debug setting
		On-chip debug setting:

		Setting name	Value
		Debug interface setting	cJTAG


5. Software Component Settings
	5.1. r_bsp
		Version: 1.10

		Setting name	Value
		Startup select	Enable (use BSP startup)
		Flash Read Protection Access Control Register (FLRPROTAC)	Disable
		Flash Read Protection Start Address Register (FLRPROTS)	0x000FFFFC
		Flash Read Protection End Address Register (FLRPROTE)	0x000FFFFF
		OCD/Serial Programmer ID Setting Register 0 value	0xFFFFFFFF
		OCD/Serial Programmer ID Setting Register 1 value	0xFFFFFFFF
		OCD/Serial Programmer ID Setting Register 2 value	0xFFFFFFFF
		OCD/Serial Programmer ID Setting Register 3 value	0xFFFFFFFF
		Access Window Start Block Address (FAWS)	0x7FF
		Access Window End Block Address (FAWE)	0x7FF
		UIDS0 : User ID Setting Register 0 value	0xFFFFFFFF
		UIDS1 : User ID Setting Register 1 value	0xFFFFFFFF
		UIDS2 : User ID Setting Register 2 value	0xFFFFFFFF
		UIDS3 : User ID Setting Register 3 value	0xFFFFFFFF
		Data flash memory area access control(DFLEN)	Disable
		Initialization of peripheral functions by Code Generator/Smart Configurator	Enable
		API functions(R_BSP_StartClock, R_BSP_StopClock)	Disable
		API functions(R_BSP_ChangeICLKClockSetting)	Disable
		Interrupt setting(bsp_mapped_interrupt_open)	Disable
		Enable user warm start callback (PRE)	Unused
		User warm start callback  function name (PRE)	my_sw_warmstart_prec_function
		Enable user warm start callback (POST)	Unused
		User warm start callback  function name (POST)	my_sw_warmstart_postc_function
		Parameter checking	Enabled


	5.2. Config_PORT
		Component: Ports

		Use status: Used

		Version: 1.0.1

		Common settings:

		Setting name	Value
		Wait Cycle Round	1-cycle wait

		PORT0:

		Setting name	Value
		PORT0	Uncheck

		PORT1:

		Setting name	Value
		PORT1	Check

		P100:

		Setting name	Value
		Use status	Out
		Pull-up	Uncheck
		N-ch	CMOS output
		Output 1	Uncheck
		Output current	2 mA
		Output current triming	Level15 (max)
		When an ELC_PORTx(x=1,2) signal occurs, effect on output	No effect
		ELC event edge detect	Don't care

		P101:

		Setting name	Value
		Use status	Unused
		Pull-up	Uncheck
		N-ch	CMOS output
		Output 1	Uncheck
		When an ELC_PORTx(x=1,2) signal occurs, effect on output	No effect
		ELC event edge detect	Don't care

		P102:

		Setting name	Value
		Use status	Unused
		Pull-up	Uncheck
		N-ch	CMOS output
		Output 1	Uncheck
		When an ELC_PORTx(x=1,2) signal occurs, effect on output	No effect
		ELC event edge detect	Don't care

		P103:

		Setting name	Value
		Use status	Unused
		Pull-up	Uncheck
		N-ch	CMOS output
		Output 1	Uncheck
		When an ELC_PORTx(x=1,2) signal occurs, effect on output	No effect
		ELC event edge detect	Don't care

		P104:

		Setting name	Value
		Use status	Unused
		Pull-up	Uncheck
		N-ch	CMOS output
		Output 1	Uncheck
		When an ELC_PORTx(x=1,2) signal occurs, effect on output	No effect
		ELC event edge detect	Don't care

		P105:

		Setting name	Value
		Use status	Unused
		Pull-up	Uncheck
		N-ch	CMOS output
		Output 1	Uncheck
		When an ELC_PORTx(x=1,2) signal occurs, effect on output	No effect
		ELC event edge detect	Don't care

		P106:

		Setting name	Value
		Use status	Unused
		Pull-up	Uncheck
		N-ch	CMOS output
		Output 1	Uncheck
		When an ELC_PORTx(x=1,2) signal occurs, effect on output	No effect
		ELC event edge detect	Don't care

		P107:

		Setting name	Value
		Use status	Unused
		Pull-up	Uncheck
		N-ch	CMOS output
		Output 1	Uncheck
		When an ELC_PORTx(x=1,2) signal occurs, effect on output	No effect
		ELC event edge detect	Don't care

		P108:

		Setting name	Value
		Use status	Unused
		Pull-up	Uncheck
		N-ch	CMOS output
		Output 1	Uncheck
		When an ELC_PORTx(x=1,2) signal occurs, effect on output	No effect
		ELC event edge detect	Don't care

		P109:

		Setting name	Value
		Use status	Unused
		Pull-up	Uncheck
		N-ch	CMOS output
		Output 1	Uncheck
		When an ELC_PORTx(x=1,2) signal occurs, effect on output	No effect
		ELC event edge detect	Don't care

		P110:

		Setting name	Value
		Use status	Unused
		Pull-up	Uncheck
		N-ch	CMOS output
		Output 1	Uncheck
		When an ELC_PORTx(x=1,2) signal occurs, effect on output	No effect
		ELC event edge detect	Don't care

		P111:

		Setting name	Value
		Use status	Unused
		Pull-up	Uncheck
		N-ch	CMOS output
		Output 1	Uncheck
		When an ELC_PORTx(x=1,2) signal occurs, effect on output	No effect
		ELC event edge detect	Don't care

		PORT2:

		Setting name	Value
		PORT2	Uncheck

		PORT3:

		Setting name	Value
		PORT3	Uncheck

		PORT4:

		Setting name	Value
		PORT4	Uncheck


6. Board Pin Information
	The table below lists default board pins:

	Pin Number	Board Functions
	2	XT2
	3	XT1
	4	VSS
	5	VCC
	7	P201
	8	P202
	9	P204
	10	P205
	11	P206
	12	P307
	13	MD
	14	RES
	15	TCKC
	16	TMSC
	17	TxD0
	18	RxD0
	19	P304
	20	P305
	21	P207
	22	P306
	23	IRQ4
	24	P109
	25	P100
	26	SCK20
	27	P110
	28	P111
	29	SI20
	30	SO20
	31	SCLA1
	32	SDAA1
	33	P009
	34	RxDA1
	35	P104
	36	ANI18
	37	ANI19
	38	P107
	39	TxDA1
	40	P402
	41	TxD1
	42	RxD1
	43	ANI5
	44	ANI4
	45	ANI3
	46	ANI2
	47	AVREFM
	48	AVREFP

7. Interrupt Settings
	Not configured.

8. Pin Settings
	8.1. Pin Number

	Pin Number	Pin Name	Function	Direction	Remarks	Symbolic Name	Comments
	1	VCL	VCL	-	Read only	-	
	2	XT2	XT2	O		-	XT2
	3	XT1	XT1	I		-	XT1
	4	VSS/AVSS	Not assigned	None		-	
	5	VCC/AVCC	Not assigned	None		-	
	6	P200/NMI	Not assigned	None			
	7	P201/IRQ3	Not assigned	None			PMOD1-IO0/INT
	8	P202/CLKOUT/RIN0/IRQ2	Not assigned	None			PMOD2-IO0/INT
	9	P204/SCK21/SCL21	Not assigned	None			PMOD1-IO1/RESET
	10	P205/SI21/SDA21	Not assigned	None			PMOD1-IO2
	11	P206/SO21	Not assigned	None			PMOD1-IO3
	12	P307	Not assigned	None			PMOD2-IO2
	13	P203/MD	Not assigned	None			MD
	14	RES	Not assigned	None		-	ResetSW-S2_ARDUINO-RESET_JlinkOB-RESET
	15	P300/EXTAL/TCKC/TI07/TO07/SCK00/SCL00/IRQ0	TCKC	I			JlinkOB-TCKC
	16	P301/TMSC/TI06/TO06/SI00/SDA00/RxD0/IRQ1	TMSC	IO			JlinkOB-TMSC
	17	P302/VCOUT1/TI03/TO03/SCLA0/TxD0/IRQ3	Not assigned	None		COM_TXD0	JlinkOB(VCOM)-TXD
	18	P303/CLKOUT/TI04/TO04/SDAA0/RxD0/IRQ2	Not assigned	None		COM_RXD0	JlinkOB(VCOM)-RXD
	19	P304/SO01/KR00	Not assigned	None			ARDUINO-D7
	20	P305/SI01/SDA01/KR01	Not assigned	None			ARDUINO-D8
	21	P207/SCK01/SCL01/KR02	Not assigned	None			PMOD2-RTS
	22	P306/KR03	Not assigned	None			PMOD2-IO3
	23	P108/IRQ4/KR04	Not assigned	None		S1	UserSW-S1_PMOD2-CTS/INT
	24	P109/IRQ5/KR05	Not assigned	None			PMOD2-CS/CTS/INT
	25	P100/TI05/TO05/SO00/TxD0/IRQ6	P100	O		LED2	LED2_ARDUINO-D3/INT/PWM
	26	P101/TI02/TO02/SCK20/SCL20/IRQ7	Not assigned	None			ARDUINO-SCK/D13_PMOD1-SCK/RTS
	27	P110/IRQ7	Not assigned	None			ARDUINO-D2/INT
	28	P111/IRQ6	Not assigned	None			PMOD2-IO1/RESET
	29	P102/TI01/TO01/SCLA0/SI20/SDA20/RxD2/IRQ2	Not assigned	None			ARDUINO-MISO/D12_PMOD1-MISO/RXD
	30	P103/TI02/TO02/SDAA0/SO20/TxD2	Not assigned	None			ARDUINO-MOSI/D11/PWM_PMOD1-MOSI/TXD
	31	P011/TI07/TO07/SCLA1/CLKA0	Not assigned	None			ARDUINO-SCL_GROVE-SCL/AN
	32	P010/SDAA1/RxDA0	Not assigned	None			ARDUINO-SDA_GROVE-SDA/AN
	33	P009/TxDA0/SCK10/SCL10	Not assigned	None			ARDUINO-SS/D10
	34	P008/RxDA1/SI10/SDA10	Not assigned	None			ARDUINO-RX/D0
	35	P104/SCK11/SCL11/IVREF1	Not assigned	None			ARDUINO-D6
	36	P105/VCOUT0/RTC1HZ/SI11/SDA11/ANI18	Not assigned	None			ARDUINO-A4
	37	P106/SO11/ANI19/IVCMP0	Not assigned	None			ARDUINO-A5
	38	P107/CACREF/TI03/TO03/IVCMP1	Not assigned	None		LED1	LED1_ARDUINO-D9/PWM
	39	P403/TxDA1/SO10	Not assigned	None			ARDUINO-TX/D1
	40	P402/CLKA1	Not assigned	None			ARDUINO-D5
	41	P001/TI00/TxD1/ANI17/DACOUT1/IRQ5	Not assigned	None			PMOD2-TXD
	42	P000/TO00/RxD1/ANI16/DACOUT0/IVREF0/IRQ6	Not assigned	None			PMOD2-RXD
	43	P007/ANI5/IRQ3	Not assigned	None			ARDUINO-A3
	44	P006/ANI4/IRQ4	Not assigned	None			ARDUINO-A2
	45	P401/ANI3	Not assigned	None			ARDUINO-A1
	46	P400/ANI2	Not assigned	None			ARDUINO-A0
	47	P003/AVREFM/ANI1/IRQ7	Not assigned	None			GND
	48	P002/AVREFP/ANI0	Not assigned	None			3V3


6. Playing with Pre-loaded Project

The board Renesas FPB-R9A02G021 comes with a pre-loaded program. So, its easy to test the pre-loaded code. For this simply connect USB cable to PC/Laptop.

I now play with user and reset switches as shown in the below video.


7. Compiling and Building Projects on e2 Studio 

I now tried simple project code to see whether it gets compiled using LLVM and generates ELF file or not, which will be used to program the development board Renesas FPB-R9A02G021.

{gallery}PR1

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

IMAGE TITLE: THEN IMAGE DESCRIPTION

As the code has no functionality of importance, the programmed or demo projects not shown, 

But I showed I did compiled using LLVM and successfully generated file to program Renesas FPB-R9A02G021.


8. Conclusion

This development board fast prototyping board (FPB), FPB-R9A02G021 'Made in Japan' designed by Renesas is an entry level board from Renesas and is a flexible and versatile development board who are beginners. As it requires very less learning curve and has interface of Ardruino, Grove, beginners will find it very useful. This Renesas development board can be interfaced with Arduino Uno connector, fully compatible with Arduino® UNO R3 and Grove(I2C and Analog) connector.  Also, there are two Pmod connectors where Pmod 1 has support of SPI, UART and I2C, and Pmod 2 has support of UART and I2C.  

The Renesas  'Made in Japan' has done a clever and wise thing by providing these interfaces, which can make it lead other competitors as these require almost 'zero' learning curve and helpful for students who handle mostly Arduino boards.

It would have been better if for the RoadTest, Arduino® UNO R3 could be provided along with Grove and Pmod connectors.

As mentioned, this entry level 32-bit based on RISC-V board can be used to develop various applications which I have even listed above. Those who want more powerful boards can go for 64-bit or ARM or 64-bit RISC-V.

Being an entry level board, the maximum operating frequency is 48 MHz. There is also an IR Receiver Module, inbuilt temperature sensor 

The Renesas officially allows three compilers - e2studio which is based on eclipse (and I have used this), IAR Embedded bench but it is evaluation software for 14 days, SEGGER Embedded Studio, and also has RISC-V Smart Configurator.  The Segger Embedded Studio has inbuilt toolchain which is GCC but for e2 Studio, the toolchain has to be separately installed.

There are few improvements and bug correction which Renesas will have to do. If e2Studio is used, Renesas RISC-V device family is not supported on Ubuntu 22.04 unlike other devices of Renesas which are supported on Ubuntu 22.04, so I had to borrow laptop which has Microsoft Windows 11.

I m not sure if RISC-V is supported on Ubuntu older versions or not.

Overall, its a flexible product with less learning curve for beginners and novices.

Anonymous