-
Notifications
You must be signed in to change notification settings - Fork 0
InformationSDK
このソフトウェア開発キットは、主に新世代のAVRファミリ(Microchipブランド統合以降で発表されたもの)について、Arduino IDEでの開発を支援するために構成されている。 AVR-GCC/AVR-LIBC を用いて書かれた C/C++/アセンブラ プログラムを avrdude を用いて対象MCUにアップロードするまでの作業フローを提供する。
警告: Arduino互換APIは提供されない。
[MultiX Zinnia Product : WiKi]へ移動
- Arduino IDE の「環境設定」「追加のボードマネージャーのURL」に以下のリンクを追加
- 「ボードマネージャー」ダイアログパネルを開き、検索欄に "multix" と入力
- 目的のアーキテクチャを選択して「インストール」
megaAVR
/modernAVR
/reduceAVR
- 上記リンクは更新がある程度まとまってから差し替えられるため、公開リポジトリより古い場合がある。 なる早で Arduino IDE に更新を取り込みたい場合は、下記リンクを使用されたい。
main
リポジトリがそのまま主開発ブランチで、ある程度の区切り毎にX.Y.Z
ブランチが記録されるスタイル。
現在活性化中なのは0.3.n
(AVR DU系統対応)
-
avrdude
とAVR-GCC/LIBC
は複数のSDK(アーキテクチャ別) で共有するため更新競合状態になることがある。 競合中のSDKは更新ボタンを押すとそれが残りただ1つになるまで無効化(自動削除)されるので、 その後で改めて無効になったSDKを選んで再インストールする必要がある。
- Windows (32bit/64bit)
- macOS (64bit)
- Linux (主にintel系64bit)
現在この SDK は複数の異なる対象アーキテクチャ向けにリポジトリを分けて提供される。
ボードメニュー/サブメニュー以下の選択はそれぞれを参照のこと。
-
MultiX Zinnia Product SDK [megaAVR] ->HERE
- megaAVR-0 と tinyAVR-0/1/2 系統。(Atmelブランド世代)
-
MultiX Zinnia Product SDK [modernAVR] ->HERE
- AVR DA/DB/DD/EA 系統。(Microchipブランド世代)
-
MultiX Zinnia Product SDK [reduceAVR] ->HERE
- 旧世代AVRのうち TPI方式に対応した系統。(Atmelブランド世代)
-
MultiX Zinnia UPDI4AVR Firmware Builder ->HERE
- UPDI4AVR Firmware をサポートする [megaAVR] のサブセット。
共通基盤の AVR-GCC/AVR-LIBC toolchain は既知の AVR 8bit 系全種に対応している。
makeコマンドを別途用意すれば大抵の事はできるはず。(Windowsでも)
系統 | pin | 2KiB | 4KiB | 8KiB | 16KiB | 32KiB |
---|---|---|---|---|---|---|
tinyAVR-0 | ||||||
8 | ATtiny202 | ATtiny402 | ||||
14 | ATtiny204 | ATtiny404 | ATtiny804 | ATtiny1604 | ||
20 | ATtiny406 | ATtiny806 | ATtiny1606 | |||
24 | ATtiny807 | ATtiny1607 | ||||
tinyAVR-1 | ||||||
8 | ATtiny212 | ATtiny412 | ||||
14 | ATtiny214 | ATtiny414 | ATtiny814 | ATtiny1614 | ||
20 | ATtiny416 | ATtiny816 | ATtiny1616 | ATtiny3216 | ||
24 | ATtiny417 | ATtiny817 | ATtiny1617 | ATtiny3217 | ||
tinyAVR-2 | ||||||
14 | ATtiny424 | ATtiny824 | ATtiny1624 | ATtiny3224 | ||
20 | ATtiny426 | ATtiny826 | ATtiny1626 | ATtiny3226 | ||
24 | ATtiny427 | ATtiny827 | ATtiny1627 | ATtiny3227 |
- Xplained mini ATtiny416 : w/o bootloader
- Curiosity Nano ATtiny1627 : w/o bootloader
太字 は実物確認済
系統 | pin | 8KiB | 16KiB | 32KiB | 48KiB |
---|---|---|---|---|---|
megaAVR-0 | |||||
28 | ATmega808 | ATmega1608 | ATmega3208 | ATmega4808 | |
32 | ATmega808 | ATmega1608 | ATmega3208 | ATmega4808 | |
40 | ATmega4809 | ||||
48 | ATmega809 | ATmega1609 | ATmega3209 | ATmega4809 |
- Arduino UNO WiFi Rev.2 : w/o bootloader
- Arduino Nano Every : w/o bootloader
太字 は実物確認済
系統 | pin | 8KiB | 16KiB | 32KiB | 64KiB | 128KiB |
---|---|---|---|---|---|---|
AVR_DA | ||||||
28 | AVR32DA28 | AVR64DA28 | AVR128DA28 | |||
32 | AVR32DA32 | AVR64DA32 | AVR128DA32 | |||
48 | AVR32DA48 | AVR64DA48 | AVR128DA48 | |||
64 | AVR64DA64 | AVR128DA64 | ||||
AVR_DA-S | ||||||
28 | AVR128DA28S | |||||
32 | AVR128DA32S | |||||
48 | AVR128DA48S | |||||
64 | AVR128DA64S | |||||
AVR_DB | ||||||
28 | AVR32DB28 | AVR64DB28 | AVR128DB28 | |||
32 | AVR32DB32 | AVR64DB32 | AVR128DB32 | |||
48 | AVR32DB48 | AVR64DB48 | AVR128DB48 | |||
64 | AVR64DB64 | AVR128DB64 | ||||
AVR_DD | ||||||
14 | AVR16DD14 | AVR32DD14 | AVR64DD14 | |||
20 | AVR16DD20 | AVR32DD20 | AVR64DD20 | |||
28 | AVR16DD28 | AVR32DD28 | AVR64DD28 | |||
32 | AVR16DD32 | AVR32DD32 | AVR64DD32 | |||
AVR_DU | ||||||
14 | AVR16DU14 | AVR32DU14 | ||||
20 | AVR16DU20 | AVR32DU20 | ||||
28 | AVR16DU28 | AVR32DU28 | AVR64DU28 | |||
32 | AVR16DU32 | AVR32DU32 | AVR64DU32 | |||
AVR_EA | ||||||
28 | AVR16EA28 | AVR32EA28 | AVR64EA28 | |||
32 | AVR16EA32 | AVR32EA32 | AVR64EA32 | |||
48 | AVR16EA48 | AVR32EA48 | AVR64EA48 | |||
AVR_EB | ||||||
14 | AVR16EB14 | AVR32EB14 | ||||
20 | AVR16EB20 | AVR32EB20 | ||||
28 | AVR16EB28 | AVR32EB28 | ||||
32 | AVR16EB32 | AVR32EB32 |
- Curiosity Nano ATtiny1627 : w/o bootloader
- Curiosity Nano AVR128DB48 : w/o bootloader
- Curiosity Nano AVR64DU32 : w/o bootloader
- Curiosity Nano AVR64EA48 : w/o bootloader
- Curiosity Nano AVR64EB32 : w/o bootloader
太字 は実物確認済
斜体 は今後対応予定
-
ATtiny4 ATtiny5 ATtiny9 ATtiny10
-
ATtiny20 ATtiny40
-
ATtiny102 ATtiny104
-
Xplained Nano ATtiny104
太字 は実物確認済
斜体 は現在未対応(Variant選択なし)
package_multix_zinnia_index.json
を使用して SDK をセットアップすると、以下のツールチェインも自動的に取得・インストールされる。
インストールされる版はその時点での最新版であるが、Arduino IDE ボードマネージャーでのバージョン更新は以後行われず、その時点の版で固定される。 意識的に最新版へ更新するには、これらを使用する該当 SDK を一旦全てアンインストール/全て更新しなければならない。
AVR-GCC 本体と AVR-LIBC ライブラリは、Microchip社の一次配布元から提供されたものを使用する。 これに Microchip社提供のデバイスサポートファイル(AT Pack)の一部を統合して、二次配布元から提供される。 配布ライセンスは GPL 2.0 である。
- 一次配布元 : https://www.microchip.com/en-us/tools-resources/develop/microchip-studio/gcc-compilers/
- C/C++ cross compiler
- Assembler and linker
- C-libraries for developing C/C++ programs
- 追加パッケージ配布元 : https://packs.download.microchip.com/
- Microchip ATautomotive Series Device Support
- Microchip ATmega Series Device Support
- Microchip ATtiny Series Device Support
- Microchip AVR-Dx Series Device Support
- Microchip AVR-Ex Series Device Support
- (xmegaサポート更新は統合されていない)
- 二次配布元 : https://github.com/askn37/askn37.github.io/tree/main/archives
0.3.0以降
- https://askn37.github.io/archives/7.3.0-avr8-gnu-toolchain-241029-darwin_x86_64.tar.gz
- https://askn37.github.io/archives/7.3.0-avr8-gnu-toolchain-241029-windows_x86_64.tar.gz
- https://askn37.github.io/archives/7.3.0-avr8-gnu-toolchain-241029-linux_x86_64.tar.gz
0.2.13以降
- https://askn37.github.io/archives/7.3.0-avr8-gnu-toolchain-240510-darwin_x86_64.tar.gz
- https://askn37.github.io/archives/7.3.0-avr8-gnu-toolchain-240510-windows_x86_64.tar.gz
- https://askn37.github.io/archives/7.3.0-avr8-gnu-toolchain-240510-linux_x86_64.tar.gz
0.2.10以降
- https://askn37.github.io/archives/7.3.0-avr8-gnu-toolchain-231214-darwin_x86_64.tar.gz
- https://askn37.github.io/archives/7.3.0-avr8-gnu-toolchain-231214-windows_x86_64.tar.gz
- https://askn37.github.io/archives/7.3.0-avr8-gnu-toolchain-231214-linux_x86_64.tar.gz
AVRDUDE 実行バイナリは、Arduino社を一次配布元として提供される。 静的リンク化等の Arduino IDE用修正がされており、オリジナルとは必ずしも一致しない。 配布ライセンスは GPL 2.0 である。
リリース元 https://github.com/arduino/avrdude-packing/releases
0.3.0以降
- https://downloads.arduino.cc/tools/avrdude_8.0-arduino.1_Windows_32bit.tar.gz
- https://downloads.arduino.cc/tools/avrdude_8.0-arduino.1_macOS_64bit.tar.gz
- https://downloads.arduino.cc/tools/avrdude_8.0-arduino.1_Linux_ARM64.tar.gz
- https://downloads.arduino.cc/tools/avrdude_8.0-arduino.1_Linux_ARMv6.tar.gz
- https://downloads.arduino.cc/tools/avrdude_8.0-arduino.1_Linux_64bit.tar.gz
- https://downloads.arduino.cc/tools/avrdude_8.0-arduino.1_Linux_32bit.tar.gz
0.2.6以降
- https://downloads.arduino.cc/tools/avrdude_7.2-arduino.1_Windows_32bit.tar.gz
- https://downloads.arduino.cc/tools/avrdude_7.2-arduino.1_macOS_64bit.tar.gz
- https://downloads.arduino.cc/tools/avrdude_7.2-arduino.1_Linux_ARM64.tar.gz
- https://downloads.arduino.cc/tools/avrdude_7.2-arduino.1_Linux_ARMv6.tar.gz
- https://downloads.arduino.cc/tools/avrdude_7.2-arduino.1_Linux_64bit.tar.gz
- https://downloads.arduino.cc/tools/avrdude_7.2-arduino.1_Linux_32bit.tar.gz
これらはこの SDKから派生、あるいは一部を構成している。
- Bootloaders for modernAVR (AVR-Dx/Ex)
- Bootloaders for megaAVR / tinyAVR
- UPDI4AVR Firmware (FW634B)
- UPDI4AVR-USB AVR-DUを使用したUSB接続バージョン
- JTAG2UPDI Firmware (Clone)
0.3.0以降では、既定のプログラムライターが UPDI4AVR-USB に更新された。 このソフトウェアは Curiosity Nano AVR64DU32 などの AVR-DUシリーズ搭載ボードに書き込むことで、UPDI、TPI、PDI 計3種のプログラミング方式をサポートする USB接続方式プログラムライターとして使用する事ができ、AVRDUDE 8.0以降からは PICKit4 (jtag3updi、jtag3tpi、jtag3pdi) 互換相当として認識される。 また専用設計の周辺回路を加えることで、UPDI と TPI の高電圧(HV)プログラミングも可能にする。
0.3.0以降では AVR-DUシリーズ専用に、USB Bootloader (euboot) が用意された。
AVRDUDE 8.0からは EDBGプロトコルを介した jtag3updi 互換相当として認識され、全メモリ領域の読み出しと、FUSE、LOCKBIT、Boot予約領域以外の書き換えができる。
また boot_ax/dx/ex
3.72 同等のスニペット拡張を持ち、自己フラッシュ領域書き換え、および BOOTROW特殊領域の書き換えを支援する。
-
0.3.0
- AVRDUDEを
8.0-arduino.1
に更新。 - toolchainを
7.3.0-avr8-gnu-toolchain-241029
に更新。 - AVR-DUシリーズ専用
euboot
を同梱。 - AVR-DA-Sシリーズ、および AVR32EBxx シリーズのビルドに追加対応。
- AVRDUDEを
-
0.2.14 (24/08/11)
- (modernAVR/megaAVR) libraries から、TPI4AVR, UPDI4AVR submodule を除去(非標準化)
- (modernAVR) AVR-DU系列専用 USB周辺機能に暫定対応
-
<SerialUSB.h>
基本的な USB-SERIAL通信クラス -
<USB/CDC.h>
上記の下位実装(USB-CDC)
-
-
0.2.13 (24/05/12)
-
7.3.0-avr8-gnu-toolchain-240510
に更新。- (modernAVR) AVR16DU14/20/28/32、AVR32DU14/20/28/32 対応を追加。
- (reduceAVR) Xplained Nano ATtiny104 に試験的対応。
-
-
0.2.12 (24/04/29)
- 動作確認済に AVR64DU28 を追加。
-
boot_ax/dx/ex
を 3.72 に更新。
-
0.2.11 (24/04/13)
-
megaAVR : tinyAVR-0/1 の
<peripheral.h>
定義ミスを修正、 -
modernAVR :
platform.txt
のタイプミス修正。- 動作確認済に AVR128DB28、AVR64DB28 を追加。
-
megaAVR : tinyAVR-0/1 の
-
0.2.10 (23/01/16)
-
7.3.0-avr8-gnu-toolchain-231214
に更新。- AVR64DU28/32 に暫定対応。
- 動作確認済に AVR64EA32、 AVR64EA48、 AVR16EB32、ATtiny1627, ATtiny416 を追加。
-
Core Modules の
<api/UarfUART.h>
を微修正。AVR_EVSYS=201
修正。 -
Core Libraries の修正/追加と応用記述の追加。
<ReadUART.h>
<UrowNVM.h>
-
<FlashNVM.h>
(BOOTROW 対応を追加)
- Bootloader を FWV=3.71 に更新。
-
-
これ以前は公開終了
- [MultiX Zinnia Product : WiKi]
- [AVR.JP](日本語訳)
- [AVR-LIBC](日本語訳)
各構成要素はそれぞれ異なる配布ライセンスに属する。条件はそれぞれの規約に従う。
- BSD License
- avr-libc
- GNU General Public License v2.0
- avr-gcc
- avrdude
- MIT License
- other original document and code
Twitter(X): @askn37
BlueSky Social: @multix.jp
GitHub: https://github.com/askn37/
Product: https://askn37.github.io/
Copyright (c) 2022,2023 askn (K.Sato) multix.jp
Released under the MIT license
https://opensource.org/licenses/mit-license.php
https://www.oshwa.org/
multix.jp/てくにかるむ(休眠中)
Multix Zinnia Product SDK [*AVR]
AVR.JP(日本語訳)
AVR-LIBC(日本語訳)