ikkei blog

電子工作やパズルのブログです。主にLEDを使った電子工作をやっています。

Arduino ファンクラブへ行ってきた

2011年07月10日 23時04分32秒 | Arduino
今日はArduino ファンクラブへ行ってきました。
今回も各自バラバラに作業をしていました。
私も、先週買った基板(OAKS16-ChipBoard)に部品をハンダ付けすることにしました。


一応、ハンダ付けが出来ました。
左側が今回の基板。必要な部品のみ実装しています。右側が実装済みのOAKS16-BoardKitです。

RS232Cの部分は使わないので、コンデンサを実装していません。
また、リセットICはM51957ですが、既に絶版。代わりにM51953を載せました。

ここで、動作確認のため、MacBook Pro のParallels上のWindows にHEWをインストールしてみました。
インストール自体はうまくいった様ですが、USBドライバがまずかったのか、動作確認出来ませんでした。

とりあえず、今日はここまで。部品実装が出来たから、良しとしよう。

第1回関西 組込みこぞう勉強会に行ってきた

2011年07月10日 01時13分29秒 | マイコン
9日はツイッターで@prototechno さんに教えてもらった第1回関西 組込みこぞう勉強会へ行ってきました。
18:15から21:25まで、組込みに関する色々なプレゼンがあって盛りだくさんでした。
私はどちらかというとハード寄り、小規模のワンチップマイコンの方が好きで、
最初の「最適化」の話と最後の各種マイコンのアセンブリコードの話が面白かったです。
RTOSやAndroidの話になると、直接ハードウェアを扱わないので、PCアプリと大して変わらない気がするのです。

最適化の話は、いわゆる「組込みC言語」なるセミナーや教科書には必ず出てくる項目で、
Volatile というキーワードもそこで出てきます。
でも、実際にトラブルに直面しないと、なぜそのような事が必要なのかが理解しにくいものです。
だから、本当にトラブルに遭遇できたのはラッキーで、その教訓は次回に活きるでしょう。

マイコンによってアセンブリコードが違い、それぞれ特徴があると言う話は、
クロスコンパイラから生成されるアセンブリコードで、違いを見ると言う物でした。

確かにそれで色々なマイコンのコードを見ることは出来ますが、
アセンブリコードから見えてくるCPUのアーキテクチャを見るには不足です。
例えば、ビットローテイト命令などはC言語では活躍の場が無く、生成されません。
さらに、最適化のところでも出てきたビットセット命令などは
通常のコードからは生成されません。

あと、せっかく違いが見えたのなら、
CPUの系譜までひも付け出来たらもっと面白いものになったと思います。
          -> MC6809 (高機能化)
PDP11 -> MC6800 -> MC6805 -> MC68HC08 (ワンチップ化)
          -> MC6801 -> MC68HC11 (ワンチップ高機能化)
これくらいググればすぐに分かります。
だから、PDP11と68HC11のコードが似通っているのはうなずける筈で、
C言語をコード化するのに特化したコードが発見出来たりしたら、さらに面白いですね。