進化した8bitAVRマイコン"AVR Dx"をArduinoにしてみる。Atmega328PのArduinoでリソースが足りない場合の選択肢としていんじゃないかなって。進化したArduinoといえば、Arduino UNO R4がある。こちらはRenesas RA4M1 (Arm® Cortex®-M4)が使われていて超リッチなんだけど、DIPパッケージ品がないので、ユニバーサル基板やブレッドボードでちょちょっとやりたいときにちょっと面倒。で、AVR Dxってのがあるのでこちらで試してみる。ちょちょっとやりたいときにそんなにリソースが必要になるんか?ってつっこんじゃうよねー、、、ほんと滅多にないけどたまにあるかもよ。
今回購入したのは秋月で売っているAVR128DB28(https://akizukidenshi.com/catalog/g/g118149/)。少々お高いけど、SRAMが16kBもある!ちなみに秋月では AVR64DD28ってのも扱っていて、こちらはAtmega328P-PUよりもお安い。用途によってはDDのほうがいいのかも(比較表はこちらhttps://ww1.microchip.com/downloads/aemDocuments/documents/MCU08/ProductDocuments/Brochures/AVR-Microcontrollers-Peripheral-Integration-30010135.pdf)。
で、AVR DxをArduino化するのにDxCoreっていうbootloaderを作っている人がいるのでホント助かる。こちら(https://github.com/SpenceKonde/DxCore/tree/master)。これ作っているSpenceKondeさんって何者なんやろ。いろんなAVRマイコンのArduino bootloaderを作っていて、その情熱がすごすぎる。
そして、AtmelがMichrochipに買収されたときには、AVRがなくなるんやないかとか、もともとPICマイコンに対するMichrochipの方針がイマイチ気に入らんかったりで、ショックだったけど、古い(軽い)8bitマイコンもちゃんと製造だけじゃなく開発も続けているところがイイネ。まぁPICマイコンはあらゆる仕様が乱立していて今さら手を出すことはまずないと思うけど。
さて、SpenceKondeさんのgithubをみると、pinoutはこうなっているらしい。
で、UNO R3に使われるときのAtmega328Pのpinoutはこう。
くぅーぜんぜんちゃう( •᷄⌓•᷅ )
まずは環境を整える(これを先にやらないとわからないこともあるので)。ArduinoIDEにDxCoreボードマネジャを追加する。DxCoreのFilesのInstallation.mdによると、追加のボードマネジャのURLは
http://drazzy.com/package_drazzy.com_index.json
らしいので、こうなる。
で、ArduinoIDEのボードマネジャーからdxcoreを検索して、出てきたDxCoreをインストール。
で、ボードをDxCoreのAVR DB-series (Optiboot)にすると、とんでもなくたくさんのオプションが出てくる。
で、クロックを外付け16MHzクリスタルに変更する(クロック誤差にシビアなものを作る方が多い業界にいるので、内蔵オシレータはあまりやらない)。そして、Programmerのサブメニューを見て初めて気づく、、、
ちょっとゴールが遠そうなので一旦ここで筆をおくニャンカンキチ、、、カンキチさんまだ出願しているのかな?
だいぶさぼったんだけど、本当は先週くらいには取り掛かれる予定だった。部品の手配も早くできたはずと考えるとさらにもちっと早く取り掛かれるはずだった。いろいろ起こるもんですよ。言い訳。単にだらけていただけです
コメントをお書きください