askn37 / avrdude

AVRDUDE is a utility to program AVR microcontrollers
GNU General Public License v2.0
0 stars 0 forks source link

[課題] UPDI4AVR モジュールの追加 #3

Open askn37 opened 10 months ago

askn37 commented 10 months ago

案件:updi4avr.c をプロジェクトに追加する

jtagmkII.c が v7.3 マイルストーンで予定される改修で、従来との互換性を失う可能性が示唆された。恐らく10年以上変化していなかった挙動が変更される。 このソースの UPDI サポートは、事実上 JTAG2UPDI のために追加されたコードになっている。 端的には、JTAGICEmkII プロトコル(AVR067)では UPDI サポートについて言及していない。 そして JTAG2UPDI は FW version 6 を基盤に設計されている。これについては公的にサポート対象の範疇にあるが、 FW version 7 については AVRISPmkII と AVR-Dragon 以外に存在しないため、互換性保護対象にない。(それらは全てUSB実装である) つまり UPDI4AVR が現在使用している FW7 + UPDI + SerialPort 実装は、ソースファイル自体を分けるのが必須作業となった。

対象機器

UPDI4AVR Firmware : https://github.com/askn37/multix-zinnia-updi4avr-firmware-builder

UPDI4AVR Software : https://github.com/askn37/UPDI4AVR-Software

要件定義

重要な検討

(JTAGICEmkII)

AVR067ではXMEGA拡張が文書化されていない。従ってこれは他の既存実装から再定義する。 JTAGICEmkII の最終実装動作を再確認-> https://onlinedocs.microchip.com/pr/GUID-73C92233-8EC5-497C-92C3-D52ED257761E-en-US-1/index.html?GUID-60701625-2CF9-43AA-943E-D0F78B165880

技術

askn37 commented 10 months ago

スケルトン書き終えて、警告以外のビルドエラーは無くなったところ。

% git status
On branch main
Your branch is up to date with 'origin/main'.

Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git restore <file>..." to discard changes in working directory)
    modified:   src/CMakeLists.txt
    modified:   src/Makefile.am
    modified:   src/avrdude.conf.in
    modified:   src/pgm_type.c

Untracked files:
  (use "git add <file>..." to include in what will be committed)
    flag
    src/updi4avr.c
    src/updi4avr.h

no changes added to commit (use "git add" and/or "git commit -a")