PHS経由でネットに接続できるEthernetアダプタのファームウェアをハック・中編 ―― LANにつないでメールの送受信と自動実行を実現

中本伸一

tag: 組み込み

技術解説 2007年11月 1日

● 電源を入れると自動返信サーバが動作

 SilentCには自動実行モードがあり,電源を入れると自動的にrunコマンドを実行します.やり方は簡単で,load SilentC_Registryというコマンドを入力します.listと入力すると,図4のようなリストが表示されます.edit 20と入力して,AutoRunというレジストリの値を0から1に変更します.ファイルを変更した後は,必ずsaveと入力して[Y]キーを押すようにしてください.

zu04_01.gif
図4 自動実行モード
load SilentC_Registryというコマンドを入力し,listと打ち込むと,図のようなリストが表示される.

 この状態でACアダプタを接続し直すと,先ほどのメール自動返信プログラムが自動起動します.これは,本機を組み込み機器として利用する際に便利な機能です.ほかのレジストリの値については,表1を参照してください.

レジストリ名 説 明
StartFile runで実行するファイル名を設定する
AutoRun '1'の場合,リセット時にrunが実行される
NoBreak '1'の場合,[CTRL]+[C]キーのブレークが無効になる
Telnet '1'の場合,リセット時にtelnetサーバが起動する. 300バイトほどのメモリを消費する
Port telnetのポート番号を指定する.デフォルトは23
Term '1'の場合,シリアル・ポートをデバッグ・コンソールに割り当てる.'0'の場合,ポートはSilentCプログラムから操作可能になる
表1 そのほかのレジストリ

 さて,実験が終了したらAutoRunの値を元に戻さなければなりません.以下の手順でレジストリ・ファイルを書き換えてください.コマンド・プロンプトから

 tftp 192.168.0.100 get SilentC_Registry

 のコマンドを実行して,本機からレジストリ・ファイルをパソコンに転送します.次に,パソコン上でSilentC_Registryの内容を編集して,AutoRunの値を0に変更します.

 tftp 192.168.0.100 get DeleteFileSilentC_Registry

 を実行して本機の現在のレジストリ・ファイルを消去してから,

 tftp 192.168.0.100 put SilentC_Registry

 で新しいレジストリ・ファイルを送り込みます.次回のリセットからは自動実行が無効になります.

 ここまでの作業で,かなりファイル・システムの無効領域が増加したと思います.無効領域の大きさは,dirコマンドを実行したときの???
fragmentという表示で把握できます.この値が800Kバイトを超えると,それ以上ファイルを編集できなくなります.早めにファイル・システムの最適化を行ってください.

 最適化の方法は,defragというコマンドを実行し,[Y]キーを押すだけです.最適化には通常30秒程度,最大で数分の時間が必要です.最適化中は,絶対に電源を切らないでください.もし途中で電源を切ってしまうと,現在のファイル・システムの内容は保証されません.こうなってしまったら,リカバリ処理を実行するしかありません.


なかもと・しんいち
(株)サイレントシステム エグゼクティブエンジニア

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! 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日