Open1

yuniboard: 開発環境の整理

okuokuokuoku

いろいろと実験つづきでわけがわからなくなりつつあるのでちょっと立ちどまって整理する。。

ツールチェーン

ツールチェーンは全てcrosstool-NGで構築し、 /opt/yuniboard 以下にインストールする。

シンボル CPU ボード
arm-m4f CortexM4(FPU) Wio Terminal、nRF52、Spresense
arm-m0p CortexM0+ Raspberry Pi Pico
avr AVR Arduino Uno
xtensa-esp32 Xtensa ESP32
rv64f RISC-V 64bit Maix Amigo

crosstool-NG はシンボル毎に別々のツリーを持つことにする。特に、ESP32のcrosstool-NGは専用品が必要。

同じARM CortexM4Fでも、Spresenseのリンクには古いldが必要といった都合があるので適当にバージョン類は調整している。

その他ツール

ベースOS

OSの定義がなかなか難しい。。要はプロトコルスタック等はボード標準のものを使おうと思っているので、それに付いてくるランタイムがどうしても存在する。

ボード シンボル Bootloader OS
Wio Terminal wioterminal UF2 FreeRTOS + Arudino runtime
nRF52 nrf52840-generic UF2 Zepher + Nordic SDK + Nordic SoftDevice
Spresense spresense ? NuttX
Raspberry Pi Pico rp2040-pico UF2(ROM) (Basic BSP)
Arduino Uno arduino-uno Arduino Arduino runtime
ESP32 esp32-generic ESP-IDF FreeRTOS + ESP-IDF
Maix Amigo maix-amigo ? (Basic BSP)

原則的に、ボードベンダが提供しているライブラリ以外は使わない方針にしている。

Basic BSPは起動やロックしか面倒をみてくれない簡易ランタイムのみのもの。これらではスレッドが使えない。

prev

https://zenn.dev/okuoku/scraps/02f4849195561c

https://zenn.dev/okuoku/scraps/eb31fddd02c562

https://zenn.dev/okuoku/scraps/2f459d0b162a21