このリポジトリでは、EK-RA6M5をPortenta C33(RA6M5)として使用するためのArduino RenesasブートローダーのビルドとJTAG書き込み手順を説明します。
- 対象ボード: EK-RA6M5
- SEGGER 公式の .deb パッケージを使用します。以下はライセンス同意を含んだダウンロード手順です。
cd /tmp
curl -L -o JLink_Linux_x86_64.deb \
-H "Referer: https://www.segger.com/downloads/jlink/" \
-H "Origin: https://www.segger.com" \
-H "Content-Type: application/x-www-form-urlencoded" \
--data "accept_license_agreement=accepted&non_emb_ctr=confirmed" \
https://www.segger.com/downloads/jlink/JLink_Linux_x86_64.deb
sudo apt install ./JLink_Linux_x86_64.deb
sudo udevadm control --reload-rules
sudo udevadm trigger
# バージョン確認
JLinkExe -NoGui 1 || true
- 初回はUSBの再挿抜、もしくはホスト再起動が必要な場合があります。
plugdev
グループへの所属が必要です。
EK-RA6M5のDEBUG1 (J10) のUSBと書き込み用PCのUSBを接続します。
# Clone TinyUSB, arduino-renesas-bootloader
git clone https://github.com/hathach/tinyusb.git
git clone https://github.com/Ar-Ray-code/arduino-renesas-bootloader.git
# Apply patch to TinyUSB
cd tinyusb
git checkout 0.17.0
python3 ./tools/get_deps.py ra
export TINYUSB_ROOT=$PWD
patch -p1 < ../arduino-renesas-bootloader/0001-fix-arduino-bootloaders.patch
# back to arduino-renesas-bootloader
cd ../arduino-renesas-bootloader
./compile.sh
99-arduino-dfu.rulesを/etc/udev/rules.d/
に配置し、sudo udevadm control --reload-rules && sudo udevadm trigger
を実行してください。
JFlashLiteで書き込みます。
JFlashLite
JFlashLiteを起動すると、次のような画面が出ます。OKを押します。

デバイスの特定に失敗した場合は、 "Target Device" の横の "…" をクリックして、対象となるボードを選択します。

"Data File" を選択できるようになるので、生成されたhex(ここでは "dfu_c33.hex")を選択します。

"Program Device" を押して書き込みます。

"Done." と出たら終了です。画面を閉じます。
書き込みは、EK-RA6M5のUSB HIGH SPEED (J31) のUSBと書き込み用PCのUSBを接続します。
lsusb
で確認すると、 2341:0368 Arduino SA Portenta C33 DFU
と出てきます。

次にプログラムを書きます。通常のLチカのコードを書きます。
C33と割当が違うので注意してください。LEDを別途用意してP400に配線します。
src/main.cpp
#include <Arduino.h>
void setup() {
pinMode(LED_BUILTIN, OUTPUT); // P400
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(100);
digitalWrite(LED_BUILTIN, LOW);
delay(100);
}
platformio.iniの例:
[env:portenta_c33]
platform = platformio/renesas-ra@^1.7.0
board = portenta_c33
; change microcontroller
board_build.mcu = r7fa6m5bh2cbg
; change MCU frequency
board_build.f_cpu = 200000000L
framework = arduino
platformioの書き込みコマンド pio run --target upload
で書き込みます。
ソースコードはPortenta C33 User Manual を参考にしてください。
git clone https://github.com/arduino/arduino-renesas-bootloader
git clone https://github.com/hathach/tinyusb.git
cd tinyusb
git checkout 0.17.0
python ./tools/get_deps.py ra
export TINYUSB_ROOT=$PWD
patch -p1 < ../arduino-renesas-bootloader/0001-fix-arduino-bootloaders.patch
cd ..
cd arduino-renesas-bootloader
./compile.sh