ソフト・マクロのCPUでLinuxを動かす(後編) ──OSの実装とネットワーク対応機器への応用

川岡 圭一,Jeerapong Putthanbut

tag: 組み込み

技術解説 2004年9月15日

● ソフトウェアの開発

 今回のソフトウェアは,ネットワーク側から受信した画像データをそのままLCDモジュールに書き出すだけのシンプルな構成とすることにしました.

1)LCDデバイス・ドライバ(suzaku_lcd.c)

 LCDモジュールのデバイス・ドライバを,表3の仕様で作成します.

 このデバイス・ドライバ内で使用している代表的なカーネル・コールを表4にまとめます.このドライバを,カーネルに静的に組み込んで使用します.

2)アプリケーション部

 実際にネットワークから画像データを受信するアプリケーション部は,netcat(nc)というオープン・ソースのアプリケーションをそのまま使用します.具体的には,このアプリケーションをlistenモードで起動して,出力をLCDデバイスにリダイレクトするように設定するだけで,必要な仕様を満たすことができます.動作のようすを写真2に示します.

 実際の機器の開発では,もちろん専用のアプリケーション・プログラムの開発が必要になります.

表3 デバイス・ドライバの仕様

デバイス・ドライバ名 suzaku_lcd
デバイス・ノード名 /dev/suzaku_lcd
デバイス・タイプ キャラクタ・デバイス
ドライバ初期化時動作
  • 0フレーム・バッファの確保
  • LCD電源ON
ドライバ開放時動作
  • フレーム・バッファの開放
  • LCD電源OFF
writeメソッド
  • 画像データのLCDデバイスへの出力
ioctlメソッド
  • LCD_IOC_ON :LCD電源ON
  • LCD_IOC_OFF:LCD電源OFF


表4 使用するカーネル・コール

カーネル・コール
内 容
kmalloc カーネル内でのメモリ確保
kfree カーネル内でのメモリ開放
register_cherdev キャラクタ・デバイスの登録
unregister_chrdev キャラクタ・デバイスの解除
copy_from_user ユーザ空間からカーネル空間へのデータ・コピー


p02_01.jpg


p02_02.jpg
写真2 LCD表示のようす

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日