« R42が外せない(「エアーマンが倒せない」風に読んでください) | トップページ | 第4章を読解してみる »

2008年4月19日 (土曜日)

LED点滅サンプルを理解してみる

今回は第3章の開発ツールのインストールと操作方法で使用するLEDの点滅サンプルを理解してみる。とか書いてるが、組み込み系ってほんとにほぼド素人なんで「そんなのも知らんのか」的な突っ込み箇所が要所要所にあるかもしれないことを覚悟してください。

まず、最初に一通りソースを眺めた時点では「さっぱりぷぅ」ってな感じで猛烈な眠気に襲われて布団に撃沈。このソースのどこにロジックが・・・。というのが正直な感想。

まぁそういう傾向のソースの場合は大抵があれだ、私の知っている世界の話をすればいわゆる「フレームワーク」の中で動くソースで、定番的な動作というのは特に意識しなくても処理できるようになっている事が多い。故にサンプルプログラムとか言いながらそのフレームワークの挙動を知らないとちんぷんかんぷんなソースになっている事が多い。

今回の場合もその例に漏れていないようだ。つまり、私の言うフレームワークが今回のFRボードのマイコンが持つ各種タイマと割り込みとGPIOの仕組みに該当する。そしてそのフレームワークの設定を行っているのがmain.cのhardware_initで、実際に起動をかけるのがuser_main、それによって結果的に一定周期で呼び出されるハンドラがmodFR50_hal.cのppg0_handlerという事のようだ。

いずれ、PPGそのものを良く知らないので第6章を読む。P128の後半あたりからP130の図10でPPGの仕組み自体は理解。素人目に起動トリガOnでPPG出力波形がOnという先入観を持っていたのでちょっと戸惑いもしたりしました。とかいいながらこれも回路的に見たら最終段にあるXORで初期状態をどちらか(H or L)に指定できるようですね。ふむふむ。

でもP129の「パルス出力OFFに設定すれば内部タイマとして使用できる」はよく分からん。
「パルス出力OFF」っつうのは「PCSRレジスタ」の値を常に0にするって事?その辺未記載なので分からない。あとそもそも「内部タイマ」っつう表現も。ここは今後の課題か。

とりあえず第6章ともう少し格闘する必要がありそう。レジスタあたりもまだ全然感覚つかめていないし。自分なりのアプリケーションが作れるようになるまで、まだ先は長そうだ。

|

« R42が外せない(「エアーマンが倒せない」風に読んでください) | トップページ | 第4章を読解してみる »

コメント

コメントを書く



(ウェブ上には掲載しません)




トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2790/40919069

この記事へのトラックバック一覧です: LED点滅サンプルを理解してみる:

« R42が外せない(「エアーマンが倒せない」風に読んでください) | トップページ | 第4章を読解してみる »