そろそろニンジンの収穫の季節です。なんと一個、こんなニンジンっぽいのが
収穫できた! これはうれしい。

他に収穫したのは、ちょっと残念な育ちです。一番手前のなんて3cmもない。ニ ンジンとしての自覚をもって欲しい。この差はいったいどういうことなんだろ う。一番良くできたのは、種がうっかり外にまかれて、畝の端に育ってたやつ なんだよね。日当たりもよくて、他に周りもいなかったのがよかったのかも。
さっそく夕飯で食べました。味が濃厚でニンジンの味に溢れてます。

開発機の方はロジアナっぽいものにしてみました。これはLCDのクロックをとり こんだものです。DRAMを使ってないのでリフレッシュコントローラをインター バルタイマに使って、20usecごとにサンプリングしたものです。これから計測 すると、2.0KHzでした。モニタからの実行で割り込みベクタはモニタから間接 に呼び出しになるというのと、拡張RAMが3ステートアクセスということもあっ て割り込み突入までに最大13usはかかるのだ。これではせいぜい10KHzが限界か な。
ノギスのクロックは90KHzくらいあるので、割り込みでサンプリングは無理。
ここまで作るのに丸一日かかってしまった。というのも自作のRTOSの不具合で。 レディキューから全てなくなってしまった時にどうするか。今迄はなくなる前 のスレッドをそのまま走らせていたのだけど、モニタでスリープに入る時に割 込みを禁止した状態を覚えてしまって、割りこみが入らない。これはスイッチ する時にCCRまで記憶させているからなのだけど、割り込みOKの時からの時も とっておきたいので、しかたない。
とりうる選択肢としては、アイドリングスレッドを作っておいて、レディキューに ひとつもスレッドがない状態がないようにする。か、コンテキストスイッチ中に 割り込みを受けつけるようにスリープするか。
コンテキスト中に割り込みを受けつけるようにするとすると、割りこみハンド ラはカレントのスレッドのストレージに状態を記憶する。そうすると、本来の 状態が上書きされてしまうので、そのスレッドは呼び戻される時にはコンテキ ストスイッチ中にジャンプしてしまう(完全に戻るべき場所をなくしてしまう)。 なので、割り込みを受けつける前に特別の場所に、カレントスレッドの状態を 保存しておいて、そのスレッドにはフラグをつけておく、そして、いつかその スレッドが復帰する時には、フラグによって特別の場所の置いておいた状態を 復帰する。
それは無用な複雑さを招きそうなので、アイドリングスレッドにしておいたの だけど、これはこれで問題があった。
これはアイドリングスレッドとスケジューラとの間で延々とやりとりを繰り返 すことになる。そうなるとその最中に割り込みを禁止して作業することも多々 あるので、外部割り込みの応答性がとても悪くなってしまうのだ。
外部割り込みの応答性を保持しながら、何もしないには明示的にスピンするしか ない。
ここまでに気付くのに一日かかったのだ。

ここでやっとノギスの登場。これは以前使ったSHANのノギスです。これは確認 のためのはずだったのだけど、ここでまたはまった。どうも状態をとれない。 オシロあててみると、コンパレータの出力をそのままオシロにあてると、きっ ちりフルスイングするのだけど、H8の端子に接続した状態だと半分くらいまで にしかスイングしないのだ。これで、延々、あれやこれや配線外したりつけた りして格闘したのだけど、そういうものだった。H8の電源入れるときっちりフ ルスイングした。
しかし、ここでもRAMの問題が。RAMの遅さで3倍遅くなっているので、信号を とれるかとれないかのギリギリなんだ。

旋盤用に買っておいたアゴなしノギスです。アゴなしだとかなり安いです。フ ライスの時もこれが欲しかったのだけど、入手先がみつからなくてしかたなく ノギスから改造した。 http://www7a.biglobe.ne.jp/~isagida/ から、かなり安く購入できました。
これもボディがGNDじゃなく+なので、絶縁して取りつけないとだめだ。
クロックをとってみたところ、SHANと同じっぽい。


他に収穫したのは、ちょっと残念な育ちです。一番手前のなんて3cmもない。ニ ンジンとしての自覚をもって欲しい。この差はいったいどういうことなんだろ う。一番良くできたのは、種がうっかり外にまかれて、畝の端に育ってたやつ なんだよね。日当たりもよくて、他に周りもいなかったのがよかったのかも。
さっそく夕飯で食べました。味が濃厚でニンジンの味に溢れてます。

開発機の方はロジアナっぽいものにしてみました。これはLCDのクロックをとり こんだものです。DRAMを使ってないのでリフレッシュコントローラをインター バルタイマに使って、20usecごとにサンプリングしたものです。これから計測 すると、2.0KHzでした。モニタからの実行で割り込みベクタはモニタから間接 に呼び出しになるというのと、拡張RAMが3ステートアクセスということもあっ て割り込み突入までに最大13usはかかるのだ。これではせいぜい10KHzが限界か な。
ノギスのクロックは90KHzくらいあるので、割り込みでサンプリングは無理。
ここまで作るのに丸一日かかってしまった。というのも自作のRTOSの不具合で。 レディキューから全てなくなってしまった時にどうするか。今迄はなくなる前 のスレッドをそのまま走らせていたのだけど、モニタでスリープに入る時に割 込みを禁止した状態を覚えてしまって、割りこみが入らない。これはスイッチ する時にCCRまで記憶させているからなのだけど、割り込みOKの時からの時も とっておきたいので、しかたない。
とりうる選択肢としては、アイドリングスレッドを作っておいて、レディキューに ひとつもスレッドがない状態がないようにする。か、コンテキストスイッチ中に 割り込みを受けつけるようにスリープするか。
コンテキスト中に割り込みを受けつけるようにするとすると、割りこみハンド ラはカレントのスレッドのストレージに状態を記憶する。そうすると、本来の 状態が上書きされてしまうので、そのスレッドは呼び戻される時にはコンテキ ストスイッチ中にジャンプしてしまう(完全に戻るべき場所をなくしてしまう)。 なので、割り込みを受けつける前に特別の場所に、カレントスレッドの状態を 保存しておいて、そのスレッドにはフラグをつけておく、そして、いつかその スレッドが復帰する時には、フラグによって特別の場所の置いておいた状態を 復帰する。
それは無用な複雑さを招きそうなので、アイドリングスレッドにしておいたの だけど、これはこれで問題があった。
これはアイドリングスレッドとスケジューラとの間で延々とやりとりを繰り返 すことになる。そうなるとその最中に割り込みを禁止して作業することも多々 あるので、外部割り込みの応答性がとても悪くなってしまうのだ。
外部割り込みの応答性を保持しながら、何もしないには明示的にスピンするしか ない。
ここまでに気付くのに一日かかったのだ。

ここでやっとノギスの登場。これは以前使ったSHANのノギスです。これは確認 のためのはずだったのだけど、ここでまたはまった。どうも状態をとれない。 オシロあててみると、コンパレータの出力をそのままオシロにあてると、きっ ちりフルスイングするのだけど、H8の端子に接続した状態だと半分くらいまで にしかスイングしないのだ。これで、延々、あれやこれや配線外したりつけた りして格闘したのだけど、そういうものだった。H8の電源入れるときっちりフ ルスイングした。
しかし、ここでもRAMの問題が。RAMの遅さで3倍遅くなっているので、信号を とれるかとれないかのギリギリなんだ。

旋盤用に買っておいたアゴなしノギスです。アゴなしだとかなり安いです。フ ライスの時もこれが欲しかったのだけど、入手先がみつからなくてしかたなく ノギスから改造した。 http://www7a.biglobe.ne.jp/~isagida/ から、かなり安く購入できました。
これもボディがGNDじゃなく+なので、絶縁して取りつけないとだめだ。
クロックをとってみたところ、SHANと同じっぽい。
49, 241813 38 50, 0 3 51, 0 2 52, 0 2 53, 0 3 54, 0 2 55, 0 3 56, 0 2 57, 0 2 58, 0 3 59, 0 2 60, 0 3 61, 0 2 62, 0 2 63, 0 3 64, 0 2 65, 0 3 66, 0 2 67, 0 3 68, 0 2 69, 0 2 70, 0 3 71, 0 2 72, 0 3 73, 0 81 74, 0 2 75, 0 3 76, 0 2 77, 0 3 78, 0 2 79, 0 2 80, 0 3 81, 0 2 82, 0 3 83, 0 2 84, 0 2 85, 0 3 86, 0 2 87, 0 3 88, 0 2 89, 0 2 90, 0 3 91, 0 2 92, 0 3 93, 0 2 94, 0 3 95, 0 2 96, 0 2 97, 0 49 98, 241812 38RAMの遅さがかなりきついです。16bit2ステートアクセスなら
49, 613698 98 50, 7 13 51, 7 12 52, 8 12 53, 7 13 54, 7 12 55, 8 12 56, 7 13 57, 7 12 58, 8 12 59, 7 13 60, 7 12 61, 8 12 62, 7 13 63, 7 12 64, 8 12このくらいなのに。

