AVR再びはぢめました(ATTINY104とATTINY202を使ってみる)
●AVRは生きていた!
ねむいさんが東海自然歩道とか熊野古道とかを進軍しているうちに時代は変わり、
同じく8bitマイコンの世界も大きく変わっておりました…
今から三年前、ねむいさんはMicrochipに吸収されたATMELが擁していたAVRに別れを
告げて32bitマイコンの世界にどっぷりつかりこんだつもりでしたが…AVRはMicrochipの
庇護下で命脈を保ち、さらに現代風にリニューアルして復活をしていた!!
秋月電気通商さんでAVR-0世代のATTINY202が発売されたのを機にねむいさんも
かつて背を向けたAVRに再び向き合うことにしました…!
そのまえに
●まずは旧世代のATTINY104
ATMEL時代の最後の嫡子ATTINY10xシリーズもついでに触ってみることにしました。
同じく秋月さんからATTINY104版のAtmelXplainedの在庫があったのでATTINY202を
買うついでにゲッツしました。
Xplained系は1000円台で純正デバッガmEDBGがついているのでお得です☆
ATTINY10xシリーズは旧世代のAVRシリーズであり、私が過去使用していたXMEGA以前の
AVRシリーズと同様のアーキテクチャーとなっています。Lチカ程度なら余裕ですn…
なんとAVR-GCCがATTINY104に対応していなかった!!!orz
ATMEL STUDIOみたいな出来合いのツール使うのならば全く問題がないのですがねむいさんは
コマンドラインビルド教なのでこれはきつい。
結局マカーの人がやった手順をなぞってavr-gccをATTINY10xに対応させてビルドしました。
書き込みはAVRDUDEを使ってXplainedに内蔵されたmEDBG(tpi接続)経由でかきこみを
おこな…i…
tpiで書き込めねぇ!!!!orz
Xplained系のATMEL評価ボード内蔵のmEDBGはAvrdudeではjtag3というデバイス扱いで
繋ぎに行くのですがなんとソースコードレベルでjtag3のtpiモードに対応してなかったorz
もう6年以上たってるのになんで…
ATMELSTUDIOからならちゃんと読み書きできるんですけどね…
atmega1284pなのは気にしないでください。大昔の1284pのプロジェクトから転用して
ATTINY104のプロジェクトこしらえたもので…
さて、ねむいさんはAvrdudeでどうしても書き込みしたかった。
Avrdudeのソースコード追ってくと手持ちのライタで書き込みができそうだったのは
LUFAとFTDI系でした。
まずはLUFAのAVRISPmk2化したATUSBKEYでtpi書き込み成功
(↑最初リセット繋げてなくて焦った)
お次はftdi、ねむいさんはJTAGKey2を作っているのでそれを使用しました。
TPIの結線はこちらのJTAGKey2紹介記事のリンク先回路図、SWD接続の部分を参照の事。
結線は以下の通り読み替えてください。
TPICLK = SWCLK
TPIDATA = SWDIO
RESET = TMS
リセットはRESETじゃなくてTMSなんですよねAVRだと。
そしてJTAGKey2でも危なげなく書き込み成功。GUIツールはこれを使わせてもらいました。
なお、Avrdudeにもパッチ当てないとATTINY104で読み書きできないのでご注意を。
ねむいさんのavrdudeのバイナリはもちろん対応済です☆
●お次はATTINY202だ!
ATTINY202はAVR-0と呼ばれる新しい世代のAVRマイコンです。
AVR-0/1シリーズではプログラムメモリの規模は8ビットマイコンの力を最大限に
引き出せる64KByte以下に収まりATXMEGAと同じアーキテクチャとなりました。
そして旧世代AVRの弱点だったプログラムメモリのアクセスの煩雑さはデータ領域の
アドレスに割り当てることによって完全に克服をしました!!!!!
詳しい内容は先達の方々のブログ記事に習いました。ありがとうございます。
・なんでも独り言様
・GHz2000様
avr-gccはATTINY202に当然対応しています。なぜかATTINY104はぶっちされていますが!!
そしてAVR-0シリーズはXMEGAと同じ感覚で組めるのでATXMEGA128A1のプロジェクトを
転用して作ってみました。また、ATMEL STARTなるATMELの忘れ形見のようなサイトの
ツールで周辺やクロックの初期化コードを生成することができます。
クロックを20MHzに上げてGPIOをOn/OFFにするプロジェクトをササっと作っていよいよ書き込み
を行います。新世代のAVRはuPDIというXMEGAのPDIを進化させた1wireのデバッグ・書き込み
インターフェースで書き込みを行うわけですが、今回は最初に紹介したATTINY104Xplained
のmEDBGを使います☆
Xplainedの基板の裏にATTINY202はっつけてみました。
XplainedのmEDBG(ATMEGA32U4)はPE6がuPDIの信号線となっています。
このPE6をATTINY202のRESET(uPDI)に接続します。
別のAVRでも使えるようにXplainedのNCの部分をuPDI信号とします。
そして…
…
まぁ一筋縄でいくわけがなく、ねむいさんが買ったATTINY104-Xplainedはtpi専用の
ファームとなっており、uPDIを使うためにはいったんATMEL STUDIOをインストールして
tpiのファームをuPDIのファームに変える必要があります。
具体的にはmedbgupdi.hex&binをmedbgtpi.hex&binにリネームし上書きします。
その状態でatfwというツールでアップデートします。
atfw -a medbg_fw.zip -t medbg -s (ここにXplainedのシリアルナンバを記述する)
ATMEL STUDIOからは見えた!勝った!
そしてAvrdudeでもちゃんと書…
…書けねぇ!orzなんか無限ループしてるorz
これもAvrdudeのバージョンアップでエンバグしてしまったらしく、変更箇所をもとに
戻したら書き込みができるようになりました。めでたしめでたし♥
そんなわけでまだ私が若くぴちぴちだった頃、はぢめてAVRを触れた頃を思い
出しながらAVR-0シリーズも弄っていこうと思います!まだわかくてぴちぴちですが。
ああ最後になりますが宣伝ですがATTINY104とXplained-updiにも対応したAVRDUDEの
バイナリはこちらになります!どしどし使ってください☆
連絡・質問・免責は↑のリンクを
↓SNSもやってます↓
powered by まめわざ- ARM/STM32 (107)
- OpenOCD (27)
- ARM/NxP (34)
- ARM/Cypress (5)
- ARM/Others (3)
- ARM/Raspi (1)
- AVR (11)
- FPGA (4)
- GPS/GNSS (19)
- MISC (77)
- STM8 (1)
- Wirelessなアレ (16)
- ブラウザベンチマーク (28)
- 日本の自然歩道 (23)
- 大周回遅れでCortex-M33とSTM32L5はぢめました
⇒ ねむい (08/07) - 大周回遅れでCortex-M33とSTM32L5はぢめました
⇒ ひかわ (08/05) - 1Wire温度センサDS18B20の偽物を追え!
⇒ ねむい (04/26) - 1Wire温度センサDS18B20の偽物を追え!
⇒ (04/08) - 中国自然歩道を往く -北伐!県境を越えて鳥取県に侵入せよ!-
⇒ ねむい (12/23) - 中国自然歩道を往く -北伐!県境を越えて鳥取県に侵入せよ!-
⇒ ひかわ (12/18) - 中国自然歩道を往く -北伐!県境を越えて鳥取県に侵入せよ!-
⇒ ひかわ (12/18) - いろいろ試す51
⇒ ねむい (06/26) - いろいろ試す51
⇒ ひかわ (06/10) - STM32G0使ってみる4 -1wireデバイスをいろいろ使ってみる-
⇒ ねむい (12/14)
- September 2023 (1)
- August 2023 (2)
- July 2023 (1)
- June 2023 (2)
- May 2023 (3)
- April 2023 (1)
- March 2023 (1)
- February 2023 (1)
- January 2023 (1)
- December 2022 (2)
- November 2022 (1)
- October 2022 (1)
- September 2022 (1)
- August 2022 (1)
- July 2022 (1)
- June 2022 (1)
- May 2022 (1)
- April 2022 (1)
- March 2022 (1)
- February 2022 (1)
- January 2022 (1)
- December 2021 (2)
- November 2021 (2)
- October 2021 (1)
- September 2021 (1)
- August 2021 (1)
- July 2021 (1)
- June 2021 (1)
- May 2021 (1)
- April 2021 (1)
- March 2021 (1)
- February 2021 (1)
- January 2021 (1)
- December 2020 (3)
- November 2020 (1)
- October 2020 (1)
- September 2020 (1)
- August 2020 (1)
- July 2020 (1)
- June 2020 (2)
- May 2020 (1)
- April 2020 (1)
- March 2020 (1)
- February 2020 (1)
- January 2020 (1)
- December 2019 (3)
- November 2019 (1)
- October 2019 (1)
- September 2019 (2)
- August 2019 (1)
- July 2019 (1)
- June 2019 (1)
- May 2019 (1)
- April 2019 (1)
- March 2019 (1)
- February 2019 (1)
- January 2019 (1)
- December 2018 (3)
- November 2018 (2)
- October 2018 (1)
- September 2018 (1)
- August 2018 (1)
- July 2018 (1)
- June 2018 (1)
- May 2018 (1)
- April 2018 (2)
- March 2018 (1)
- February 2018 (1)
- January 2018 (1)
- December 2017 (2)
- November 2017 (2)
- October 2017 (1)
- September 2017 (1)
- August 2017 (1)
- July 2017 (1)
- June 2017 (1)
- May 2017 (1)
- April 2017 (1)
- March 2017 (2)
- February 2017 (2)
- January 2017 (2)
- December 2016 (7)
- November 2016 (2)
- October 2016 (2)
- September 2016 (1)
- August 2016 (1)
- July 2016 (1)
- June 2016 (1)
- May 2016 (2)
- April 2016 (1)
- March 2016 (2)
- February 2016 (1)
- January 2016 (1)
- December 2015 (3)
- November 2015 (1)
- October 2015 (3)
- September 2015 (2)
- August 2015 (2)
- July 2015 (3)
- June 2015 (3)
- May 2015 (4)
- April 2015 (2)
- March 2015 (4)
- February 2015 (1)
- January 2015 (3)
- December 2014 (3)
- November 2014 (2)
- October 2014 (1)
- September 2014 (2)
- August 2014 (2)
- July 2014 (3)
- June 2014 (2)
- May 2014 (1)
- April 2014 (1)
- March 2014 (4)
- February 2014 (4)
- January 2014 (3)
- December 2013 (5)
- November 2013 (4)
- October 2013 (3)
- September 2013 (2)
- August 2013 (2)
- July 2013 (2)
- June 2013 (3)
- May 2013 (2)
- April 2013 (2)
- March 2013 (2)
- February 2013 (2)
- January 2013 (3)
- December 2012 (4)
- November 2012 (2)
- October 2012 (2)
- September 2012 (4)
- August 2012 (1)
- July 2012 (3)
- June 2012 (2)
- May 2012 (3)
- April 2012 (3)
- March 2012 (2)
- February 2012 (3)
- January 2012 (3)
- December 2011 (5)
- November 2011 (3)
- October 2011 (2)
- September 2011 (2)
- August 2011 (2)
- July 2011 (2)
- June 2011 (2)
- May 2011 (2)
- April 2011 (2)
- March 2011 (2)
- February 2011 (2)
- January 2011 (3)
- December 2010 (7)
- November 2010 (1)
- October 2010 (1)
- September 2010 (1)
- August 2010 (3)
- July 2010 (4)
- May 2010 (1)
- April 2010 (2)
- March 2010 (2)
- February 2010 (2)
- January 2010 (3)
- December 2009 (3)
- November 2009 (8)
- October 2009 (7)
- September 2009 (5)
- August 2009 (4)
- July 2009 (6)
- June 2009 (7)
- May 2009 (14)
- January 1970 (1)
Copyright(C) B-Blog project All rights reserved.