風夢です、実は、本当はこの記事をずいぶん前から書きたかったのですが、他にも書かないとって思うことがあったので、遅くなってしまいました。
以前に、デジタルオシロスコープの紹介をしましたが、似ているようで、違う測定器です。
まず、取り扱える信号の数がオシロスコープと、ロジックアナライザでは圧倒的に違います。
一般的なオシロスコープでは、2CHもしくは4CHが標準的ですが、ロジックアナライザは16CHとか
それ以上になります。
一般的にデータバスや、コントロールラインの信号レベルをH/Lを測定するのがロジックアナライザです。
例えば8ビットでデータを出力するデバイスからの、信号の読み込みをする場合にデバイスからは
リクエスト信号が出力されて、CPUは割り込み処理を行ってREAD信号を発生させてから、データバスに信号が流れます。
(READ信号も、状況しだいで IO READと MEMORY READ の場合もあります 個別のCPUで違います)
当初のロジックアナライザは、このような感じのものでしたが、お値段は怖いほど高くて、扱うのにちょっとびびってしまうようなものでしたが、その後さらに機能面で進化しています。
CPUのデータバスに流れるのは、かなりの割合で実行コードなわけで、それはアセンブラレベルになりますが、CPUが何を実行しようとして ロードしてるのか分かるということになります。
残念ながら、こういう高度なロジックアナライザを使ったことがないので、これ以上の詳細に関しては知りませんが、ICEでやっていることに近いところが外部から観測できることになります。
また、アジレンス等だったかな、デジタルオシロとロジックアナライザが組み合わさった製品も出てきているようです。
組込み開発の市場規模が大きくなるにつれて、それを支援する機材のほうも研究開発されて発展していってます、直接使う機会がなくても大体どういうものなのかを知っておかないと、いざそういう機材を使って開発に当たるときにロスタイムが発生してしまいます。
組込みシステム開発のソフトウェア技術者は、本当に日々勉強していくことが多い大変な分野です、ただし出来上がったものは製品という形で有形の物として存在しますので、やりがいも大きいです。
組み込みシステムに関する事柄を、ソフト屋さん、ハード屋さん 両方に役に立つようにという視点で書いていければと思います。 元々はハードに興味があったのですが、いつのまにかソフト屋さんになって、 ハードとソフトの両方の知識が必要な分野の仕事を、手がけていました 細かい設定はこれからですが、とりあえず書き始めてみます 2012/05/31 制御系とも言いますね、いくつかブログを書いてると、更新がなかなか大変ですが、ぼちぼちと続けていきます。 2012/06/07 他のブログでは 一人称 風夢を使っているので、ここでも風夢を使うことにします 2012/06/11
2012年7月12日木曜日
2012年6月15日金曜日
組込みでこそ活用できるソースのバージョン管理
ソフト開発を行っている人なら ソースのバージョン管理ツールという単語は良く耳にしていると思います。
組込開発の場合ハードの開発が同時に行われている場合、一度改造されて、その後また、元に戻る場合があったりします
その場合、バージョン管理を行っていると、元の状態に戻すのも簡単です
また、ハード自体は同じで、派生品の開発などが行われる場合、バグが発生した場合に、両方のプロジェクトに対応内容を反映させることも容易になります
CVS,SVN(Subversion),Git 等あれこれとあります
大まかにどんな感じかというと
・個々のファイルを更新して登録する時に、個別にバージョンが自動で登録される
(この時に、更新内容を登録すること、バグ管理とか使っている場合バグNo等有用)
・中間リリース、あるいはテスト部隊に評価バージョンを渡す場合に、プロジェクト全体をひとかたまりのバージョンとして登録しておく
・派生プロジェクトが発生した場合は分岐を作成する
・現在(現在に限らず任意)のファイルと以前のファイルの変更箇所を見ることが出来る
もしも、まだ、使ったことが無いのでしたら、WinCVSあたりをとりあえず使ってみて、バージョン管理がどんなものか実感するのがいいと思います
既にかなり枯れた(こなれている)ものになっていて、リポジトリ(管理データの大元)もローカルディスク、ネットワーク上の共有ディスクでの運用も可能ですし、LinuxサーバーでPserverの設定の仕方等も簡単です
ただ、闇雲に毎日仕事の終わりに登録するってのは駄目ですけどね
最低限、コンパイルが正常に通り、機能的にも正常に動作しているってのがありますけどww
組込開発の場合ハードの開発が同時に行われている場合、一度改造されて、その後また、元に戻る場合があったりします
その場合、バージョン管理を行っていると、元の状態に戻すのも簡単です
また、ハード自体は同じで、派生品の開発などが行われる場合、バグが発生した場合に、両方のプロジェクトに対応内容を反映させることも容易になります
CVS,SVN(Subversion),Git 等あれこれとあります
大まかにどんな感じかというと
・個々のファイルを更新して登録する時に、個別にバージョンが自動で登録される
(この時に、更新内容を登録すること、バグ管理とか使っている場合バグNo等有用)
・中間リリース、あるいはテスト部隊に評価バージョンを渡す場合に、プロジェクト全体をひとかたまりのバージョンとして登録しておく
・派生プロジェクトが発生した場合は分岐を作成する
・現在(現在に限らず任意)のファイルと以前のファイルの変更箇所を見ることが出来る
もしも、まだ、使ったことが無いのでしたら、WinCVSあたりをとりあえず使ってみて、バージョン管理がどんなものか実感するのがいいと思います
既にかなり枯れた(こなれている)ものになっていて、リポジトリ(管理データの大元)もローカルディスク、ネットワーク上の共有ディスクでの運用も可能ですし、LinuxサーバーでPserverの設定の仕方等も簡単です
ただ、闇雲に毎日仕事の終わりに登録するってのは駄目ですけどね
最低限、コンパイルが正常に通り、機能的にも正常に動作しているってのがありますけどww
登録:
投稿 (Atom)