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