ラベル リスクマネージメント の投稿を表示しています。 すべての投稿を表示
ラベル リスクマネージメント の投稿を表示しています。 すべての投稿を表示

2012年11月2日金曜日

組み込みシステム OS無し ウォッチドッグタイマー

割り込み処理の話を思いつきで書いていたら行き詰ったままなので、いったん放置して 違うことについて書いてみます。


 組込みシステムでは ”フェールセーフ”になるようにシステムを設計します。

 また別途書くことがあるかもしれませんが、 
・データのバックアップ(主にRAM)
 ・設定のバックアップ(EEPROM)
 ・電圧監視によるリセット
 ・ウォッチドッグタイマーの利用

 それぞれが関係してくるので、

全部を一気にとは行きませんが今回はウォッチドッグタイマーに 関して書いてみます。

 ハード回路としての、ウォッチドッグタイマーもあれば、CPU内蔵のウォッチドッグタイマーも あります。

 処理を簡略化してC言語のソースで表すと

 void main() {
     while(1) {
       func1();
       func2();
       func3();
       clear_wdc(); // ウォッチドッグタイマーのクリア処理
     }
 }

 こんな感じです、どこかの処理に異常が起きた場合にシステムが完全に停止してしまわないように するために、使用されます。

 割り込みの優先順位はかなり高く設定されます (システム全体の健全な動作に関わるため)

 その割り込み処理内で、何らかの処理を行いますが、システムをリセットしてしまうこともあります。

 ウォッチドッグの処理の割り込みの関数にジャンプしてきた場合は、何らかのトラブルが システムに起きていることになります。

 多くの場合は、設計不良、想定外の多重割り込み、場合に寄れば電気的なトラブルの可能性もわずかにありますが、システムごとに違います。

 いくつかの条件が整えば、WDT割り込みが発生したかどうかを確認できます 

・バックアップ可能なメモリーに発生した情報を格納、更新できること
・その情報に何らかの形で外部からアクセスできること
 例えば
  ・EEPROMに書き込んでおいてJTAG接続のICEで確認する
  ・1次電池、2次電池でバックアップされている、RAMに書き込んでおいて、
   サービスコンソールで  参照する
  ・あるいは、システムログとして保存しておいてメール、WIFIでの転送、
   SDカードへの書き込み等 方法としては幾つも考えられます


 関連する項目があるのでさらっとだけ説明して終わりにします。

2013/09/27 何故だか、改行などが変になっていたので修正しました。

2012年7月11日水曜日

ライセンス問題 組込みシステムでは避けて通れない話

風夢です、今日はまたまた、ハードから離れた話ですが、ライセンスのことを話題に取りあえげて見ようと思います。


ライセンス、あるいは著作権という単語自体は日常的に耳にする言葉でなんとなく、分ったつもりになっているものですが、今日のソフトウェア開発の場合、デリケートに対応する必要があります。

それというのも、Linuxの普及によるものが大きいです。

有償、無償でいろんなOSがありますが、デファクトスタンダードとしてLinuxがどんどんと組込み機器にも使われてきています。

Linux自体も、ソフトウェア開発者なら一度調べて見るといいと思うのですが、あえて説明をしますが、カーネルとツール類は別物です。


今記事を書こうとしながらも、すぐには思い出せないほど、ライセンスには種類があります。


・コピーレフト
・GPL
・GPL2
・BSDライセンス?
・アパッチライセンス?
・BSDライセンス?
・プロプラエタリライセンス


あと、ソフトに場合によってはデュアルライセンスといって、複数のライセンスから選択をする場合もあります。



組み込み機器では特に、ソースファイルを改変などした場合に、その部分を公開する必要があるかどうかなどありますので、ライセンス関係をしっかりと確認した上で、参考にしたりする場合にはプロジェクトリーダー等に確認をとっておく必要があります。


ライセンスに関しては今後はあまり取り上げないかもしれませんが、大事な問題なので、一度しっかりと勉強をしておくことをお勧めします。



さすがに難解なのと自分自身でも、おさらいをする必要があるので、記事を書きながら探したページのリンクを貼らせてもらいます。

<漢のコンピュータ道(デュアルライセンスで検索しました)>

<Linuxカーネル WIKI>

<組み込みLinuxの手引き>