2011年2月アーカイブ
さて、前回のブログで三国志の本を紹介しましたが、実は中学生の時にちょうどNHKで「人形劇三国志」という番組をやっていまして、毎週みておりました。特に私は諸葛亮孔明(声:森本レオ)の大ファンでした。武力による武将たちも大好きなのですが、なんと言っても孔明こと「丞相様」です。
そんなことから、実家にある私の大事な湯飲みを紹介します。
ものには、いつか壊れるという運命がありますが、この湯飲みを作った日付をみますと。
昭和59年6月7日とあります、中学生の修学旅行で作った物なんです。諸葛亮孔明とかかれた湯飲みを作るなんて、ちょっと??な中学生でしょうか?
さて先日、三国志の話をしましたが、結構おもしろいです。全部で550ページありますので、電車の移動だけではなかなか読み終わらず、ようやく読み終わりました。しかしこの本、私たちが知っている派手な?武将の歴史だけでなく、そこから新しく文化が出来ていく課程を感じることができます。
これは、どの歴史も同じだと思うのですが、世の中が乱れているときは武力の強い人が必要とされ、だんだんと戦が無くなってくると、いわゆる「文官」というものが大事になってきます。この文官たちが独自の文化を創っていき、逆に武力をもって戦ってきた人たちにとっては「こんな世の中を作るつもりじゃなかった」と思うかもしれませんが、良くも悪くも世の中は平和に変わっていきます。
その新しい世界に適応できない人たちは、自然と消えていく運命にあります。これって三国志とか戦国時代とかだけの問題でなく、今激しく変化している世の中でも同じことがいえると思います。
時代時代で必要とされる、役割が変わります。私も改めて世の中に変化に適応出来るように自分の役割を変え続けていきたいと改めて考えました。
<マルチタスク>
さて、前回はWindowsというOSを便利に使って、開発・評価を速く進めるための手法を紹介しました。安価なマイコンではC言語で開発をしますので、C++上でSimulationができれば非常に開発が楽になりますね。
今回は、とはいえマルチタスク的な環境での評価もしたい場合について少し書きます。組み込みファームウェアでは「タスク」という言葉を使いますが、その他の環境ではよく「スレッド」という言葉を使います。こちらの意味については、書籍に書いてありますし「何がタスクで何がスレッドで。。」なんて議論もありますね。
持論は置いておいて、今回はWindows上のスレッドを利用します。
μiTRONでタスクを生成するのは、[cre_tsk()]ですね。このcre_tsk()を元にWindows上でスレッド(タスク)を生成します。
cre_tskの引数については以下の通りに規定されています。

こちらの関数をWindows用のスレッド生成手順にあわせます。
Windowsでスレッドを生成するためには、以下の通りの手順で行います。
さて差分を埋めると、以下の表の通りです。

非常に似通っていることがよくわかりますね。
C言語で記載することで、tskstrは無視できます(=TA_HLNG[固定])、またスタックサイズについてはここでは言及しないので、"0"ということにします。すると、そのまま移行できます。
さて早速タスク(スレッド)を生成しましょう。
まずは、cre_tskのAPI実装です。
特に、ファームウェア開発を行っていますと、システムの開発としては後工程になりますので、出来るだけ先手先手を打って、開発後半のリスクを減らしたいと考えています。
さて、冒頭に中学生の時に作った湯飲みの話をしましたが、約25年たって、ある不具合を見つけました。
あっ、葛の字が。。
本当に「丞相様」のファンだったのでしょうか。
中学生でしたので許してください。
