You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Takeo Takahashi 81049edf7c renesas-ra/ra/ra_i2c: Fix 1 byte and 2 bytes read issue. 9 months ago
..
boards all: Update bindings, ports and tests for mbedtls v3.5.1. 9 months ago
fsp_cfg renesas-ra/fsp_cfg: Add common FSP config files. 1 year ago
lwip_inc renesas-ra: Tune lwip buffers and timing to improve network performance. 1 year ago
mbedtls all: Update bindings, ports and tests for mbedtls v3.5.1. 9 months ago
ra renesas-ra/ra/ra_i2c: Fix 1 byte and 2 bytes read issue. 9 months ago
Makefile ports: Switch build to use common lib/libm list of source files. 11 months ago
RA4M1_hal.h renesas-ra: Add support for RA6M5, and add machine PWM, DAC, SDCard. 1 year ago
RA4W1_hal.h renesas-ra: Add support for RA6M5, and add machine PWM, DAC, SDCard. 1 year ago
RA6M1_hal.h renesas-ra: Add support for RA6M5, and add machine PWM, DAC, SDCard. 1 year ago
RA6M2_hal.h renesas-ra: Add support for RA6M5, and add machine PWM, DAC, SDCard. 1 year ago
RA6M5_hal.h renesas-ra: Add support for RA6M5, and add machine PWM, DAC, SDCard. 1 year ago
README.md renesas-ra/boards/ARDUINO_PORTENTA_C33: Add support for Portenta C33. 1 year ago
boardctrl.c renesas-ra: Add new port to Renesas RA. 3 years ago
boardctrl.h renesas-ra/modmachine: Allow boards to provide custom bootloader code. 2 years ago
build_all_boards.sh renesas-ra: Change MICROPY_HW_BOARD_NAME definition to product name. 2 years ago
extint.c py/obj: Convert make_new into a mp_obj_type_t slot. 2 years ago
extint.h renesas-ra: Add new port to Renesas RA. 3 years ago
factoryreset.c renesas-ra: Add new port to Renesas RA. 3 years ago
factoryreset.h renesas-ra: Add new port to Renesas RA. 3 years ago
fatfs_port.c renesas-ra: Add new port to Renesas RA. 3 years ago
flash.c renesas-ra: Add new port to Renesas RA. 3 years ago
flash.h renesas-ra: Add new port to Renesas RA. 3 years ago
flashbdev.c renesas-ra: Add support for RA6M5, and add machine PWM, DAC, SDCard. 1 year ago
gccollect.c renesas-ra/softtimer: Switch to use softtimer code from shared/runtime. 2 years ago
gccollect.h renesas-ra: Add new port to Renesas RA. 3 years ago
help.c ports: Standardise docs link in help text. 1 year ago
irq.c renesas-ra: Add new port to Renesas RA. 3 years ago
irq.h ports: Move definitions of ATOMIC_SECTION macros to mphalport.h. 11 months ago
led.c py/obj: Convert make_new into a mp_obj_type_t slot. 2 years ago
led.h renesas-ra: Add new port to Renesas RA. 3 years ago
machine_adc.c extmod/machine_adc: Factor ports' ADC Python bindings to common code. 1 year ago
machine_dac.c renesas-ra: Add support for RA6M5, and add machine PWM, DAC, SDCard. 1 year ago
machine_i2c.c renesas-ra: Consolidate MICROPY_PY_MACHINE_I2C option. 11 months ago
machine_pin.c renesas-ra/boards/make-pins.py: Update to use tools/boardgen.py. 1 year ago
machine_pwm.c extmod/machine_pwm: Remove header file and move decls to .c file. 1 year ago
machine_rtc.c extmod/modmachine: Clean up decls of machine types to use common ones. 1 year ago
machine_sdcard.c renesas-ra: Add support for RA6M5, and add machine PWM, DAC, SDCard. 1 year ago
machine_spi.c extmod/modmachine: Consolidate mem, i2c and spi headers to modmachine.h. 1 year ago
machine_uart.c extmod/machine_uart: Factor ports' UART Python bindings to common code. 1 year ago
main.c extmod/modmachine: Clean up decls of machine types to use common ones. 1 year ago
modmachine.c extmod/modmachine: Provide common bindings for 6 bare-metal functions. 11 months ago
modmachine.h extmod/modmachine: Provide common bindings for 6 bare-metal functions. 11 months ago
modos.c extmod/modmachine: Clean up decls of machine types to use common ones. 1 year ago
modtime.c all: Rename *umodule*.c to remove the "u" prefix. 1 year ago
mpbthciport.c extmod/modmachine: Clean up decls of machine types to use common ones. 1 year ago
mpbthciport.h renesas-ra: Add Bluetooth support using NimBLE. 1 year ago
mpconfigboard_common.h renesas-ra: Consolidate MICROPY_PY_MACHINE_I2C option. 11 months ago
mpconfigport.h ports: Move MICROPY_PY_LWIP_ENTER/REENTER/EXIT defns to mphalport.h. 10 months ago
mpconfigport.mk renesas-ra: Add new port to Renesas RA. 3 years ago
mphalport.c ports: Fix sys.stdout.buffer.write() return value. 11 months ago
mphalport.h ports: Move MICROPY_PY_LWIP_ENTER/REENTER/EXIT defns to mphalport.h. 10 months ago
mpnetworkport.c renesas-ra: Tune lwip buffers and timing to improve network performance. 1 year ago
mpnimbleport.c renesas-ra: Add Bluetooth support using NimBLE. 1 year ago
mpnimbleport.h renesas-ra: Add Bluetooth support using NimBLE. 1 year ago
mpthreadport.c py/modthread: Return thread id from start_new_thread(). 1 year ago
mpthreadport.h renesas-ra: Add new port to Renesas RA. 3 years ago
pendsv.c renesas-ra: Add new port to Renesas RA. 3 years ago
pendsv.h renesas-ra: Add new port to Renesas RA. 3 years ago
pin.h renesas-ra/boards/make-pins.py: Update to use tools/boardgen.py. 1 year ago
powerctrl.c extmod/modmachine: Provide common bindings for 6 bare-metal functions. 11 months ago
powerctrl.h extmod/modmachine: Provide common bindings for 6 bare-metal functions. 11 months ago
powerctrlboot.c renesas-ra: Add new port to Renesas RA. 3 years ago
pybthread.c renesas-ra: Add new port to Renesas RA. 3 years ago
pybthread.h renesas-ra: Add new port to Renesas RA. 3 years ago
qstrdefsport.h all: Rename mod_umodule*, ^umodule* to remove the "u" prefix. 1 year ago
ra_hal.c renesas-ra: Consolidate hal_entry.c code and remove hal_entry() func. 1 year ago
ra_it.c renesas-ra: Add new port to Renesas RA. 3 years ago
ra_it.h renesas-ra: Add new port to Renesas RA. 3 years ago
rng.c renesas-ra: Add RNG driver. 1 year ago
rng.h renesas-ra: Add RNG driver. 1 year ago
rtc.h extmod/modmachine: Clean up decls of machine types to use common ones. 1 year ago
spi.h renesas-ra: Add support for RA6M5, and add machine PWM, DAC, SDCard. 1 year ago
storage.c py/obj: Convert make_new into a mp_obj_type_t slot. 2 years ago
storage.h renesas-ra: Add new port to Renesas RA. 3 years ago
systick.c renesas-ra/softtimer: Switch to use softtimer code from shared/runtime. 2 years ago
systick.h renesas-ra: Add new port to Renesas RA. 3 years ago
timer.c py/obj: Convert make_new into a mp_obj_type_t slot. 2 years ago
timer.h renesas-ra: Add new port to Renesas RA. 3 years ago
uart.c renesas-ra: Add TinyUSB support. 1 year ago
uart.h extmod/modmachine: Clean up decls of machine types to use common ones. 1 year ago
usbd.c shared/tinyusb: Add a helper for hex string conversion. 12 months ago
usrsw.c py/obj: Convert make_new into a mp_obj_type_t slot. 2 years ago
usrsw.h renesas-ra: Add new port to Renesas RA. 3 years ago

README.md

The Renesas RA port

This is a port of MicroPython to the Renesas RA family of microcontrollers. Currently supported features are:

  • Filesystem on the internal flash using FatFs.
  • time module with sleep, time, and ticks functions.
  • os module with VFS support.
  • machine module with the following classes: Pin, ADC, PWM, DAC, I2C, SPI, SoftI2C, SoftSPI, UART, RTC, SDCard.
  • sdcard module for MCUs without native machine.SDCard support.

Currently supported board product names are:

  • EK-RA6M2
  • RA4M1 CLICKER
  • EK-RA6M1
  • EK-RA4M1
  • EK-RA4W1

Please refer to the quick reference of renesas-ra port for more information about the boards.

Build instructions

  • MicroPython cross-compier The MicroPython cross-compiler must be built first, which will be used to pre-compile (freeze) built-in Python code. THis cross-compiler is built and run on the host machine, using:

    $ make -C mpy-cross
    

    This command should be executed from the root directory of this repository. All other commands below should be executed from the ports/renesas-ra/ directory.

  • Arm compiler An Arm compiler is required for the build, along with the associated binary utilities. The default compiler is arm-none-eabi-gcc, which is available for Linux, Mac and Windows hosts via https://developer.arm.com/downloads/-/arm-gnu-toolchain-downloads. The compiler can be changed using the CROSS_COMPILE variable when invoking make.

  • Protocol buffer compiler Building for the ARDUINO_PORTENTA_C33 board will build the esp_hosted driver, that depends on the Protocol Buffer Compiler being installed. On Debian/Ubuntu, this can be installed with sudo apt-get install protobuf-compiler.

  • Obtain submodules First the submodules must be obtained using:

    $ make submodules
    
  • Build binary image .hex Then to build for a given board subdirectory name, run:

    $ make BOARD=EK_RA6M2 clean
    $ make BOARD=EK_RA6M2
    

    The default board subdirectory name is EK_RA6M2 (which is for EK-RA6M2 board) but any of the names of the subdirectories in the boards/ directory can be passed as the argument to BOARD=; for example RA4M1_CLICKER, EK_RA4M1, EK_RA4W1 and EK_RA6M1. The above command should produce binary images firmware.hex in the build-EK_RA6M2/` subdirectory (or the equivalent directory for the board specified).

Supported/Unsupprted funtions

Please refer to the renesas-ra quick reference.

Known issues

all boards

  • machine.lightsleep(time_ms) and machine.deepsleep(time_ms) raise uncaught exceptions.

    machine.deepsleep(1000) Uncaught exception in ExtInt interrupt handler line 16 TypeError:

RA4M1-CLICKER

  • mpremote: mount command is not available due to limited memory resources.

EK-RA4M1

  • mpremote: mount command is not available due to limited memory resources.

EK-RA4W1

  • mpremote: "Execution: timeout waiting for remote" error happens when importing a file on /remote.