SkillAgentSearch skills...

RX

Renesas RX Microcontroller, C++ framework, Library, Sample

Install / Use

/learn @hirakuni45/RX
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

Renesas RX Microcontroller

R5F564ML

Japanese

Overview

This is a program by Renesas RX microcontroller and its compiler rx-elf-gcc, g++.
I am currently using Renesas GNU-RX gcc 8.3.0 as my main development tool.
GNU-RX supports RXv3 and DFPU, and has excellent optimization.

Currently, a dedicated writing program has been implemented that has been tested on Windows, OS-X, and Linux.
Development is now possible in multiple environments.

Currently supported and tested devices:
|Series|MinV|MaxV|MHz|Core|FPU|TFU|DFPU|Operation check|rx_prog|Linker file| |---|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|---| |RX110|1.8|3.6|32|RXv1|-|-|-|||R5F51103/4/5| |RX111|1.8|3.6|32|RXv1|-|-|-|||R5F51115/6/7| |RX113|1.8|3.6|32|RXv1|-|-|-|||R5F51136/8| |RX130|1.8|5.5|32|RXv1|-|-|-|||R5F51305/6| |RX140|1.8|5.5|48|RXv2|Yes|-|-|〇|〇|R5F51403/5/6| |RX13T|2.7|5.5|32|RXv1|Yes|-|-|||R5F513T3/5| |RX210|1.62|5.5|32|RXv1|-|-|-|||R5F52108/B| |RX220|1.62|5.5|32|RXv1|-|-|-|〇|〇|R5F52206| |RX231|1.8|5.5|54|RXv2|Yes|-|-|〇|〇|R5F52316/7/8| |RX23W|1.8|5.5|54|RXv2|Yes|-|-|||R5F523W7/8| |RX23T|2.7|5.5|40|RXv2|Yes|-|-|||R5F523T5| |RX24T|2.7|5.5|80|RXv2|Yes|-|-|〇|〇|R5F524T8/A| |RX24U|2.7|5.5|80|RXv2|Yes|-|-|||R5F524UB/E| |RX261|1.6|5.5|64|RXv3|Yes|ー|ー|||R5F52618| |RX26T|2.7|5.5|120|RXv3|Yes|V2|ー|〇|〇|R5F526TF| |RX621|2.7|3.6|100|RXv1|Yes|-|-|〇|〇|R5F56218| |RX62N|2.7|3.6|100|RXv1|Yes|-|-|〇|〇|R5F562N7/8| |RX631|2.7|3.6|100|RXv1|Yes|-|-|〇|〇|R5F5631F| |RX63N|2.7|3.6|100|RXv1|Yes|-|-|〇|〇|R5F563NE| |RX63T|3.3|5|100|RXv1|Yes|-|-|〇|〇|R5F563T6| |RX64M|2.7|3.6|120|RXv2|Yes|-|-|〇|〇|R5F564MF/G/J/L| |RX71M|2.7|3.6|240|RXv2|Yes|-|-|〇|〇|R5F571MF/G/J/L| |RX651|2.7|3.6|120|RXv2|Yes|-|-|〇|〇|R5F5651E| |RX65N|2.7|3.6|120|RXv2|Yes|-|-|〇|〇|R5F565NE| |RX66N|2.7|3.6|120|RXv3|Yes|V1|Yes|||R5F566ND/N| |RX660|2.7|5.5|120|RXv3|Yes|-|-|||R5F56609| |RX671|2.7|5.5|120|RXv3|Yes|-|-|||R5F5671C/E| |RX72N|2.7|3.6|240|RXv3|Yes|V1|Yes|〇|△|R5F572ND/N| |RX72M|2.7|3.6|240|RXv3|Yes|V1|Yes|△|△|R5F572MD/N| |RX66T|2.7|5.5|160|RXv3|Yes|-|-|〇|〇|R5F566TA/E/F/K| |RX72T|2.7|5.5|200|RXv3|Yes|V1|-|〇|〇|R5F572TF/K|

  • The directory structure is updated daily.
  • Some features are still under construction.
  • The project consists of a Makefile and related headers and source code, and includes dedicated startup routines and linker scripts.

Please make a request if you want us to support other RX devices. (Conditions below)

  • Become a support member of hirakuni45 GitHub.
  • Lend us a board with the RX microcontroller you are requesting support for.
  • You agree to release newly added files related to the RX microcontroller under the MIT license.

If you do not know how to use the framework

  • Create a GitHub account and post in Discussions.
  • You can also become a support member to get extensive support.

If you have a problem with the framework or need a fix, please create a Github account and post a note in Discussions.

  • Create a Github account and post in Issues.
  • If you have a modification request, post it in Discussions.
  • If you have a pull request, please write the contents in Issues and Discussions in advance.

<img src="docs/RTK5_side.jpg" width="40%"> <img src="docs/NES_001.jpg" width="40%">
Space Invaders Emulator, NES Emulator, for RX65N/RX72N Envision kit
<img src="docs/AudioPlayer.jpg" width="40%"> <img src="docs/Filer.jpg" width="40%">
WAV/MP3 Audio Player, File selector, for RX65N/RX72N Envision kit
<img src="docs/calc_gui0.jpg" width="40%"> <img src="docs/SYNTH_sample.jpg" width="40%">
functional calculator, DX7 Emulator

<a href="http://www.youtube.com/watch?v=frRI-cbzGus" target="_blank"><img src="http://img.youtube.com/vi/frRI-cbzGus/0.jpg" width="40%" alt="YouTube Link for 'frRI-cbzGus'"></a>
YouTube: NES Emulator for RX65N Envision kit

Device control classes with template design patterns provide flexible and concise functionality.
Due to its functionality, it does not require difficult or complicated settings or code generation by separate programs.

// LED flashing program
#include "common/renesas.hpp"

namespace {
//  typedef device::PORT<device::PORT0, device::bitpos::B7> LED;  // LED connection port, Active HIGH
    typedef device::PORT<device::PORT0, device::bitpos::B7, false> LED;  // LED connection port, Active LOW
}

int main(int argc, char** argv);

int main(int argc, char** argv)
{
    SYSTEM_IO::boost_master_clock();

    LED::OUTPUT();
    while(1) {
        utils::delay::milli_second(250);
        LED::P = 1;
        utils::delay::milli_second(250);
        LED::P = 0;
    }
}

In order to complete the process from dependency rule generation to compilation and linking, usually with a single "make" command, I do not need it.
No need for a dedicated boot program or loader I can write and execute.
For development, we recommend using "Visual Studio Code" that can be used on multiple platforms.


RX Project, Library List

  • For device I/O operations, dedicated headers are provided utilizing template class libraries implemented in C++.
  • We also provide a full set of utilities and class libraries.

|directory|contents| |---|---| |all_project_build.sh|build all projects (shell script) | |/RX110|RX110 specific device definition class, linker script| |/RX111|RX111 specific device definition class, linker script| |/RX130|RX130 specific device definition class, linker script| |/RX13T|RX13T specific device definition class, linker script| |/RX140|RX140 specific device definition class, linker script| |/RX210|RX210 specific device definition class, linker script| |/RX220|RX220 specific device definition class, linker script| |/RX231|RX231 specific device definition class, linker script| |/RX23W|RX23W specific device definition class, linker script| |/RX23T|RX23T specific device definition class, linker script| |/RX24T|RX24T specific device definition class, linker script| |/RX24U|RX24U specific device definition class, linker script| |/RX26x|RX260/RX261 specific device definition class, linker script| |/RX26T|RX26T specific device definition class, linker script| |/RX62x|RX621/RX62N dedicated device definition class, linker script| |/RX63x|RX631/RX63N specific device definition class, linker script| |/RX63T|RX63T specific device definition class, linker script| |/RX64M|RX64M dedicated device definition class, linker script| |/RX65x|RX651/RX65N specific device definition class, linker script| |/RX660|RX660 specific device definition class, linker script| |/RX66N|RX66N specific device definition class, linker script| |/RX66T|RX66T dedicated device definition class, linker script| |/RX671|RX671 specific device definition class, linker script| |/RX71M|RX71M dedicated device definition class, linker script| |/RX72N|RX72N dedicated device definition class, linker script| |/RX72M|RX72M dedicated device definition class, linker script| |/RX72T|RX72T dedicated device definition class, linker script| |/RX600|RX microcontroller common device definition class| |/common|shared classes, headers, etc.| |/rxlib|zlib, png, mad, gmp, mpfr libraries| |/FreeRTOS|FreeRTOS for various RX microcontrollers and simple samples| |/ff14|ChaN's fatfs source code and handler for RX microcontrollers| |/chip|various device specific control driver libraries such as I2C, SPI, etc| |/graphics|Graphics drawing related classes| |/gui|Graphics user interface related classes (GUI Widget)| |/sound|sound and audio related classes| |/usb|USB handler, manage class| |/tinyusb|TinyUSB source code| |/rxprog|RX microcontroller, Flash program writing tool (for Windows, OS-X, Linux) |LICENSE|license description file|


Sample Projects (Applications)

|Directory|RX220|RX631|RX63T|RX62N|RX24T|RX66T|RX72T|RX64M|RX71M|RX65N|RX72N|Contents| |---------|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|---| |/FIRST_sample|〇|〇|〇|〇|〇|〇|〇|〇|〇|〇|〇|LED blinking Sample Program| |/SCI_sample|〇|〇|〇|〇|〇|〇|〇|〇|〇|〇|〇|serial communication Sample Program| |/MTU_sample|-|-|-|〇|〇|〇|〇|〇|〇|〇|〇|Multi-Function Timer Pulse Unit Sample Program| |/CAN_sample|-|〇|-|〇|-|〇|〇|〇|〇|△|〇|CAN Communication Sample Program| |/FLASH_sample|-|-|-|-|〇|〇|〇|〇|〇|〇|〇|Internal data flash operation sample| |/FreeRTOS|〇|〇|-|〇|〇|〇|〇|〇|〇|〇|〇|FreeRTOS Basic operation sample| |/GPTW_sample|-|-|-|-|△|〇|〇|-|-|△|〇|GPTW PWM Sample Program| |/I2C_sample|〇|〇|-|〇|〇|〇|〇|〇|〇|〇|〇|I2C Device Access Sample| |/RAYTRACER_sample|-|〇|-|〇|〇|〇|〇|〇|〇|〇|〇|Ray Tracing Benchmark| |/SDCARD_sample|-|-|-|-|〇|〇|〇|〇|△|〇|〇|SD Card Operation Sample| |/SIDE_sample|-|-|-|-|-|-|-|-|-|〇|〇|Envision Kit, Space Invaders emulator| |/NESEMU_sample|-|-|-|-|-|-|-|-|-|〇|〇|Envision Kit, NES emulator| |/GUI_sample|-|-|-|-|-|-|-|-|-|〇|〇|GUI Sample、Graphics User Interface (Soft rendering, using DRW2D engine)| |/AUDIO_sample|-|-|-|-|-|-|-|〇|△|〇|〇|MP3/WAV Audio Player (FreeRTOS)| |/SYNTH_sample|-|-|-|-|〇|〇|〇|〇|〇|〇|〇|FM sound synthesizer emulator| |[/CALC_sam

View on GitHub
GitHub Stars81
CategoryDevelopment
Updated2d ago
Forks26

Languages

C++

Security Score

100/100

Audited on Apr 4, 2026

No findings