6 PocketLinux 固有のデバイスファイル

この章の目次へ

6.1 /dev/mgfb

crw-rw-rw-   1 root     root      29,   0 Mar 16 22:34 mgfb
crw-rw-rw-   1 root     root      29,   0 Mar 16 22:34 fb0
フレームバッファです。MGL が使用します。 書き込みは 1 つのプロセスからしか許可されません。

6.2 /dev/mgfont

cr--r--r--   1 root     root      58,   0 Mar 22 22:56 mgfont
cr--r--r--   1 root     root      58,   0 Mar 22 22:56 mgfont0
cr--r--r--   1 root     root      58,   1 Mar 22 22:56 mgfont1
cr--r--r--   1 root     root      58,   2 Mar 22 22:56 mgfont2
cr--r--r--   1 root     root      58,   3 Mar 22 22:56 mgfont3
cr--r--r--   1 root     root      58,   4 Mar 22 22:56 mgfont4
cr--r--r--   1 root     root      58,   5 Mar 22 22:56 mgfont5
cr--r--r--   1 root     root      58,   6 Mar 22 22:56 mgfont6
cr--r--r--   1 root     root      58,   7 Mar 22 22:56 mgfont7
cr--r--r--   1 root     root      58,   3 Mar 22 22:56 mgfonts
内蔵フォントです。MGL はこのうち mgfonts を使用します。 将来、mgfonts の minor number は変更されるかもしれません。 また、font0 とそれ以外では内部フォーマットが違います。 ioctl を叩けば font metric を知ることができますが、詳細はソースツリーの drivers/necmg/mgfont.c を参照してください。

6.3 /dev/romc

br--r--r--   1 root     root      57,   0 Mar 19 22:22 romc
br--r--r--   1 root     root      57,   0 Mar 22 22:57 romdisk
MG-DOS でいう C: ドライブです。

# mount -r -t msdos /dev/romc /dos/c

すると C: を読むことができます。I:, J: を読むには、C: を読めるようにした後にさらに

# insmod dmsdos 
# mount -r -t msdos /dos/c/dblspace.001 /dos/i
# mount -r -t msdos /dos/c/dblspace.002 /dos/j

などとします。

6.4 /proc/apm

APM BIOS rev. 1.0 相当です。 PocketLinux 使用時のバッテリ電圧変化の様子については グラフ を参照してください。 以下の閾値は、この実験グラフに基づいて設定されています。

Battery critical notify (自動 suspend)

電圧が 2.3V を切ると Battery critical notify イベントが発生します。 この時カーネルの config で auto suspend を 'y' にしていると 自動的に suspend に入ります(system suspend notify)。

PocketLinux の場合、2.3V を割ると auto supend を 'n' にしてあっても 最短で 20 分ほどで落ちると思われます。

参考までに、落ちる時のバッテリ電圧は 2.0V です。

Battery low notify

電圧が NiMH の場合で 2.37V, アルカリ電池の場合で 2.40V を切ると Battery low notify イベントが発生します。 グラフを参照すると分かりますが、この Battery low notify が出た時点で バッテリはかなり消耗しています。連続して使い続けるなら 1 時間ほどで critical notify (auto suspend のレベル) に入るでしょう。

Battery life

モデムを使うか使わないかでバッテリの持ちは大きくかわります。 このため、モデムを使っている時と使っていない時とでは バッテリ余力の計算方法が違いますが、あくまで参考程度に考えてください。

6.5 /proc/necmg

/proc/apm のフォーマットは定められているため、バッテリ電圧そのものは /proc/apm からは 読みだせません。バッテリ電圧の他、PocketLinux 特有の情報を引き出すために /proc/necmg があります。

1003 版では以下のようなフォーマットになっています:

# cat /proc/necmg
Installed device         :0000
Powered device           :0002
Current batt level       :0103 (2.61)
Current batt voltage     :2.59 - 2.63
Current CPU clock        :25.0 (25.0, 0)
CPU Turbo Mask           :0b66
CPU Normal Mask          :0000
Font Width               : 6
Font Height              :12
Kbdrate delay            :250
Kbdrate repeat           :25.0

Installed device

APM が監視すべきデバイスのうち、install (insmod) されているものを表します。 ビット毎にデバイスが定まり、

SUSPEND      0x0001
AC           0x0002
SCROLL       0x0004
COMPRESS     0x0010
UNCOMPRESS   0x0020
USERPROCESS  0x0040
SERIAL       0x0100
MODEM        0x0200
IRDA         0x0400
SOUND        0x0800
となっています。詳細は PocketLinux Technical Guide を参照してください。

Powered device

APM が監視すべきデバイスのうち、現在駆動されているものを表します。

Current batt level

APM BIOS の BX 値そのものと、現在のバッテリ電圧(V) です。

Current batt voltage

最近の最低電圧と最高電圧です。 定義は PocketLinux Technical Guide を参照してください。 おおむねカードにアクセスするなど重負荷時の電圧と、無負荷時の電圧に対応します。

Current CPU clock

現在の CPU クロック(MHz) です。 カッコ内は現在のマスタークロックと分周値をあらわし、

CPUクロック = マスタークロック / (2^分周値)
の関係にあります。

CPU Turbo Mask

APM が監視すべきデバイスのうち、mask に対応するビットが立っている時に CPU を config で指定した最速クロックで駆動します。

CPU Normal Mask

現在は使われていません。

Font Width

現在のコンソールの ASCII font の幅(pixel 単位) です。

Font Height

現在のコンソールの ASCII font の高さ(pixel 単位) です。

Kbdrate delay

キーボードリピートの遅延(最初のキーからリピート開始まで)です(ms 単位)。

Kbdrate repeat

キーボードリピート速度(リピート間隔)です(cps 単位)。

次の章へ , 前の章へ

この章の目次へ, この文書の目次へ

この文書の最初へ , この章の最初へ