Skip to content

Ar-Ray-code/arduino-renesas-bootloader

 
 

Repository files navigation

Arduino Renesas ブートローダー

このリポジトリでは、EK-RA6M5をPortenta C33(RA6M5)として使用するためのArduino RenesasブートローダーのビルドとJTAG書き込み手順を説明します。

  • 対象ボード: EK-RA6M5

J-Link のインストール(Ubuntu 22.04)

  • 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を接続します。

IMG_9808

# 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を押します。

Screenshot from 2025-10-06 22-23-30

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

Screenshot from 2025-10-06 22-23-23

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

image

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

image

"Done." と出たら終了です。画面を閉じます。

PlatformIO での利用

書き込みは、EK-RA6M5のUSB HIGH SPEED (J31) のUSBと書き込み用PCのUSBを接続します。

IMG_9809

lsusb で確認すると、 2341:0368 Arduino SA Portenta C33 DFU と出てきます。

image

次にプログラムを書きます。通常の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 を参考にしてください。


(参考) TinyUSB の取得とパッチ適用手順

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

About

RAマイコン用カスタムArduinoブートローダー

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 98.6%
  • Shell 1.4%