ウインドリバー 組込みとモバイルソフトウェアの世界的なリーダー
ウインドリバーのオンラインサポートTechTip
ブックマーク/共有
ホーム : ウインドリバースクエア : ウインドリバーのオンラインサポートTechTip : 第6回 kprintfを使ってデバイスドライバの簡単デバッグ
TechTip

第6回 kprintfを使ってデバイスドライバの簡単デバッグ

今回のTechTipは、kprintfです。Kprintfは、シリアルI/Oにてポーリングモードで動作するローレベルのプリント機能です。printfと同じ機能でありながら、通常できないカーネル起動時の出力を可能にします。VxBusのデバッグでOS起動前は、通常、ICEやLEDを点滅させるなどでデバッグするしかありませんので、多くの時間を要していました。しかし、 VxBus対応のドライバーのデバッグでBSPの初期のブート時にprintfの代わりに使用することで、シリアルドライバーの初期化前でも、print文を表示させることができます。下記の図をご覧ください。

通常は、sysHwInit2が終了しないとシリアルにログを出すことはできません。そこでsysHWInitでkprintfの初期化をすれば、それ以降のドライバー、カーネルの立ち上げ時のprint文を表示させることができます。

それでは、実際にVxBusの初期化時にkprintfでメッセージを表示させる方法をご紹介いたします。(手順は、VxWorks6.8以降を想定しています。)



新たにデバッグ文を追加したい場合は、

VXB_DEBUG_MSG(2,"vxbDevInitInternal: vxbInitPhase = 2\n",1,2,3,4,5,6);

のように表示したいレベルを付けてください。

通常このタイミングでは表示されないデバッグ文をkprintfを使うことで、可能にするので、デバイスドライバの開発が非常に容易になるでしょう。ぜひ、お試しください。

Technical Tips一覧 »
ページの先頭へ戻る »