Skip to content

Commit d27b83e

Browse files
authored
Add renesas RA6M5 (#390)
* Add renesas RA6M5 * Fix * Avoid toolchain
1 parent 15bbb21 commit d27b83e

File tree

11 files changed

+91
-19
lines changed

11 files changed

+91
-19
lines changed

README.md

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ This ROS 2 package is the entry point for building micro-ROS apps for different
44
- [Supported platforms](#supported-platforms)
55
- [Standalone build system tools](#standalone-build-system-tools)
66
- [Dependencies](#dependencies)
7-
- [Quick Start](#quick-start)
7+
- [Quick start](#quick-start)
88
- [Building](#building)
99
- [Creating micro-ROS firmware](#creating-micro-ros-firmware)
1010
- [Configuring micro-ROS firmware](#configuring-micro-ros-firmware)
@@ -20,23 +20,23 @@ This ROS 2 package is the entry point for building micro-ROS apps for different
2020

2121
This package is the **official build system for micro-ROS**. It provides tools and utils to crosscompile micro-ROS with just the common ROS 2 tools for these platforms:
2222

23-
| RTOS | Platform | Version | Example |
24-
| ---------------------------------------- | ---------------------------------------------------------------------------------------------------- | -------------------- | ---------------------------- |
25-
| [FreeRTOS](https://www.freertos.org/) | [Olimex STM32-E407](https://www.olimex.com/Products/ARM/ST/STM32-E407/open-source-hardware) | STM32CubeMX latest | `freertos olimex-stm32-e407` |
26-
| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F446RE](https://www.st.com/en/evaluation-tools/nucleo-f446re.html) <sup>1</sup> | STM32CubeMX latest | `freertos nucleo_f446re` |
27-
| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F446ZE](https://www.st.com/en/evaluation-tools/nucleo-f446ze.html) <sup>1</sup> | STM32CubeMX latest | `freertos nucleo_f446ze` |
28-
| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F746ZG](https://www.st.com/en/evaluation-tools/nucleo-f746zg.html) <sup>1</sup> | STM32CubeMX latest | `freertos nucleo_f746zg` |
29-
| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F767ZI](https://www.st.com/en/evaluation-tools/nucleo-f746zg.html) <sup>1</sup> | STM32CubeMX latest | `freertos nucleo_f767zi` |
30-
| [FreeRTOS](https://www.freertos.org/) | [Espressif ESP32](https://www.espressif.com/en/products/socs/esp32/overview) | v8.2.0 | `freertos esp32` |
31-
| [FreeRTOS](https://www.freertos.org/) | [Crazyflie 2.1](https://www.bitcraze.io/crazyflie-2-1/) | v10.2.1 - CF 2020.06 | `freertos crazyflie21` |
32-
| [Zephyr](https://www.zephyrproject.org/) | [Olimex STM32-E407](https://www.olimex.com/Products/ARM/ST/STM32-E407/open-source-hardware) | v2.6.0 | `zephyr olimex-stm32-e407` |
33-
| [Zephyr](https://www.zephyrproject.org/) | [ST Nucleo F446RE](https://www.st.com/en/evaluation-tools/nucleo-f446re.html) <sup>1</sup> | v2.6.0 | `zephyr nucleo_f446re` |
34-
| [Zephyr](https://www.zephyrproject.org/) | [ST B-L475E-IOT01A](https://docs.zephyrproject.org/latest/boards/arm/disco_l475_iot1/doc/index.html) | v2.6.0 | `zephyr discovery_l475_iot1` |
35-
| [Zephyr](https://www.zephyrproject.org/) | [ST Nucleo H743ZI](https://www.st.com/en/evaluation-tools/nucleo-h743zi.html) <sup>1</sup> | v2.6.0 | `zephyr nucleo_h743zi` |
36-
| [Zephyr](https://www.zephyrproject.org/) | [Zephyr emulator](https://docs.zephyrproject.org/2.3.0/boards/posix/native_posix/doc/index.html) | v2.6.0 | `zephyr host` |
37-
| [Mbed](https://os.mbed.com/) | [ST B-L475E-IOT01A](https://os.mbed.com/platforms/ST-Discovery-L475E-IOT01A/) | v6.6 | `mbed disco_l475vg_iot01a` |
38-
| - | Static library (.a) and headers (.h) <sup>3</sup> | - | `generate_lib` |
39-
| Linux | *Host <sup>2</sup>* | Ubuntu 18.04/20.04 | `host` |
23+
| RTOS | Platform | Version | Example |
24+
| ------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- | ---------------------------- |
25+
| [Azure RTOS](https://azure.microsoft.com/es-es/services/rtos/) / [FreeRTOS](https://www.freertos.org/) / Bare metal | [Renesas RA6M5](https://www.renesas.com/us/en/products/microcontrollers-microprocessors/ra-cortex-m-mcus/ra6m5-200mhz-arm-cortex-m33-trustzone-highest-integration-ethernet-and-can-fde) | Renesas e<sup>2</sup> studio | `renesas_ra ra6m5` |
26+
| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F446RE](https://www.st.com/en/evaluation-tools/nucleo-f446re.html) <sup>1</sup> | STM32CubeMX latest | `freertos nucleo_f446re` |
27+
| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F446ZE](https://www.st.com/en/evaluation-tools/nucleo-f446ze.html) <sup>1</sup> | STM32CubeMX latest | `freertos nucleo_f446ze` |
28+
| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F746ZG](https://www.st.com/en/evaluation-tools/nucleo-f746zg.html) <sup>1</sup> | STM32CubeMX latest | `freertos nucleo_f746zg` |
29+
| [FreeRTOS](https://www.freertos.org/) | [ST Nucleo F767ZI](https://www.st.com/en/evaluation-tools/nucleo-f746zg.html) <sup>1</sup> | STM32CubeMX latest | `freertos nucleo_f767zi` |
30+
| [FreeRTOS](https://www.freertos.org/) | [Espressif ESP32](https://www.espressif.com/en/products/socs/esp32/overview) | v8.2.0 | `freertos esp32` |
31+
| [FreeRTOS](https://www.freertos.org/) | [Crazyflie 2.1](https://www.bitcraze.io/crazyflie-2-1/) | v10.2.1 - CF 2020.06 | `freertos crazyflie21` |
32+
| [Zephyr](https://www.zephyrproject.org/) | [Olimex STM32-E407](https://www.olimex.com/Products/ARM/ST/STM32-E407/open-source-hardware) | v2.6.0 | `zephyr olimex-stm32-e407` |
33+
| [Zephyr](https://www.zephyrproject.org/) | [ST Nucleo F446RE](https://www.st.com/en/evaluation-tools/nucleo-f446re.html) <sup>1</sup> | v2.6.0 | `zephyr nucleo_f446re` |
34+
| [Zephyr](https://www.zephyrproject.org/) | [ST B-L475E-IOT01A](https://docs.zephyrproject.org/latest/boards/arm/disco_l475_iot1/doc/index.html) | v2.6.0 | `zephyr discovery_l475_iot1` |
35+
| [Zephyr](https://www.zephyrproject.org/) | [ST Nucleo H743ZI](https://www.st.com/en/evaluation-tools/nucleo-h743zi.html) <sup>1</sup> | v2.6.0 | `zephyr nucleo_h743zi` |
36+
| [Zephyr](https://www.zephyrproject.org/) | [Zephyr emulator](https://docs.zephyrproject.org/2.3.0/boards/posix/native_posix/doc/index.html) | v2.6.0 | `zephyr host` |
37+
| [Mbed](https://os.mbed.com/) | [ST B-L475E-IOT01A](https://os.mbed.com/platforms/ST-Discovery-L475E-IOT01A/) | v6.6 | `mbed disco_l475vg_iot01a` |
38+
| - | Static library (.a) and headers (.h) <sup>3</sup> | - | `generate_lib` |
39+
| Linux | *Host <sup>2</sup>* | Ubuntu 18.04/20.04 | `host` |
4040

4141
*<sup>1</sup> Community supported, may have lack of official support*
4242

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
keep:
2+
None
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
repositories:

config/renesas_ra/list_apps.sh

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
function print_available_apps {
2+
echo "Available apps for Renesas RA and $PLATFORM:"
3+
4+
UROS_APPS=$FW_TARGETDIR/micro_ros_renesas_demos
5+
6+
pushd $UROS_APPS >/dev/null
7+
for app in $(ls -d */ | cut -f1 -d'/'); do
8+
echo "+-- $app"
9+
done
10+
popd >/dev/null
11+
}
12+
13+
function check_available_app {
14+
15+
UROS_APPS=$FW_TARGETDIR/micro_ros_renesas_demos
16+
17+
pushd $UROS_APPS >/dev/null
18+
if [ ! -d $1 ]; then
19+
echo "App $1 for Renesas RA not available"
20+
print_available_apps
21+
exit 1
22+
fi
23+
popd >/dev/null
24+
}
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
repositories:
2+
micro_ros_renesas_demos:
3+
type: git
4+
url: https://github.com/micro-ROS/micro_ros_renesas_demos
5+
version: main

config/renesas_ra/ra6m5/build.sh

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
export UROS_APP=$(head -n1 $FW_TARGETDIR/APP | tail -n1)
2+
export UROS_APP_FOLDER="$FW_TARGETDIR/micro_ros_renesas_demos/$UROS_APP"
3+
4+
if [ -d "$UROS_APP_FOLDER" ]; then
5+
echo "Selected app: $UROS_APP"
6+
else
7+
echo "App not found: $UROS_APP"
8+
print_available_apps
9+
exit 1
10+
fi
11+
12+
pushd $UROS_APP_FOLDER
13+
git submodule init
14+
git submodule update
15+
16+
print "Use Renesas e2studio to build and flash the project in $UROS_APP_FOLDER"
17+
18+
popd
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
repositories:
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
echo $CONFIG_NAME > $FW_TARGETDIR/APP

config/renesas_ra/ra6m5/create.sh

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
pushd $FW_TARGETDIR >/dev/null
2+
# # Install toolchain
3+
# mkdir toolchain
4+
5+
# # Install toolchain
6+
# echo "Downloading ARM compiler, this may take a while"
7+
# curl -fsSLOk https://developer.arm.com/-/media/Files/downloads/gnu-rm/9-2020q2/gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2
8+
# tar --strip-components=1 -xvjf gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2 -C toolchain > /dev/null
9+
# rm gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux.tar.bz2
10+
11+
# Import repos
12+
vcs import --input $PREFIX/config/$RTOS/$PLATFORM/board.repos
13+
14+
popd >/dev/null

config/renesas_ra/ra6m5/flash.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
export UROS_APP=$(head -n1 $FW_TARGETDIR/APP | tail -n1)
2+
export UROS_APP_FOLDER="$FW_TARGETDIR/micro_ros_renesas_demos/$UROS_APP"
3+
4+
pushd $UROS_APP_FOLDER
5+
print "Use Renesas e2studio to build and flash the project in $UROS_APP_FOLDER"
6+
popd

0 commit comments

Comments
 (0)