[H8-ML(3095)] 理想的開発環境とRTOS (Was Re: H8/3048 3052に関する気になる話)
From: Shigeru Makino <mac@xxxxxxxxxxxxxx>
Date: 2003年05月10日(土)11時45分28秒
macです。

OCN <wathavy@xxxxxxxxxxxxx> wrote:
> もし、「お金はいいから、好きに環境を揃えたまえ」
> となったら、(そんなうまい話はきっとペテン?は別にして)
> 
> 1.1Gオシロ(20Gs/sec)
> 2.デバッガ
> 3.RTOS(プリエンプティブマルチタスク環境の)

ほとんど冗談なので、そのつもりで (^^;
1. 2人ほど、Embeded Cross環境を使いこなせる手元を雇う。
2. CPU周辺のデジタル回路を作れる手元を約一名雇う。
3. 自分は仕事の振り分けと、Front end,
  Back endのアナログ部を担当して、コラボレーションする。

な〜んて言うのが、「好きに環境を揃える」かも...
# 結局「人」が、一番お金が掛るんじゃないかなあ。

という話は置いておき、(おいおい)

PIC程度の「小さい環境」だと、MPLABのような、エミュレーターがとても
役に立ち、良く使ってます。

上手くいくと、「はじめての焼付け」で、期待の動作をするまで持ってい
けることもしばしばです。
でも、2.6GHz P4なマシンでも、実クロックの数千分の1ぐらいもでない
ので、大きい環境には適用できませんね。

金に糸目がない場合の「人的環境をのぞく、ソフト、ハード的な」理想
的な環境としては、「実時間で走り、任意のI/Oをつけて実動作させら
れる、エミュレーター」なあ。
# 良く出来たICEとどこが違うんだという突っ込みが...

> TIの売りに、リアルタイムモニターというのがあって、
> 動作中に変数をモニタしたり、ブレークせずにしかも、
> 余分なコードなしに、変数の変更までできて、目が点になったんですが、
> こういう環境は、やはり、手バッグ環境に比べて
> 優雅な開発ですよねぇ?

たしかに優雅ですね。

GDBも、走行中のプログラムに別プロセスから「取り付いて」いろいろい
じれる機能がありますね。

でもそれは、システムリソースが十分にあり、マルチタスクOSがちゃん
と走る環境の話で、H8のRemote Debugでは到底無理ですね。

なので、I/Oの関係しない数値処理部分は、実機から実データーを取り
込んでFileに溜め込み、PC上で開発デバッグしてから、H8に実装しなお
す手順でやってるわけです。

先の「エミュレータ」をICEと敢えて分けたのは、実装置のCPUに成り代
わるのではなく、実機に比べてほぼ無制限のシステムリソースがあり、
それでいて、実機と同じI/Oを制御でき、同じマシンコードで走る、実
時間「仮想マシン」が、ほしいなあということなんですが。

> こういう、RTOS系+コード再利用性のお話に関して、
> 皆様は現在あるいは、将来、いかがでしょうか?

その昔、6809用に自分で書いた、
1. タイマーによる周期起動
2. タイマーによる遅延起動
3. 割り込み中でも安全に使えるmalloc(), Free()
4. そのた、malloc, stackの状態を監視できる、
ちょっとしたユーティリティー

だけしかない、RTOSと呼ぶにはあまりに貧弱な、シングルスタックモニ
ターを未だに使ってます。
その間、6809 > 6309 > H8/500 > H8/300 > H8/300Hと「系代培養」しま
したが、さすがに枯れ切っていて、まったくコードの書き換えをしてい
ません。

でも、そろそろ、マルチスタックのちゃんとした、RTOSを導入しようか
なあとも思うのですが、そういう用途では、RT-Linuxが使えるぐらい、
システムリソースにコストをかけられたりして、結局、そのままになっ
てますね。

-- mac



スレッド概略
[3020(R)](起点)
 └[3091(U)]
   └[表示中]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]