-
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リポジトリがそのまま主開発ブランチで、ある程度の区切り毎にvX.Y.Zブランチが記録されるスタイル。
現在活性化中なのはv0.2.n(AVR EA系統対応)
-
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 |
太字 は実物確認済
| 系統 | pin | 8KiB | 16KiB | 32KiB | 48KiB |
|---|---|---|---|---|---|
| megaAVR-0 | |||||
| 28 | ATmega808 | ATmega1608 | ATmega3208 | ATmega4808 | |
| 32 | ATmega808 | ATmega1608 | ATmega3208 | ATmega4808 | |
| 40 | ATmega4809 | ||||
| 48 | ATmega809 | ATmega1609 | ATmega3209 | ATmega4809 |
太字 は実物確認済
| 系統 | 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 | ||||||
| 28 | AVR64DU28 | |||||
| 32 | 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 |
太字 は実物確認済
斜体 は今後対応予定
- ATtiny4 ATtiny5 ATtiny9 ATtiny10
- ATtiny20 ATtiny40
- ATtiny102 ATtiny104
太字 は実物確認済
斜体 は現在未対応(Variant選択なし)
-
v0.2.10 (23/12/20)
-
7.3.0-avr8-gnu-toolchain-231214に更新。- AVR64DU28/32 に暫定対応。
-
Core Modules の
<api/UarfUART.h>を微修正。AVR_EVSYS=201修正。 -
Core Libraries に
<ReadUART.h>を追加。AVR_EVSYS=201修正。
-
-
v0.2.9 (23/12/11)
- megaVAR/modernAVRについて、同梱ブートローダー全体を独自のArduino上位互換動作コードに変更。(
Optiboot由来ソースコードを除去) - 同、CRCSCAN機能用CRC16/32検査値付与。
-
<api/btools.h>にcrc16_ccitt_false関数を追加。
- megaVAR/modernAVRについて、同梱ブートローダー全体を独自のArduino上位互換動作コードに変更。(
-
v0.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制御以外の機能性は概ね互換。
-
-
-
v0.2.7 (23/10/18)
-
AVR16EBxx に実験的対応
- bootloader の正常動作は未確認
-
dryrunを書込器選択に追加。 -
avrdude.conf参照ルールの変更。-
arduino/UPDI4VAR/TPI4AVR/dryrunを書込器に指定した場合のみ、ローカルの特別な設定ファイルを参照する。それ以外は規定の(tools/avrdude/etc内の)avrdude.confを参照する。 - この変更により、AVR_EA系統のようにまだ他の書込器で未対応/未検証のパーツ設定が分離された。
-
-
AVR16EBxx に実験的対応
-
v0.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)対応。
-
-
-
v0.2.5 (23/10/09)
- AVR_EB系統の対応準備
-
avrdude.conf.updi記述を avrdude 7.1 準拠に改正
-
v0.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オプションを有効化。
-
-
-
v0.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 対応ヘッダが追加されたが、バリアントはまだサポートされていない。
-
-
v0.2.2 (23/05/23)
-
7.1-arduino.1に更新。
-
-
v0.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 をバリアント選択に追加。
-
-
v0.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で正常動作しない。
- 現時点の
-
-
v0.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に訂正。
-
-
-
v0.1.3 (23/03/15)
-
avrdude.conf.updiを改正。-
modernAVR/megaAVRを共通化。 - 書込器使用時の
EEPROM書込異常対応。(page-sizeを8に統一) -
fuses/lockのファイル指定書込異常対応。(page-sizeを1に統一)
-
-
programmers.txtを改正。-
SerialUPDIの非公式な選択肢を削除。
-
-
-
v0.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(日本語訳)