Jim Mussared
cf32c2feb5
|
1 year ago | |
---|---|---|
.. | ||
boards | 1 year ago | |
fsp_cfg | 1 year ago | |
lwip_inc | 1 year ago | |
mbedtls | 1 year ago | |
ra | 1 year ago | |
Makefile | 1 year ago | |
RA4M1_hal.h | 1 year ago | |
RA4W1_hal.h | 1 year ago | |
RA6M1_hal.h | 1 year ago | |
RA6M2_hal.h | 1 year ago | |
RA6M5_hal.h | 1 year ago | |
README.md | 1 year ago | |
boardctrl.c | 3 years ago | |
boardctrl.h | 2 years ago | |
build_all_boards.sh | 2 years ago | |
extint.c | 2 years ago | |
extint.h | 3 years ago | |
factoryreset.c | 3 years ago | |
factoryreset.h | 3 years ago | |
fatfs_port.c | 3 years ago | |
flash.c | 3 years ago | |
flash.h | 3 years ago | |
flashbdev.c | 1 year ago | |
gccollect.c | 2 years ago | |
gccollect.h | 3 years ago | |
help.c | 1 year ago | |
irq.c | 3 years ago | |
irq.h | 1 year ago | |
led.c | 2 years ago | |
led.h | 3 years ago | |
machine_adc.c | 2 years ago | |
machine_dac.c | 1 year ago | |
machine_i2c.c | 2 years ago | |
machine_pin.c | 2 years ago | |
machine_pwm.c | 1 year ago | |
machine_rtc.c | 2 years ago | |
machine_sdcard.c | 1 year ago | |
machine_spi.c | 1 year ago | |
machine_uart.c | 2 years ago | |
main.c | 1 year ago | |
modmachine.c | 1 year ago | |
modmachine.h | 2 years ago | |
modos.c | 1 year ago | |
modtime.c | 1 year ago | |
mpbthciport.c | 1 year ago | |
mpbthciport.h | 1 year ago | |
mpconfigboard_common.h | 1 year ago | |
mpconfigport.h | 1 year ago | |
mpconfigport.mk | 3 years ago | |
mphalport.c | 1 year ago | |
mphalport.h | 1 year ago | |
mpnetworkport.c | 1 year ago | |
mpnimbleport.c | 1 year ago | |
mpnimbleport.h | 1 year ago | |
mpthreadport.c | 1 year ago | |
mpthreadport.h | 3 years ago | |
pendsv.c | 3 years ago | |
pendsv.h | 3 years ago | |
pin.h | 3 years ago | |
powerctrl.c | 1 year ago | |
powerctrl.h | 3 years ago | |
powerctrlboot.c | 3 years ago | |
pybthread.c | 3 years ago | |
pybthread.h | 3 years ago | |
qstrdefsport.h | 1 year ago | |
ra_hal.c | 1 year ago | |
ra_it.c | 3 years ago | |
ra_it.h | 3 years ago | |
rng.c | 1 year ago | |
rng.h | 1 year ago | |
rtc.h | 3 years ago | |
spi.h | 1 year ago | |
storage.c | 2 years ago | |
storage.h | 3 years ago | |
systick.c | 2 years ago | |
systick.h | 3 years ago | |
timer.c | 2 years ago | |
timer.h | 3 years ago | |
uart.c | 1 year ago | |
uart.h | 2 years ago | |
usbd.c | 1 year ago | |
usrsw.c | 2 years ago | |
usrsw.h | 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 nativemachine.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 isarm-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 theCROSS_COMPILE
variable when invokingmake
. -
Protocol buffer compiler Building for the
ARDUINO_PORTENTA_C33
board will build theesp_hosted
driver, that depends on the Protocol Buffer Compiler being installed. On Debian/Ubuntu, this can be installed withsudo 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 toBOARD=
; for exampleRA4M1_CLICKER
,EK_RA4M1
,EK_RA4W1
andEK_RA6M1
. The above command should produce binary imagesfirmware.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.