H8シリーズのマイコンを仕事で利用したりします。
それまでは、机上デバッグでした。
ソースとにらめっこで頭の中でシミュレートし、バグを探すのです・・・。
先日、客先から要望があり、イエローソフトのイエロースコープなるものを使うことになりました。
初めての開発環境は、それなりにハマったりしてたくさんの時間を費やすのが普通です。
今回も初めてのイエロースコープでたっぷりハマったのでいくつか報告します!
○リンクできない!
昔ながらの開発環境では、コンパイラ・アセンブラ・リンカ・ライブラリアンがセットになっています。
しかしイエローソフトの開発環境では、リンカとライブラリアンが統合されている様な感じです・・・。
これハマりました。orz
私の頭の中では、リンカはすべてのオブジェクトをリンクしてくれると思っています。
しかしイエローソフトでは、ライブラリアンの機能も加わって、参照されたオブジェクトのみリンクされるのです。
一見便利そうな機能です。
無駄なオブジェクトは自動的に削除されるのでメモリの節約になります。
ところが、プログラムコードでは明示的に参照されなくても動的に参照されるオブジェクト部分・・・
これリンクされません。
動的に参照されるので、シンボルが無いのでリンカが勝手に削除してくれるのです。
おかげでプログラムが暴走しまくり・・・
これに気付くのに数日かかりましたよ。
イエローソフトのリンカは、明示的に参照していないオブジェクトはリンクしません。
注意してください。
○割り込みベクタ
H8/300hでは、割り込みベクタテーブルが64本用意されています。
計256バイト(100H)を000000Hから配置しています。
なのでプログラム開始は、通常100Hになるのですが・・・
64本すべてを利用していないチップのスタートアップルーチンでは、利用していない後ろの部分を削除してプログラム開始アドレスが100Hより前になったりします。
これもハマりました。
私が使ったチップは、64番割り込みまで実装されているチップです。
イエローソフトが用意したスタートアップルーチンは、60番までしか割り込みが定義されていません。
このため、61~64番までのベクタテーブルがプログラム領域と重複してしまい、ある割り込みが発生する度にプログラムがリセットされてしまいました。
分かれば簡単な落とし穴でした。
以後注意します。
上記問題が解決するまでは、イエロースコープ(デバッガ)が使えませんでしたが、もう使えます。
これから効率が上がる事でしょう。
このサイトは、広告収入により運営しております。
2010年4月15日木曜日
2010年3月1日月曜日
オーバー・ザ・フェンス
ハイパーヨーヨーがまた始まりましたね。
私はヨーヨーを少しかじった事があります。
子供に混じってハイパーヨーヨーをやる気はありませんが、大人の趣味として続けられればと思っています。
・・・と思ったので、ネットでヨーヨーを探してみました。
すると、ヨーヨー専門店なるお店を見つけました!
ヨーヨーの専門店があるとは・・・うれしいやら驚いたやら・・・
ネット時代。何でもありますね。(^^
早速そのお店でヨーヨーを購入しました。
なんと、お昼頃注文したのに、次の日に配達されるではありませんか!
あまりの早さに感激です。
そんで、久しぶりのヨーヨーなので、分かんないことだらけ・・・
ヨーヨー屋さんに何度かメールして色々質問しちゃいました。
昔と違って今のヨーヨーってすごく進化しているんですね。
こちらも驚きです。
でもビデオ撮影に使ったヨーヨーは、昔ながらの固定軸タイプです。(^^;
どうです?
上手いでしょ?
私はヨーヨーを少しかじった事があります。
子供に混じってハイパーヨーヨーをやる気はありませんが、大人の趣味として続けられればと思っています。
・・・と思ったので、ネットでヨーヨーを探してみました。
すると、ヨーヨー専門店なるお店を見つけました!
ヨーヨーの専門店があるとは・・・うれしいやら驚いたやら・・・
ネット時代。何でもありますね。(^^
早速そのお店でヨーヨーを購入しました。
なんと、お昼頃注文したのに、次の日に配達されるではありませんか!
あまりの早さに感激です。
そんで、久しぶりのヨーヨーなので、分かんないことだらけ・・・
ヨーヨー屋さんに何度かメールして色々質問しちゃいました。
昔と違って今のヨーヨーってすごく進化しているんですね。
こちらも驚きです。
でもビデオ撮影に使ったヨーヨーは、昔ながらの固定軸タイプです。(^^;
どうです?
上手いでしょ?
このサイトは、広告収入により運営しております。
2010年2月3日水曜日
Cold Fire
冷たい炎。
注文した電子制御キャンドルが届きました。
予想以上に素敵な輝きを見せてくれます。
PICマイクロコンピュータと3個のLEDで、まるで風に揺らぐ炎の様です。
3個のLEDが回転するように光ります。
また今にも消えそうな、それでいてパチッと弾ける様なリアリティのある演出です。
とっても気に入りました。
外から見ると、ロウソクそのもの。
でもビンに入れて密封しても消えませんし、暴風の中でもゆらゆら光り続けます。
とても不思議なロウソク・・・。
中には、スイッチが入っていて4つの揺らぎモードを切り替える事が出来ます。
・室内チラチラロウソクモード
・焚き木&屋外モード
・屋外モード
・ランタンモード
お気に入りは、焚き木&屋外モードです。
炎が風に揺らぐのと時たま燃える木がパチッパチッと弾ける様子も再現されています。
それらの強さをボリューム調節する事もでき、とても楽しめます。
早速、家の暗い廊下に置いてみます。
9V電池でどの程度の時間、燃え続けるのか?
実験してみます。
LED等を色のついた物に変更して楽しんでみます。
夜が待ち遠しいです。(*^-^*)v
2010年2月2日火曜日
お客のすごい集め方
↑この本を買って読んでみました。
なかなか読みやすい本です。
お客を集める仕組みをいくつかの要素に分解してわかりやすく説明しています。
今まで何気なく見ていた広告が読めるようになります。
広告が読めるとは、広告の戦略。売る仕組み。心を押す何か・・・
そんな事が理解できるようになります。
それまでは、まったく意識しなかった広告。
この本を読んだ後は、広告を作った人のメッセージやレベルまでもわかるような気がします。
そして今まで自分がやってきた宣伝は一体なんだったんだ!と思ってしまいますね。(^^;
闇雲に広告を書いたって誰も心動かされません。
時間をかけて一生懸命やったって無理なものは無理。
きちんとポイントを押さえて効率の良い宣伝広告を行いましょうね!
↓この本、是非読んでください。
2010年1月31日日曜日
蕎麦の打ち方-その4
実は、蕎麦打ちで最も重要な工程は、蕎麦をこねる行程です。
粉に水を与えてこねて行く・・・その工程が最も重要だと教わりました。
こねた蕎麦を伸ばす工程は、それなりに難しいのですが、先生の言われた通りにやっていけば何とかなります。
練りあがった丸い蕎麦を伸ばして行きます。
始めは円形ですが途中で四角形になります。
円形のまま切ってしまうと、長さの違う蕎麦がたくさんできてしまいます。ですから四角形にした長さがそろった蕎麦を作りましょう。
始めは円形のまま伸ばして行きます。
真円に近いほうが四角くなります。
厚さ5~10mm程度まで広げたら、いよいよ四角くしてゆきます。
動画は前回の『蕎麦の打ち方-その3』をご覧ください。
まず麺棒に巻きつけて伸ばします。
そうすると楕円形になります。
その楕円形を90度回転させもう一度麺棒で延ばしてやれば四角形になります。
そこから、四角形のまま生地を伸ばしてやるのですが・・・
四角形の対角線上に綿棒を転がして生地を伸ばします。
生地の中心よりやや外側から対角線上→四角形の角に向かって綿棒を転がします。
そうすると、四角形のまま生地が薄く伸びて行くのです。
お蕎麦屋さんは、生地を指でなでると厚さが分ると言うのですが、わたしの場合はよくわかりませんでした。
もし分るなら、分厚いところを重点的に伸ばしてやります。
実際のところ、こればかりは経験が物を言うようです。
なぜなら、感覚的な事が多くてうまく説明できない・・・なので聞くほうもよく理解できない・・・そんな感じです。
いずれにしても、正しい水の分量が重要です。
水が少なすぎると、生地が周りから切れてきます。
水が多すぎると生地が麺棒に張り付いてきます。
私が撮影した動画では、量りがいい加減だったため水がやや足りません。
だから端っこが少し切れてきました。
生地をたたんでから蕎麦を切ります。
蕎麦1本の長さが麺切り包丁の約3倍くらいの長さ。
つまり、生地を三つ折りした状態で切ります。
まず横に二つ折りし、縦に三つ折りします。
一太刀で2本の蕎麦が切れる寸法です。
つづく・・・
2010年1月29日金曜日
蕎麦の打ち方-その3
そばの打ち方には、色々な流派があります。
私が教わった蕎麦屋の対象は、打ち粉を上にかけない流派です。
打ち粉は、滑らせる効果があるので、麺棒で延ばす時は注意が必要です。
そばを麺棒で延ばすのですから、麺棒と蕎麦は滑ってはなりません。
蕎麦は延びようとしますので、打ち台と蕎麦の間には打ち粉が必要です。
・・・とこんな感じです。
合理的でわかりやすい。
そしてそば粉は、ボールベアリングのボールの様に転がって蕎麦を滑らせます。
だから、薄く均一に引いてください。
多すぎるとボールの役目を果たしませんから、滑りにくくなります。
なるほど!良くわかります。
そして麺棒を転がす時は、動画の様にグーで転がしてください。
手をパーにすると、手のひらのサイズだけしか麺棒を転がせません。
グーだとどこまでも転がせます。
グーで麺棒を転がすのは、一見難しそうですが、少し練習すればだれでもできます。
頑張ってグーで転がしてください。
打ち台ですが、ホームセンターに行って500円くらいのべニア板を買ってきました。
テーブルのサイズに合わせて切り、周りをガムテープで保護すれば完成。
表面を良く拭いて使っています。
麺棒はさすがに買ってきました。(^^
まだまだ麺棒の表面がザラザラしていますが、蕎麦が麺棒にくっつく事はありません。
これは、水の量が適切だからです。
水を入れすぎると蕎麦が麺棒にくっついてしまいます。
そば粉と水の分量は、そば粉によって違いますので、そば粉を分けてもらうプロのお蕎麦屋さんで聞いてください。
1g単位で正確に計量しないとそば粉が麺棒にくっつくかもしれません。
慎重に正確に計量してください。
正確に計量すれば、麺棒にくっつきません。(^^
動画の中でしきりと蕎麦を打ち台の上でぐるぐる滑らせています。
これは、打ち粉をまんべんなく広げるためです。
打ち粉がたっぷりでは蕎麦が滑りません。
少なすぎると打ち台にくっつきます。
動画の様に適量を引いたら、蕎麦を使って均一になるように回しましょう。
麺棒を使って押しながら蕎麦を延ばしてゆきます。
麺棒に体重を掛ける時に麺棒を転がします。
そうすれば、蕎麦がグングン伸びて行きます。
体重だけ掛けると麺棒がそばに食い込み、でこぼこになってしまうので注意してください。体重を掛けると同時に麺棒を転がしてください。
つづく・・・
VMwareのゲストOSをプリントサーバーにする
VMwareワークステーションにUSB接続のプリンタを接続し、ネットワーク共有したい。
なんでそんなややこしい事をしたいかと言うと・・・
プリンタが複合機でスキャナが付いているからです。
プリンタだけだったら、私のリアルマシンにインストールしてネットワーク共有させればよい。
しかし、スキャナの場合はそうもいきません。
誰かがスキャナを使うたびに私はマシンをその誰かに空け渡さなければなりません。
なのでVMwareの仮想マシンに複合機をインストールしました。
これなら、リモート接続で仮想マシンに接続すれば、いちいちリアルマシンを空け渡す必要がありません。
プリンタを仮想マシンにインストールし、ネットワーク共有させます。
その後、ホストマシンである私のPCに共有プリンタをインストールしてみます。
これはOK。
しかし、ネットワーク上の別のPCへ仮想マシンの共有プリンタがインストールできません。
調べてみると、2つの理由がありました。
理由1.VMwareのネットワーク設定
理由2.ファイヤーウォール設定
この文章をここまでスラスラ読めてきた方なら、もう説明する必要はないかと思います。(^^
理由1.
VMwareのネットワークは、内部的にルーターを内蔵してNATでリアルネットワークへ接続する方法と、仮想ネットワークをブリッジ接続してリアルネットワークへ接続する方法の2種類設定できます。
デフォルトでは、NATでリアルネットワークへ接続するので、リアルネットワークから仮想ネットワークへ単純に接続できないのです。
これをブリッジ接続に変更してやれば、仮想マシンはリアルネットワークへ直接接続しているのとほぼ同じ事になるので、リアルネットワークから仮想マシンへ接続できるようになります。
理由2.
Windowsのファイヤーウォール設定を確認すると、外部からの接続を許可するソフトウェア一覧にVMwareが含まれていませんでした。(^^;
リアルマシンのWindowsのファイヤーウォール設定を開いて、VMwareワークステーションを許可一覧に追加してやれば無事解決です。
簡単と言えば簡単ですが、思いつかないと一生悩み続ける?かもしれませんね。(^^;
なんでそんなややこしい事をしたいかと言うと・・・
プリンタが複合機でスキャナが付いているからです。
プリンタだけだったら、私のリアルマシンにインストールしてネットワーク共有させればよい。
しかし、スキャナの場合はそうもいきません。
誰かがスキャナを使うたびに私はマシンをその誰かに空け渡さなければなりません。
なのでVMwareの仮想マシンに複合機をインストールしました。
これなら、リモート接続で仮想マシンに接続すれば、いちいちリアルマシンを空け渡す必要がありません。
プリンタを仮想マシンにインストールし、ネットワーク共有させます。
その後、ホストマシンである私のPCに共有プリンタをインストールしてみます。
これはOK。
しかし、ネットワーク上の別のPCへ仮想マシンの共有プリンタがインストールできません。
調べてみると、2つの理由がありました。
理由1.VMwareのネットワーク設定
理由2.ファイヤーウォール設定
この文章をここまでスラスラ読めてきた方なら、もう説明する必要はないかと思います。(^^
理由1.
VMwareのネットワークは、内部的にルーターを内蔵してNATでリアルネットワークへ接続する方法と、仮想ネットワークをブリッジ接続してリアルネットワークへ接続する方法の2種類設定できます。
デフォルトでは、NATでリアルネットワークへ接続するので、リアルネットワークから仮想ネットワークへ単純に接続できないのです。
これをブリッジ接続に変更してやれば、仮想マシンはリアルネットワークへ直接接続しているのとほぼ同じ事になるので、リアルネットワークから仮想マシンへ接続できるようになります。
理由2.
Windowsのファイヤーウォール設定を確認すると、外部からの接続を許可するソフトウェア一覧にVMwareが含まれていませんでした。(^^;
リアルマシンのWindowsのファイヤーウォール設定を開いて、VMwareワークステーションを許可一覧に追加してやれば無事解決です。
簡単と言えば簡単ですが、思いつかないと一生悩み続ける?かもしれませんね。(^^;
登録:
投稿 (Atom)