The Rhomb.io Renesas Synergy Master Module is a certified Rhomb.io module that includes a Renesas Synergy S7G2 microcontroller. Having the largest on-chip Flash memory size in the industry for general purpose microcontrollers at 4 MB, S7 Series MCUs have ample space for complex application code or for complete memory redundancy to enable fail-safe in-field updates of the firmware. This module can work both as master or as slave.
Renesas Synergy S-Series
48,16€ – 50,56€
Out of stock
The Rhomb.io Renesas Synergy Master Module is a certified rhomb.io module that includes a Renesas Synergy S7G2 microcontroller. Having the largest on-chip Flash memory size in the industry for general purpose microcontrollers at 4 MB, S7 Series MCUs have ample space for complex application code or for complete memory redundancy to enable fail-safe in-field updates of the firmware. This module can work both as master or as slave.
Manage high-performance, compute-intensive applications with the flagship S7 Series. Implement memory redundancy with 4MB of flash memory and drive a color LCD while simultaneously handling multiple high-speed connectivity channels, precision control operations, and analog signals with high accuracy. Secure products with hardware acceleration for symmetric and asymmetric cryptography and HASH algorithms plus secure key generation and storage.
Get ultimate performance for demanding applications with a 240 MHz Arm® Cortex®-M4 core, largest flash memory available, multiple high-speed secure connectivity channels, and zero wait-state fast SRAM for on-chip graphic display buffers and high-speed communication.
Applications:
- Industrial automation
- Internet of Things
- Human Interface Device
Specifications
Microcontroller | Renesas Synergy S7G2 R7FS3A3xxx/R7FS3A7xxx 32-bit ARM Cortex-M4 & FPU, up to 240 MHz & 32 KHz |
Internal Memory | 4 MB Flash, up to 640 KB SRAM, up to 64 KB Data Flash |
Encryption Memory | 16 Keys/ECDSA/ECDH/SHA-256/SMAC/NIST |
ID Memory | 64-bit Unique-ID Memory with 112 B User EEPROM (Optional) |
Others | Native USB OTG & USB switch |
MCU Security | Unique ID/TRNG/AES/GHASH/3DES*/ARC4*/RSA*/DSA*/SHA* |
rhomb.io Configuration | 2xUSB / 3xUART / SPI / 2xI2C / SDIO / QSPI / SAI / CAN / 7xINT / 4xPWM / up to 35xGPIO / 10xAD / 2xDAC* / ETHERNET / 24-bit RGB* |
MCU I/O | up to 172xI/O (10xPWM / up to 28xADC / up to 53xINT / CAN / SDIO / SAI / QSPI / RMII / RGB) |
Op. Voltage | 2.8 V / 3.3 V |
Op. Temperature | -40 ºC to +85 ºC |
Documentation
3D View
Applications:
- Industrial automation
- Internet of Things
- Human Interface Device
Module specifications
As stated above, this module sports a Renesas S7G2 microcontroller, the controller at the high end of the Synergy Series.
This module can be powered by either a 3V3 supply or by a 2V8 one in order to improve power performance. It’s able to control any class 2 or 3 Rhomb.io motherboard with up to 3 module sockets, plus it has networking, memory and video capabilities.
In order to manage all GPIOs in Rhomb.io sockets, this module includes a GPIO Expander IC driven by the main controller via I2C interface. This adds 8 GPIO signals that are used to manage sockets 2 and 3 of the Rhomb.io standard.
It has two built-in 4-channel analog switches that allow the user to switch between a SDIO interface or a QSPI one, which adds a lot of flexibility for potential projects.
Interface | I2C | SDIO | QSPI | USB | OTG | SPI | IrDa | CAN | RGB | RMII | I2S | UART |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Nº of buses | 2 | 11 | 11 | 12 | 12 | 1 | 1 | 1 | 1 | 1 | 1 | 2 |
1User can switch between SDIO or QSPI I/F by setting the level of a GPIO.
2User can choose where the USB I/F is connected in the module, either to the USB pins of the module connectors, or the OTG pins by setting the level of a GPIO.
…The following figure identifies the main Integrated Circuits (IC) onboard.
The next figure shows the Block Diagram for the Renesas Synergy Master Module.
Microcontroller | Renesas Synergy S7G2 R7FS3A3xxx/R7FS3A7xxx 32-bit ARM Cortex-M4 & FPU, up to 240 MHz & 32 KHz |
Internal Memory | 4 MB Flash, up to 640 KB SRAM, up to 64 KB Data Flash |
Encryption Memory | 16 Keys/ECDSA/ECDH/SHA-256/SMAC/NIST |
ID Memory | 64-bit Unique-ID Memory with 112 B User EEPROM (Optional) |
Others | Native USB OTG & USB switch |
MCU Security | Unique ID/TRNG/AES/GHASH/3DES*/ARC4*/RSA*/DSA*/SHA* |
rhomb.io Configuration | 2xUSB / 3xUART / SPI / 2xI2C / SDIO / QSPI / SAI / CAN / 7xINT / 4xPWM / up to 35xGPIO / 10xAD / 2xDAC* / ETHERNET / 24-bit RGB* |
MCU I/O | up to 172xI/O (10xPWM / up to 28xADC / up to 53xINT / CAN / SDIO / SAI / QSPI / RMII / RGB) |
Op. Voltage | 2.8 V / 3.3 V |
Op. Temperature | -40 ºC to +85 ºC |
User Interfaces
The user can choose wether this master module is supplied by a 3.3V or a 2.8V source simply by closing or opening the solder jumpers at the top-right corner of the module. 2.8V supply is recommended for applications requiring a lower power consumption.
There is a LED controlled by a PWM output pin of the controller for whatever the user might need, debugging, visual validation…
GPIO Expander
A GPIO Expander IC is used in this module so that all GPIO needed for Rhomb.io standard can be fullfilled. This IC is managed by the Renesas Synergy S7G2 through I2C1 I/F.
SDIO/QSPI Switching
Users can choose between SDIO or QSPI interfaces being active simply by setting P711 signal from the controller HIGH or LOW.
USB/OTG Switching
Users can choose between having the USB connected to the OTG or USB0 pins simply by setting P407 signal from the controller HIGH or LOW.
Connections
GPIO
The following table summarizes the GPIOs used on the Renesas Synergy master module.
Rhomb.io pinout | Port | Device |
---|---|---|
IO0 | P801 | Renesas MCU |
IO1 | P800 | Renesas MCU |
IO2 | P604 | Renesas MCU |
IO3 | P603 | Renesas MCU |
IO4 | P605 | Renesas MCU |
IO5 | P614 | Renesas MCU |
IO6 | P612 | Renesas MCU |
IO7 | P712 | Renesas MCU |
IO8 | P0_7 | I/O Expander |
IO9 | P0_6 | I/O Expander |
IO10 | P0_5 | I/O Expander |
IO11 | P0_4 | I/O Expander |
IO12 | P0_3 | I/O Expander |
IO13 | P0_2 | I/O Expander |
IO14 | P0_1 | I/O Expander |
IO15 | P0_0 | I/O Expander |
IO16 | P1_0 | I/O Expander |
IO17 | P1_1 | I/O Expander |
IO18 | P1_2 | I/O Expander |
IO19 | P1_3 | I/O Expander |
IO20 | P1_4 | I/O Expander |
IO21 | P1_5 | I/O Expander |
IO22 | P1_6 | I/O Expander |
IO23 | P1_7 | I/O Expander |
I/O signals managed by the I/O Expander can be controlled by the Renesas MCU through the I2C1 bus. I/O Expander P/N is PCAL6416AHF.
ANALOG
The following table summarizes the analog ports used on the Renesas Synergy master module.
Rhomb.io pinout | Signal (module) | Port |
---|---|---|
ADC | ||
AD0 | AN003 (ADC12) | P008 |
AD1 | AN101 (ADC12) | P005 |
AD2 | AN100 (ADC12) | P004 |
AD3 | AN102 (ADC12) | P006 |
AD4 | AN000 (ADC12) | P000 |
AD5 | AN002 (ADC12) | P002 |
AD6 | AN004 (ADC12) | P009 |
AD9 | AN001 (ADC12) | P001 |
DAC | ||
DAC0 | DA0/IVREF3 (DAC12) | P014 |
DAC1 | DA1/IVCMP1 (DAC12) | P015 |
COMP0 | ||
COMP0+ | PGAVSS100 (ADC12) | P007 |
COMP0- | PGAVSS000 (ADC12) | P003 |
PWM
The following table summarizes the PWM signals used on the Renesas Synergy master module.
Rhomb.io pinout | Signal (module) | Port | MUXED |
---|---|---|---|
PWM0 | GTIOC2A_B (GPT) | P713 | No |
PWM11 | GTIOC4B_A (GPT) | P301 | Yes |
PWM21 | GTIOC7B_A (GPT) | P303 | Yes |
PWM31 | GTIOC7A_A (GPT) | P304 | Yes |
IO72 | GTIOC2A_B (GPT) | P712 | Yes |
1PWM[1..3] are muxed, with LCD_G5, LCD_G7 and LCD_R0 respectively. In order to have them available, R9, R10 and R21 must be assembled. Special care must be taken when operating the board with this configuration.
2IO7 is routed and used as a standard GPIO, but it can actually be used as a PWM output.
INTERRUPTS
The following table summarizes the INTERRUPTS used on the Renesas Synergy master module. Please note that interrupts used in this module are not hardware interrupts, as all ports capable of being used hardware interrupt are in use under several different capabilities and interfaces.
Rhomb.io pinout | Port |
---|---|
INT0 | P710 |
INT1_MOD1 | P312 |
INT2_MOD2 | P611 |
INT3_MOD3 | P613 |
INT4 | P6131 |
INT5 | P6131 |
INT6 | P6131 |
1INT4, INT5 and INT6 are connected to INT3_MOD3 through independent 100k resistors due to not having enough IO ports available for interrupt use.
Serial interfaces
The following table indicates the available serial interfaces on the Rhomb.io standard and which of them are in use. The table also shows the nomenclature used on the Rhomb.io standard and its corresponding on the schematic.
Signal (Rhomb.io) | Signal (module) | Port | Signal (Rhomb.io) | Signal (module) | Port |
---|---|---|---|---|---|
I2C0 | SPI0 | ||||
I2C0_SDA | SDA3_A (SCI3) | P409 | SPI0_MISO | MISOA_B (SPI) | P410 |
I2C0_SCL | SCL3_A (SCI3) | P408 | SPI0_MOSI | MOSIA_B (SPI) | P411 |
I2C1 | SPI0_SCK | RSPCKA_B (SPI) | P412 | ||
I2C1_SDA | SDA2 (I2C) | P511 | SPI0_CS | SSLA0_B (SPI) | P413 |
I2C1_SCL | SCL2 (I2C) | P512 | SPI0_CS1 | SSLA1_B (SPI) | P414 |
UART0 | SPI0_CS2 | SSLA2_B (SPI) | P415 | ||
UART0_RXD | RXD7_A (SCI7) | P402 | USB01 | ||
UART0_TXD | TXD7_A (SCI7) | P401 | USB0_N | USB_DM (Through switch) | USB_DM |
UART1 | USB0_P | USB_DP (Through switch) | USB_DP | ||
UART1_RXD | RXD9_A (SCI9) | P202 | OTG1 | ||
UART1_TXD | TXD9_A (SCI9) | P203 | OTG_N | USB_DM (Through switch) | USB_DM |
QSPI2 | OTG_P | USB_DP (Through switch) | USB_DP | ||
QSPI0_IO0 | QIO0 (QSPI) | P502 | CAN0 | ||
QSPI0_IO1 | QIO1 (QSPI) | P503 | CAN0_RX | CRX1_A (CAN) | P110 |
QSPI0_IO2 | QIO2 (QSPI) | P504 | CAN0_TX | CTX1_A (CAN) | P109 |
QSPI0_IO3 | QIO3 (QSPI) | P505 | IrDa | ||
QSPI0_CLK | QSPCLK (QSPI) | P500 | IrDa_RX | RXD1_B (SCI1) | P708 |
QSPI0_CS0 | QSSL (QSPI) | P501 | IrDa_TX | TXD1_B (SCI1) | P709 |
I2S0 | |||||
I2S0_SDI | SSIDATA1_A3 (SSI) | P206 | I2S0_SDO | SSIDATA1_A3 (SSI) | P206 |
I2S0_SCLK | SSISCK_A (SSI) | P204 | I2S0_LRCK | SSIWS1_A (SSI) | P205 |
I2S0_CDCLK | AUDIO_CLK (SSI) | P400 |
1USB can be connected to the OTG or USB0 pins simply by setting P407 signal from the controller HIGH for OTG or LOW for USB0. Default: LOW
2QSPI can be alternated with SDIO by changing the state of P711 signal that actuates the analog switches splitting them to their respective connector’s pins. LOW state for SDIO, HIGH for QSPI. Default: LOW.
3SSIDATA1_A can be routed to either SDI or SDO depending on the assembly of R11 and R12. Default: SDO
The I2C pull-ups resistors should be mounted on the bus, otherwise, the I2C bus will not work. For more details, look at the module specifications for the Rhomb.io standard.
SDIO
The next table shows the nomenclature used on the schematic and its corresponding on the rhomb standard for the Secure Digital Input Output (SDIO) interface.
SDIO01 | ||
---|---|---|
Signal (Rhomb.io) | Signal (module) | Port |
SDIO0_CMD | SD1CMD (SDHI) | P501 |
SDIO0_CDn | SD1CD (SDHI) | P506 |
SDIO0_CLK | SD1CLK (SDHI) | P500 |
SDIO0_DATA0 | SD1DAT0 (SDHI) | P502 |
SDIO0_DATA1 | SD1DAT1 (SDHI) | P503 |
SDIO0_DATA2 | SD1DAT2 (SDHI) | P504 |
SDIO0_DATA3 | SD1DAT3 (SDHI) | P505 |
1SDIO can be alternated with QSPI by changing the state of P711 signal that actuates the analog switches splitting them to their respective connector’s pins. LOW state for SDIO, HIGH for QSPI. Default: LOW.
For more details, look at the module specifications for the Rhomb.io standard.
VIDEO
The next table shows the nomenclature used on the schematic and its corresponding on the rhomb standard for the video interface.
LCD | |||||
---|---|---|---|---|---|
Signal (Rhomb.io) | Signal (module) | Port | Signal (Rhomb.io) | Signal (module) | Port |
Control signals | 15-8 bit / Green data | ||||
LCD_HSYNC/HST/8bE | LCD_TCON1_A (GLCDC) | P103 | LCD_G0 | LCD_DATA08_A (GLCDC) | P115 |
LCD_CLK/VCK | LCD_CLK_A (GLCDC) | P101 | LCD_G1 | LCD_DATA09_A (GLCDC) | P114 |
LCD_VSYNC/VST/8bRS | LCD_TCON3_A (GLCDC) | P105 | LCD_G2 | LCD_DATA10_A (GLCDC) | P113 |
LCD_DEN/8bRW | LCD_TCON0_A (GLCDC) | P102 | LCD_G3 | LCD_DATA11_A (GLCDC) | P112 |
LCD_EXTCLK | LCD_EXTCLK_A (GLCDC) | P100 | LCD_G4 | LCD_DATA12_A (GLCDC) | P111 |
LCD_G5 | LCD_DATA13_A (GLCDC) | P301 | |||
LCD_G6 | LCD_DATA14_A (GLCDC) | P302 | |||
LCD_G7 | LCD_DATA15_A (GLCDC) | P303 | |||
23-16 bit / Red data | 7-0 bit / Blue data | ||||
LCD_R0 | LCD_DATA16_A (GLCDC) | P304 | LCD_B0 | LCD_DATA00_A (GLCDC) | P106 |
LCD_R1 | LCD_DATA17_A (GLCDC) | P305 | LCD_B1 | LCD_DATA01_A (GLCDC) | P107 |
LCD_R2 | LCD_DATA18_A (GLCDC) | P306 | LCD_B2 | LCD_DATA02_A (GLCDC) | P600 |
LCD_R3 | LCD_DATA19_A (GLCDC) | P307 | LCD_B3 | LCD_DATA03_A (GLCDC) | P601 |
LCD_R4 | LCD_DATA20_A (GLCDC) | P308 | LCD_B4 | LCD_DATA04_A (GLCDC) | P602 |
LCD_R5 | LCD_DATA21_A (GLCDC) | P309 | LCD_B5 | LCD_DATA05_A (GLCDC) | P610 |
LCD_R6 | LCD_DATA22_A (GLCDC) | P310 | LCD_B6 | LCD_DATA06_A (GLCDC) | P609 |
LCD_R7 | LCD_DATA23_A (GLCDC) | P311 | LCD_B7 | LCD_DATA07_A (GLCDC) | P608 |
Networking
The Rhomb.io Renesas Synergy master module has a 50MHz RMII interface available, which very interesting for potential projects that make use of networks, such as IoT applications.
The next table shows the nomenclature used on the schematic and its corresponding on the rhomb standard for the video interface.
RMII | ||
---|---|---|
Signal (Rhomb.io) | Signal (module) | Port |
RMII_MDC | ET1_MDC (RMII) | P403 |
RMII_MDIO | ET1_MDIO (RMII) | P404 |
RMII_TXD1 | RMII1_TXD1 (RMII) | P406 |
RMII_TXD0 | RMII1_TXD0 (RMII) | P700 |
RMII_RX_CLK | REF50CK1 (RMII) | P701 |
RMII_RXD0 | RMII1_RXD0 (RMII) | P702 |
RMII_RXD1 | RMII1_RXD1 (RMII) | P703 |
RMII_TX_EN | RMII1_TXD_EN (RMII) | P405 |
RMII_RX_DV | RMII1_CRS_DV (RMII) | P705 |
RMII_RX_ER | RMII1_RX_ER (RMII) | P704 |
Debug
Debugging is to be done by using the SWD interface, with the signals SWDIO and SWDCLK.
Rhomb.io pinout | Signal (module) | Port |
---|---|---|
JTAG.TMS/SWDIO | SWDIO | P108 |
JTAG.TCK/SWCLK | SWCLK | P300 |
Power
As per the supply lines used on the board, there is a summary on the next table.
Signal (Rhomb.io) | Signal (module) | Voltage (V) |
---|---|---|
Buck8 | 2V8 | 2.8 |
Buck9 | 3V3 | 3.3 |
VDD | VDD1 | 2.8 / 3.3 |
VIO_OUT | VIO_OUT2 | 2.8 / 3.3 |
AREF0 | VREFH03 | External |
AREF1 | VREFH3 | External |
1VDD voltage level can be selected through the solder jumpers on the board, 2.8V and 3.3V can be selected. It is the voltage at which the whole module is powered. 2.8V level recommenden for power efficient applications.
2VIO_OUT is a power output pin that sets the voltage level for slave modules to this master module. VIO_OUT level is the same as VDD.
3AREF0 and AREF1 are external power inputs that set the high voltage reference level of the analog converters.
For more details, look at the module specifications for the Rhomb.io standard.
Other signals
On the following table it is shown the remaining signals from the Rhomb.io module connectors standard,and other module-specific signals.
Signal (Rhomb.io) | Signal (module) | Port |
---|---|---|
CLK_32KHz | XCIN1 | XCIN |
RESET_OUT | Reset Output2 | P311 |
NMI | MD/NMI3 | P200/P201 |
RESET_IN | Reset Input | RES |
1-WIRE/SWP | 1-Wire Eeprom4 | Non-MCU |
USB_SW | USB Analog switch selector5 | P407 |
AS_1 | SDIO/QSPI Analog switch selector6 | P711 |
IOEXP_RST | I/O Expander Reset signal7 | P207 |
IOEXP_INT | I/O Expander Interrupt8 | P313 |
1This external 32.768kHz can be used on the module if instead of C1,C2 and Y1, R30 is assembled.
2GPIO assigned to output reset signal to any slave modules interfaced to this master module.
3Non-maskable interrupt request and mode setting pin. Pulled up by default for normal use, should be pulled down for SCI/USB boot mode.
41-Wire interface in order to read information from the on-module Eeprom memory.
5Setting USB_SW HIGH directs the USB bus to the OTG module pins, setting it LOW directs it to the USB0 module pins.
6Set AS_1 LOW state for SDIO interface, HIGH for QSPI interface. Software must be adapted so that the analog switch position matches the interface in use..
7GPIO assigned to output reset signal to I/O Expander IC interfaced to the Renesas MCU via I2C1 bus.
8GPIO assigned to read interrupt signal from the I/O Expander IC.
For more details, look at the module specifications for the Rhomb.io standard.
Getting started
Renesas, through its Synergy Gallery web platform (https://synergygallery.renesas.com), offers a wide variety of utilities, IDEs, documentation and everything you need to get started. You must create a (free) user account to access Synergy Gallery.
In this guide we will use the e2 Studio of Renesas, an Eclipse-based IDE, to make a basic example of blink (hello, world!). We will use a Helios board with a Renesas Synergy S7 module. You will also need a JTAG cable like the Segger J-Link or compatible.
Required hardware & software
- 1x Helios board (or any other Rhomb.io Class II/III board) (buy here)
- 1x Rhomb.io Synergy S7 Master Renesas Module (buy here)
- 1x JTAG cable type J-link by Segger
- 4x Jumper Wires (with Helios: 2x male-female and 2x male-male)
- Windows OS (tested with W8 and W10)
- e2 Studio >= 6.2
- SSP Framework (Synergy Software Package) >= 1.3.0
- JTAG drivers for windows
At the time of writing this tutorial, the Synergy platform does not offer official support for development from Linux/Mac systems or other editors than e2 Studio. In our case we have used Virtualbox on Debian 8 without major problems.
We will not use any USB cable to power the board, we will get the 5v power directly from the JTAG.
Caution! Do not attempt to USB-power a Rhomb.io board from Standard I with the Renesas modules, which meet Standard II. You can seriously damage the microcontroller.
Software Setup
Log in to renesas.com and create a free user account to download all the software (e2 Studio and SSP Framework) and generate a license file.
Renesas offers a PDF document called Basics of Renesas Synergy Platform that includes detailed information about the e2 Studio installation process, as well as lots of other information about the Synergy platform. It’s almost essential that you read it to understand the entire Renesas Synergy ecosystem.
After installation e2 Studio may has selected an incorrect version of the GNU Tools ARM Embedded. e2 Studio needs the 4.9 X and by default you may have the 5.4 X. Use the preferences (Window menu -> Preferences) to enable v4.9.
Clean the project every time you change the preferences (menu Project -> Clean).
Hardware Setup
To upload the code into the Synergy S7 we have used a Segger J-link with an ARM 20-PIN JTAG type connector (during this tutorial we will refer to this specific JTAG). Beware, not all JTAGs use the same connector with the same pin configuration. Make sure your JTAG uses the same combination of pins as shown below, or else find the equivalencies.
Look at this image to see the JTAG connection with the Helios Board.
The above image corresponds to the end of the JTAG cable connected to the J-Link. The pin configuration will be reversed at the other end of the JTAG, where we will connect the cables to the Helios board.
It will not be necessary to connect the USB cable of the board, the voltage is given by the JTAG. Remember, Renesas modules use Rhomb.io Standar II and should not be connected to PCBs with Standar I.
Create a new e2 Studio project
Open e2 Studio and create a new project of type Synergy C. The following window will appear:
We must select the specific model of our Synergy by Rhomb.io module. You can see the model number written on the silicon itself (with magnifying glass), probably corresponding to one of the following:
- Synergy S7 -> R7FS7627H2
- Synergy S5 -> R7FS5D97E2
- Synergy S3 -> R7FS3A77C2
The siliciums that mount the rhomb.io modules are 145 pins
In the next screen we are asked to select the initial configuration of the project, we will use the BSP to create a blank project.
Our project has been created and to continue you must select the Synergy perspective, if you have not done so when creating the project (a dialog asks you) you can do it by clicking the following button in the upper right corner of e2 Studio.
The Threads Configuration window of the Synergy perspective corresponds to the configuration.xml file in the project’s file explorer.
The module with the Rhomb.io Synergy S7 includes a led on pin 713 (port 7, pin 13). By default almost all pins are disabled, this means that if we try to give a HIGH/LOW pulse we will not get any results, for this we first have to configure that pin. In our case we want the 713 to be active as output (it doesn’t matter if HIGH or LOW). To do this we look for the PIN713 in the package window, double click on it and in the Pins tab we configure it as Output.
Before you continue, look for the “Generate Project Content” button inside the Threads Configuration window of the configuration.xml file to apply the changes we have made to pin 713.
Happy Coding!
Let’s add the code part that will make our blink. In the file explorer search for the src/hal_entry.c file, this file represents the main Thread of our application, called HAL/Common. We will add the following code:
#include "hal_data.h" void hal_entry (void) { bool enable = true; while (1) { // Pin 713 = IOPORT_PORT_07_PIN_13. // On C++, pinWrite doesn't allow a boolean param as sencod // argument (requires a data type ioport_level_t). // g_ioport is available here because our thread has that // component (r_ioport) added by default. See components tab in // the configuration.xml file. g_ioport.p_api->pinWrite(IOPORT_PORT_07_PIN_13, enable); isOn =! isOn; for (int i = 0; i < 1E6; i++) { } } }
The above example has been simplified, but obviously this code would work better with a timer. Alternatively you can also use `tx_thread_sleep(1000);` to insert a delay instead of the for loop.
We can add more threads to our application from the configuration.xml file, and each thread will have its input file. Threads, thanks to the synergy RTOS model, are tasks that run in parallel, this means, roughly speaking, that your single core microcontroller will be able to do 2 or more things at a time (at human-eye sight).
Compile the code with the hammer button . Once done, use the debug
button to load the code into the microcontroller. This will give us a debug view of Eclipse. Once it is loaded you will see that the microcontroller does nothing, press the button
a couple of times in this same perspective to finish the loading process. Once done, the LED should flash. To exit debug view, press the
button and then press the button
to switch to Synergy perspective.
Conclusions
The Synergy platform works with Logic Express’s RTOS ThreadX operating system as well as his own libraries (SSP). The possibilities of ThreadX along with the Renesas libraries are enormous and could fill hundreds of books.
Renesas, with its e2 Studio, includes the ThreadX system through a graphical interface inside the Eclipse (e2 Studio). This same GUI also generates the necessary code for our application depending on what we want to do. There are probably people who don’t like the idea that a graphical interface generates the source code, we included, but in our tests we have been able to verify that the GUI of e2 Studio is really useful and very stable, and of course you can always work writting code instead of using the GUI.
Mechanical specifications
Board
Warranty
- Precaution against Electrostatic Discharge. When handling Rhomb.io products, ensure that the environment is protected against static electricity. Follow the next recommendations:
- The users should wear anti-static clothing and use earth band when manipulating the device.
- All objects that come in direct contact with devices should be made of materials that do not produce static electricity that would cause damage.
- Equipment and work table must be earthed.
- Ionizer is recommended to remove electron charge.
- Contamination. Be sure to use semiconductor products in the environment that may not be exposed to dust or dirt adhesion.
- Temperature/Humidity. Semiconductor devices are sensitive to environment temperature and humidity. High temperature or humidity may deteriorate semiconductor devices characteristics. Therefore avoid storage or usage in such conditions.
- Mechanical Shock. Care should be exercised not to apply excessive mechanical shock or force on the connectors and semiconductors devices.
- Chemical. Do not expose semiconductor device to chemical because reaction to chemical may cause deterioration of device characteristics.
- Light Protection. In case of non-EMC (Epoxy Molding Compound) package, do not expose semiconductor IC to strong light. It may cause devices malfunction. Some special products which utilize the light or have security function are excepted from this specification.
- Radioactive, Cosmic and X-ray. Semiconductor devices can be influenced by radioactive, cosmic ray or X-ray. Radioactive, cosmic and X-ray may cause soft error during device operation. Therefore semiconductor devices must be shielded under environment that may be exposed to radioactive, cosmic ray or X-ray.
- EMS (Electromagnetic Susceptibility). Note that semiconductor devices characteristics may be affected by strong electromagnetic waves or magnetic field during operation.
Disclaimer
Rhomb.io reserves the right to make corrections, enhancements, improvements and other changes to its products and services, and to discontinue any product or service. Buyers should obtain the latest relevant information before placing orders and should verify that such information is current and complete. All the hardware products are sold subject to the Rhomb.io terms and conditions of sale supplied at the time of order acknowledgment.
All brand names, trademarks and registered trademarks belong to their respective owners.
We are constantly striving to improve the quality of our technical notes. If you find an error or omission please let us know.
Email us at: info@rhomb.io