what you see is what you get

名前だけでも覚えて帰ってください

【初心者向け】組み込みプログラムの学習に役立つサイト7選

思うところがあって書いた前のエントリが思いのほか好評だったので驚いた。
ブクマのコメントとか読んでると、僕が考えてきたことが間違っていないのだなと思って嬉しかった。
のでこのblogでは組み込みのことを書いていこうと思う。

というわけで僕が組み込みの勉強をはじめたときにリファレンスにしたサイトをまとめようと思う。
「なんでこれがないんだ!」みたいなものがあればコメントなどでお寄せください。
随時追加します。
特に僕はRTOSや組み込みLinuxについてはあまり知識がないので…

マイコン入門コース・基礎編

http://www3.toshiba.co.jp/semicon/member_semicon/micon_elearn/micon_intro/mic_intro_top.html
マイコンの基本的な動作とか機能についてのe-learning教材。
東芝のサイトだけど、ルネサスなどの他社マイコンでもこれを読めばOK。
マイコンってなによ?」ってところから解説してあるし
特に「マイコンの基礎機能(アーキテクチャの説明)」は初心者でも分かりやすく短文にまとめてある。

  • 割り込み処理
  • 優先順位
  • スタックとスタックポインタ
  • スタック
  • 割り込み処理の種類
  • ノンマスカブル割り込み
  • マスカブル割り込み
  • リセットとウォッチドックタイマ

あたりの組み込み特有の「割り込み処理」のところは通読するといいと思う。

エレキジャック: (連載)シリアル・インターフェース アーカイブ

http://www.eleki-jack.com/cat21/
マイコンと外部素子が通信する際の通信方式であるSPIとかI2Cについての解説。
素子間通信については組み込み門外漢だった人には全く新しい分野だと思うので押さえておくこと。
前のエントリでトランジスタ技術とかディジタル・デザイン・テクノロジは
初心者には難しいと書いたけど、特集によっては初心者向けのよいものももちろんある。
これはその好例と言えると思う。
SPIで検索すると、就職試験のSPI対策のページばかりヒットするのでうんざり…。

センサ道場

http://www.netdecheck.com/coffee_break/dojyo/index.html
タイトルではセンサの話を扱っているようだが
「プルアップ抵抗ってなんでいるんだよー!」とか
「結局トランジスタでなにがやりたいの?」とか
そういうちょっとした疑問にふわっと答えてくれるサイト。
「ちょろっとIbを流すと、ドカッとIcが流れる素子」とか
手書きのグラフとか回路図とかでなんかほのぼのしている。
東京ガスのサイトだってのが意外でした。

ラトックシステム PC オーディオ ブログ

http://blog.ratocsystems.com/pcaudio/
I2SとかS/P DIFとかでIC間で音声データをやりとりする人は必見。
(すみません僕がデジタルオーディオ屋なもので…)
特に
#20 Digital Audioの伝送について(I2S編)
http://blog.ratocsystems.com/pcaudio/2008/04/20-digital-audi.html
#23 Digital Audioの伝送について(S/PDIF編 その3)
http://blog.ratocsystems.com/pcaudio/2008/06/23-digital-audi.html
は今まで読んだ中で一番良くまとまっていて分かりやすい。

【改訂版】組込みソフトウェア開発向けコーディング作法ガイド[C言語版][C++言語版]

http://sec.ipa.go.jp/publish/index.html#emb
IPAの組み込み関係の本はあんまり面白くないし役立った試しがないのだけど
この本は通読しておくといいかもしれない。
特に「C/C++での」コーディング規約などを意識していなかった人にはおすすめ。
「こう書くと間違いが少ない」みたいなものを把握しておくのは無駄じゃない。
上記サイトからPDFがダウンロードできるのでそれで足りると思います。
どうしても本で欲しい人は買ってもいいし
ESECなどでIPAのセッションを聞いたらタダでもらえます。
初心者がETSSとかの本を読むのは時間の無駄なのでやめましょう。

オシロスコープ ラーニングセンター

http://www.tek.com/ja/learning/oscilloscope-tutorial/
テクトロニクスのサイトだけど、基本的な内容は各社一緒なのでこれを読めばOK。
何が出来るのか、どうすればいいのかということが分かりやすく説明してある。
登録が必要なのが玉にキズ。でも個人名でもダウンロードできるのでご安心を。
もしテクトロのオシロを持っている会社だったら誰かが持っていないかさがすのもありだと思う。
Love!テクトロ!

「組み込み」ならではの基礎知識 ――スタートアップ・ルーチンからハードウェアまで

http://www.kumikomi.net/archives/2003/05/10kumi.php
今までデスクトップで動くアプリケーションを作成していた人だと
学校で「Cではmain()から実行されますよ」と習ったので
初期設定などを見たいのにmain()からずーっと追っちゃって見つかんないって苦労をした人も少なくないと思う。
実際は"リセットベクタ"というアドレスを読みに行くんだけど…というくだりを説明してくれる記事。

以上のサイトに書いてあることはハードウェアマニュアルでは
「分かってること」として記載されているので
上記に記載してあることを頭においておけば理解も深まると思う。