のんびり雑多 >> プログラム >> 組み込み開発奮闘記

2005年に入社した新人が体験した組み込み開発での奮闘をまとめています。
(自分の知識のまとめでもあったり)

組み込みシステムでは実験室などでインターネットが使えない環境があるので、 基本的にこのページ一つの中に全てを埋め込んでいきます(リンクは別です)
ローカルに保存してエディタなどで検索して探すと便利かも。
(そこまで大きい文章になるのかは不明ですが…)

本などの知識と、現場での必要とされている知識との大きな差を 少しでも埋められればいいなと思っています。

◆Anritsu

組み込み向けの、特にパケット処理をする装置でテストの際に必ずお目にかかるのが パケットアナライザと呼ばれる装置。 自由自在にパケットを生成することができる優れもの。 100万パケットも、エラーパケットも自分の思うがまま。

私が使ったことがあるのは、Anritsu製のMD1230B。WindowsXPが搭載されていて 普段のPCと変わらない操作方法で作業することができます。
操作するアプリケーションは英語ですが(そもそも搭載されているWindowsXPも英語版) 使えば何とか解ります。マスタリングTCP/IP 入門編を見ながら操作すると解りやすくて便利。

小さい画面で操作することもできるし、付属のソフトを使えばリモートで装置を制御できたりします。

ボードや各ポートやカウンタなどのログも保存できます。
保存したログの名前は同じになっちゃうので、保存後は名前を変えるようにするといいかも。
他のコンピュータへ保存したい場合は、フォルダのアドレスバーに \\192.168.0.2 とか指定すれば、転送側の共有フォルダが現れます。
Anritsuの装置は日本語キーボードを装着しても 英語キーボードとして認識されてしまうので「 \ 」が打てません。
バックスラッシュを打ち込まなければならないのですが、どこにあるのか迷います(^-^;
]む」} のキーを押してください。

パケットを自由に作れる装置で、ネットワークにも接続可能な装置なのに ウィルス対策ソフトが入っていなかったけどアレは大丈夫なのかな…
無限にパケットを不正送信することもできちゃうと思うんだけど…まあ、何か対策されているでしょう…

◆CGI/perl

「何で組み込み向けなのにWeb技術?」と思われるかと思いますが、
最近よくADSLのルータの設定とかインターネット感覚でできるでしょ?
(インターネットブラウザを起動してルーターにアクセスすると画面が出てくるやつ)
あんな感じのような、違うようなことをしたので。(濁し)

HTMLとCSSの整合性をチェックするならW3Cのサービスを利用しましょう。
エラーが無くなれば「W3Cでチェックして大丈夫でした!」と言えますし。
HTML検証 / CSS検証

私は余りWeb系は強くないのですが、開発する際に注意する点は
・画面の解像度
・CRTか液晶か(色の見え方が違うため)
・HTML、XHTMLのバージョン
・インターネットブラウザの種類とバージョン
 (Mozilla 1.2.1はやめておいた方がいい:RedHatLinux9.0に標準搭載されてます)
・インターネット一時ファイル(画像をプログラムで出力するようにするとGood!)


例:CGI/perl にてpng画像を出力

#!/usr/bin/perl
printf("Content-type:image/png\n\n");
# 出力したい画像を指定
$size = -s "XXX.png";
open(IN, "XXX.png");
binmode(IN);
read(IN, $buf, $size);
close(IN);
binmode(STDOUT);
print $buf;
exit;


画像が作成された時間を画像の名前とすれば、こんな面倒なことしなくていいと思ったんだけど、 組み込みの装置をリセットすると、時間も1970年に戻っちゃうんだよね…
そうすると時間が同じ場合が出てくるわけで…インターネットブラウザは怠慢だから、 同じ名前だと一次ファイルに残ってる画像を表示しちゃうわけ。
インターネットブラウザの設定でも何とかできそうだけど、利用者に設定を徹底させることは 無理だから、こんな戦法で乗り切ったのであります。

http://www.din.or.jp/~ohzaki/index.htm

◆CVS

◆Ethereal

◆FPGA

◆gdb

◆gnuplot

http://t16web.lanl.gov/Kawano/gnuplot/
http://k-sakabe.com/gnuplot/index.html
http://dsl4.eee.u-ryukyu.ac.jp/DOCS/gnuplot/gnuplot.html
http://www.google.co.jp/search?hl=ja&q=gnuplot+$1&btnG=Google+%E6%A4%9C%E7%B4%A2&lr=lang_ja

◆Makefile

◆M$ office

◆STM-1(SDH/SONET)

◆TeraTerm マクロ

◆TL1

http://www.tl1.com/

http://www.tl1guru.com/
 http://www.tl1.com/library/TL1/
 http://www.tl1guru.com/help/

http://www.adventnet.co.jp/
http://www.telcordia.com/
http://telecom-info.telcordia.com/

◆vi

◆シェル

◆ストリーミング

http://homepage2.nifty.com/netwarp/

◆C言語 メモ

http://www5c.biglobe.ne.jp/~ecb/c/c00.html
http://www.pro.or.jp/~fuji/mybooks/cdiag/index.html

◆書籍

私が読んだ(途中含む)書籍でお勧めなものを紹介します。

リアルタイム組み込みOS (翔泳社)
オペレーティングシステム入門 (CQ出版社)
組み込みC/C++プログラミング入門 (CQ出版社)
組み込みLINUXシステム構築 (オライリージャパン)
C言語入門書の次に読む本 (技術評論社)
エキスパートCプログラミング (アスキー出版局)
マスタリングTCP/IP(入門編、応用編、SNMP編、IPv6編) (オーム社)
C for Linux 2 超実践Linuxネットワークプログラミング (秀和システム)
実習UNIXシェル 第二版 (ピアソンエデュケーションジャパン)
GNU Make (ASCII)
わかりやすいSDH/SONET伝送方式 (オーム社)
わかりやすい通信プロトコルの技術 (オーム社)
Web標準の教科書 (秀和システム)
Perl教科書 (ソフト・リサーチ・センター)


リンク等

http://codezine.jp/
http://www.atmarkit.co.jp/fembedded/