2009-03-13

SoC, device driver




SoC設計Eコースも、今日で最終日となりました。以前の実習の時と同じで、なんと時が過ぎるのが早いことか。。。

Eコースの課題は無線を使って組込みOSを搭載した台車を走らせ、1m先で停止させることです。課題へのアプローチには色々な方法があると思いますが、今回は理論アルゴリズムから中間アルゴリズム、そして実装アルゴリズムを求め、最終的にはそれをC言語で実装します。PID制御という方法で台車を制御しているので、実習では比例や微分・積分、ラプラス変換⇔逆ラプラス変換、z変換などを使わなくちゃいけないのか~、と思っていたのですが実際は既にある理論アルゴリズムを改良するという中々のチートっぷりでした。しかしながら、おかげさまでやることがほぼSWのみとなったので、僕としては願ったりかなったり。

では、具体的には何をやっているのかというと、Zigbeeを使った無線通信を台車と行うための、デバイスドライバ作りやミドルウェア作りです。これが凄い楽しい!デバイスドライバといっても、約五百行ぐらいのプログラムでで大した量ではないです。が、人生で一回はデバイスドライバを作ってみたかった僕としては非常に良い機会に恵まれたなぁ、と思ってます。まさかアルゴリズム設計のコースでデバイスドライバを作れるとは(笑)

加えて、SoC設計Eコースは、ほとんどの受講生が院生と社会人で構成されているので、実習以外の部分でも色々と勉強になることが多いです。中には、明らかに講師と同じぐらいの年のシニアエンジニアの人もいて、教わることが多いのなんの。例えば、今回のような組み込み系の開発ではデバッグが即座に行えないため、デバッグ効率を考慮した開発方針が求められるのですが、そのためのデザインレビューの徹底っぷりといったら、もう感動すら覚えるレベルでした。

とまぁ、現在はこんな感じで中々に楽しい実習を堪能中です。今日の最終発表までにはちゃんと台車を走らせ、1mで止められるよう頑張りたいです。

ではでは。

0 件のコメント: