秋月ボードのarduiono化やデバッグ諸々2015年12月18日 13時14分12秒

【秋月ボードのarduiono化】 秋月電子で売られているオリジナルAtmega328ボードをarduino化してみた。

最近arduioを使う機会が少しずつ増えてきた。そんなこともあって秋月電子で昔購入してarduio化できるatmega328ボードをいじってみた。

うっかりしたことに、付属していた16MHzの水晶がどこかに行ってしまったので、クロックは内蔵CR発信器にゆだねることに・・・・ 回路はほぼUNO(\3000程度)とほぼコンパチなので簡単にできるだろうと思っていたところ、ほぼ一日かかってしまった。

その原因はフタをあけてみれば、とても単純で当たり前なことでしたが・・・汗。

①どのブートローダーを書き込めば良いのか色々あって迷う  いろいろネットに転がっていたが、結局書き込んだのはIDEをインストールしたときハードディスクにあったもの。「atmegaboot_168_atmega328_pro_8MHz.hex」でした。

②ヒューズビットの適正値がWEB上の記事では少しずつ異なる。 ディフォルトでは、EX:FF/HI:D9/Lo:62が書き込まれていますが、これをEX:FD/HI:D4/Lo:E2に書き換えました。 これによって、IDEのボード選択は Arduio Pro or Arduio Pro Miniになる。

③内蔵CR発信器は8MHZだったことをすっかり忘れてました。通信が正常にやり取りされていないのが、起動後の動きからなんとなくわかっていました。これは、①にも②も大きく関係のあることで、ブートローダーの書き込みは正常にできても、Auduio-IDEとの通信がまったくできずにいた大きな原因でした。(汗)

【Arduioでの組込機器開発考察】

arduioを使った組込ボードの開発事例がネット上でたくさん見受けられます。 使いやすいライブラリや事例をみると結構簡単に色々できそうなので、色々迷い込んでくる仕事に使えるかなぁ・・・・、と思いつつも、実際にはお客様に納めるモノに滅多に使わずじまいです。

その理由は、回路周りは自分で信頼を高める施しができても、ソフトの開発においてどこまで信頼がおけるのかが今ひとつだからです。

arduioの最大の弱点はデバッグ環境が貧弱なことで・・・・、 ブレークポイントを設けて変数の確認や変更などができないことでしょうか。 もしこれを検証するとしたら、自分でモニタープログラムを作って、デバッグ時にプログラムを止められるような仕掛けを作らなければならない。

なので、複雑な数値を扱ったり、その信頼性を要求するような機器には全く使う気にはならないです。 それでも、ものを動かしたり止めたり、簡単に通信をさせたり、データを保存したするにはとっても便利な開発環境なので使わない手はないとも思ってます。

arduio自体は、bootloader命みたいなモノなので、正しくブートプログラムを書き込んでおけっば、あとはユーザープログラム次第。 マルチタスクなOSではないので言われた?書いた通りにしか動かないのでお気楽です。 プログラムの制御そのモノについては、処理時間やタイミングに厳しいプログラムを作るのは厳しいかも・・・ それでも、既存のライブラリの信頼性や性能に満足できないのであれば自分で作ることもできるから、まぁイザというときには何とかなりそうだ。 コンパイラの信頼性というかバグについては、メーカー製から比較すると多少の不安はあれど、動作の検証さえしておけはそれほど変わりはなさそうです。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※投稿には管理者が設定した質問に答える必要があります。

名前:
メールアドレス:
URL:
次の質問に答えてください:
このブログは○○じるし研究院のブログですが、さて○○は2文字は何でしょう?

コメント:

トラックバック

このエントリのトラックバックURL: http://hmg.asablo.jp/blog/2015/12/18/7952741/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。