- 
                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.2.n(AVR EA/EB系統対応、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_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 AVR128DB48 : w/o bootloader
 - Curiosity Nano AVR64EA48 : 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.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.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
 
24/05/10 時点では依然として 7.3 には対応していないため、AVR-DU/EA/EB 系統を SerialUPDI で扱うことはできない。
これらはこの SDKから派生、あるいは一部を構成している。
- Bootloaders for modernAVR (AVR-Dx/Ex)
 - Bootloaders for megaAVR / tinyAVR
 - UPDI4AVR Firmware (FW634B)
 - JTAG2UPDI Firmware (Clone)
 
- 
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 に更新。
 
 - 
 - 
0.2.9 (23/12/11)
- megaVAR/modernAVRについて、同梱ブートローダー全体を独自のArduino上位互換動作コードに変更。(
Optiboot由来ソースコードを除去) - 同、CRCSCAN機能用CRC16/32検査値付与。
 - 
<api/btools.h>にcrc16_ccitt_false関数を追加。 
 - megaVAR/modernAVRについて、同梱ブートローダー全体を独自のArduino上位互換動作コードに変更。(
 - 
0.2.8 (23/11/24)
- 
7.3.0-avr8-gnu-toolchain-231113に更新。 - UPDI4AVR Firmware を
UPDI4AVR_FW634Bに変更。- 
AVRDUDE 7.3仕様に準拠。 - HV制御は添付の
avrdude.conf.UPDI4AVRを使用した場合に有効。 
 - 
 - UPDI4AVR Software を
UPDI4AVR_FW606Aに変更。- 
FW634Bからのバックポートにより、HV制御以外の機能性は概ね互換。 
 - 
 
 - 
 - 
0.2.7 (23/10/18)
- 
AVR16EBxx に実験的対応
- bootloader の正常動作は未確認
 
 - 
dryrunを書込器選択に追加。 - 
avrdude.conf参照ルールの変更。- 
arduino/UPDI4VAR/TPI4AVR/dryrunを書込器に指定した場合のみ、ローカルの特別な設定ファイルを参照する。それ以外は規定の(tools/avrdude/etc内の)avrdude.confを参照する。 - この変更により、AVR_EA系統のようにまだ他の書込器で未対応/未検証のパーツ設定が分離された。
 
 - 
 
 - 
AVR16EBxx に実験的対応
 - 
0.2.6 (23/10/16)
- 
7.2-arduino.1に更新。 - 
7.3.0-avr8-gnu-toolchain-231004に更新。- 
Atmel.ATautomotive_DFP.2.0.214.atpack (2022-03-03)追加。ATtiny416auto対応。 - 
Atmel.AVR-Ex_DFP.2.7.184 (2023-10-02)対応。 
 - 
 
 - 
 - 
0.2.5 (23/10/09)
- AVR_EB系統の対応準備
 - 
avrdude.conf.updi記述を avrdude 7.1 準拠に改正 
 - 
0.2.4 (23/09/09)
- 
7.3.0-avr8-gnu-toolchain-230831に更新。- 
Atmel.ATmega_DFP.2.1.506 (2023-08-14)対応。 - 
Atmel.AVR-Ex_DFP.2.6.181 (2023-08-24)対応。 
 - 
 - 
programmers.txtを改正。- 
SerialUPDIの-xrtsdtr=Highオプションを有効化。 
 - 
 
 - 
 - 
0.2.3 (23/07/09)
- 
7.3.0-avr8-gnu-toolchain-230628に更新。- 
Atmel.AVR-Ex_DFP.2.5.176 (2023-06-26)対応。 - 
<avr/eeprom.h>がAVR_EAでも正常動作するよう改善。 
 - 
 - AVR16EBxx 対応ヘッダが追加されたが、バリアントはまだサポートされていない。
 
 - 
 - 
0.2.2 (23/05/23)
- 
7.1-arduino.1に更新。 
 - 
 - 
0.2.1 (23/05/08)
- 
7.3.0-avr8-gnu-toolchain-230418に更新。- 
Atmel.AVR-Ex_DFP.2.4.168 (2023-04-18)対応。 - 
注意 : この版では未だ
<avr/eeprom.h>がAVR_EAでは正常動作しない。 
 - 
 - AVR16EAxx、AVR32EAxx をバリアント選択に追加。
 
 - 
 - 
0.2.0 (23/04/08)
- 
modernAVRでAVR_EA対応。- 現時点の
AVR-LIBCでビルド可能な AVR64EA28/32/48 をバリアント選択に追加。 - AVR64EA32 を動作検証済表に追加。
 - 専用ブートローダー
optiboot_ex1を追加。 - 
<api/FlashNVM.h>にAVR_EA対応を追加。 - 
注意 : 現時点の
AVR-LIBCでは<avr/eeprom.h>がAVR_EAで正常動作しない。 
 - 現時点の
 
 - 
 - 
0.1.4 (23/04/01)
- 
7.3.0-avr8-gnu-toolchain-230322に更新。- 
Atmel.AVR-Ex_DFP.2.3.163 (2023-03-22)対応。 
 - 
 - 
avrdude.conf.updiを改正。- 
UPDI4AVRの既定速度を9216000bpsに変更。(多くのUSB-USART変換で扱える最大の安全速度) - 
AVR_DA/DB_DDのEEPROM page-sizeを16に訂正。 
 - 
 
 - 
 - 
0.1.3 (23/03/15)
- 
avrdude.conf.updiを改正。- 
modernAVR/megaAVRを共通化。 - 書込器使用時の
EEPROM書込異常対応。(page-sizeを8に統一) - 
fuses/lockのファイル指定書込異常対応。(page-sizeを1に統一) 
 - 
 - 
programmers.txtを改正。- 
SerialUPDIの非公式な選択肢を削除。 
 - 
 
 - 
 - 
0.1.2 (23/02/25)
- 
TaskChangerの暗黙的yieldグローバルフック書換を廃止。 - 
nopとwdt_resetマクロを追加。 - 動作確認済品種に
ATtiny1626を追加。 - 
megaAVRボードマネージャの一部の不確実なSerialマクロを修正。 
 - 
 
- [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(日本語訳)