●「仮想PC環境」 2009/12/26
増刊誌で提供する予定のH8SX/1655開発環境はWindows環境用です。WindowsというOSはちょうどまさに今、XP、Vista、7の3つが現役で存在している状況にあります。増刊誌で提供する開発環境は、このいずれのWindows上でも動作することを確認しています。それぞれのインストール方法の解説は、共通な部分はまとめますが、OS固有の箇所があればそれぞれ掲載する予定です。ところがこの3台のPCをいちいち持ってきて、動作確認して、画面写真をキャプチャして原稿を書いていくのは、えらく大変な作業なのです。編集部さんから1台、Windows7インストール用のPCをお借りしましたが、狭い机の上でPCを置き換えながら作業するのはつらいのです。(でも、編集部さん、ありがとう。)
ところが、今は便利なものがあって、仮想PC環境なんですよね。Windows Vistaの重たさに辟易している自分は、最近久しぶりにMacに戻っていたのですが(Kanji Talk 7以来です)、その上でWindowsやLinuxをインストールできる仮想PC環境があります。使っているのは「Parallels Desktop 5.0」といいますが、とても安定していてさほど重たくないのです。Windows7は対応済みで、AeroもOKです。しかもなんと、H8SX/1655デバイスと仮想環境上のWindowsをUSBで接続できてしまうのです。これは便利。何の問題もなく仮想WindowsがUSBを認識します。フラッシュ・メモリの書き込みも、GDB STUBによるデバッグも仮想Windows上からUSB経由で可能です。ルネサスのE10A-USBも認識して使用できました。
Mac OS X上で複数枚の仮想Desktopを持てる「Spaces」機能を使ってDeskop画面をサクサク切り替えできるので、ひとつのMac機上で、複数のWindows上の動作確認と画面キャプチャを簡単に取ることができて、作業効率がとても上がりました。原稿はそのままMac上のOpenOfficeで書いています。写真は、各Windows環境をMac OS上のウィンドウ内に表示していますが、基本的にはフル・スクリーン表示で使っています。見た目は普通のWindowsマシンになります。フル・スクリーンのWindows同士も「Spaces」機能でサクサク切り替えできます。今のところ、落ちたり、ハングしたことはありません。
写真のように3つのWindowsを立ち上げると、メモリを4GB積んだMacだとswapが頻繁になって重たくなります。2つまでなら全く問題ありません。このように複数のWindows環境を一度にさわるケースは少ないと思いますが、昨今のMac OS X (snow leopard)のサクサク感を味わうと、Windows系には戻りたくなくなります。Mac上の仮想PC環境上にWindows 7を1個入れておけば、世の中との互換性に対処しながら、安定したサクサク環境で作業ができます。これはかなりお勧めです。
●「雑文:MCUのCPU考」 2009/12/24
世の中のMCUメーカは、その製品開発方針が大きく2系統に分かれているようです。
【方針A】独自のCPUをコンパイラ環境も含めて開発してからMCU製品展開する方針です。狙うアプリケーション分野ごとにCPUアーキテクチャをチューニングして、きめ細かくニーズに応えようとする考え方です。CPUとコンパイラががっちり組み合わされているので、実行性能やコード・サイズ性能の大幅向上が期待できます。1クロック単位でレイテンシが重視されるシステムでは、CPUアーキテクチャ自体が重要になるケースも多くなります。さらに高信頼性が要求されるシステムには、CPU、コンパイラ、ミドルウェアを一括してサポートしてくれるメーカのほうが安心できます。
この方針Aをしっかり進めているメーカの一つがルネサスです。ルネサスは日立と三菱が統合して以来、MCUのCPUコア数が特にCISC系で大量に増えました。全てのコア製品をそのまま展開継続するのはMCUメーカにとって開発リソース上効率的ではないので、今、CPUのロードマップを7コアから3コアに統合しようとしています。
・SuperH系→そのまま継続
・CISC系(H8SX、H8S、R32C、M16C)→RXコアに統合
・ローエンド系(R8C、740)→R8Cコアに統合
この中で、CISC系CPUを統合するため新たに開発されたRXコアは非常によいCPUだと思います。CISCとRISCの良い点をうまく組み合わせています。SuperH系のミドル・クラス以下の領域もRXコアで置き換えることができるでしょう。RXシリーズの製品展開は今やとてもアグレッシブで、今後の展開が楽しみです。
【方針B】CPUはARM系(Cortex系など)にしてMCU製品展開する方針です。メーカや製品シリーズが変わっても同一の開発環境を活用できます。World-Wideにユーザ数が多いので、各種技術情報を入手しやすいです。方針BのメーカはCPUや開発環境には多くの開発リソースは不要になるので、その分、周辺機能の強化や混載アナログ機能の強化など、MCU全体の製品力向上に注力できます。このいくぶん開き直ったARM系でいいヨという考え方は、MCU系に使われるCPUは、よっぽど性能面やコード効率面でクリティカルになるアプリケーションでなければ、そのアーキテクチャや命令体系などの細かい仕様は、ユーザにとってその好き嫌いはあるにしても、直接的な意味は感じにくいもので、そのCPUとそのCコンパイラの組み合わせから出てくるコードが自分にとっての目標スペックを満足すればいいだけということから来ています。ARM系のCPUコアは、基本的には共通アーキテクチャのもとで展開されており、スループットを重視するかレイテンシを重視するかの違いと、周波数の違いによるマイクロ・アーキテクチャの変更(CPUとメモリの速度差を吸収するためのキャッシュなど)での仕様展開くらいしかありません。CPUは、性能とコード効率だけ目標を達成すればいいネジクギ的な見方をする考え方です。(それでも最近はアプリケーション別にCPU種類が増えてきており、方針Aのメーカの考え方を取り入れつつあります。)この方針の問題点は、CPUコア、開発環境、ミドルウェア、MCU最終製品のそれぞれのメーカが全て異なるときが多いという点です。これはユーザにとって、バグ対策や改善要求などを個々のメーカに出す必要があり、有機的な動きを期待しにくいという問題をはらんでいます。
方針Aは国内メーカに多く、方針Bは海外メーカに多く見られます。それぞれには性質の異なる特徴があるので、どちらが良いという判断は下せません。逆にユーザにとってはこのように選択肢が増えているのは悪いことではありません。
世の中に数多くあるMCUメーカの、さらに各メーカの中にある数多いMCU製品の中から、自分に適したものを選択するには、個々のCPUコアや製品自体の機能や性能をいち早く見極める必要があります。これには、データシートをすばやく読み解くだけではなく、評価ボードを使ってベンチマークを効果的に行う場面も必要になります。どんなマイコンが来ても、すばやく理解して使いこなす能力が必要です。このためのコツですが、今やマイコンのプログラム開発はC/C++コンパイラによるものが主流であり、プログラマがCPUの個々の命令体系を気にすることは少なくなってきています。(まさに【方針B】の理屈です。)MCU系マイコンの習得においては、ますCPUアーキテクチャとしては例外処理と割り込み処理およびその関連命令だけを理解して、あとは周辺機能とI/Oポートをどう使いこなせるかを考えます。こういう見方で今回増刊誌に添付するH8SXマイコンを習得していただければ、今後、異なる系列のマイコンを扱うときもすんなりと理解してことができるでしょう。
ところで、ルネサスのCISC系コアはRXコアに統合されるからもうH8SXはなくなるのかというとそんなことはありません。汎用MCUマイコンというものは、非常に多くのユーザが実量産品に組み込んでおり、簡単に統合コア製品に置き換えることができる性質のものではありません。なのでH8SXシリーズはまだまだ現役で使われますからご安心ください。また、H8SXコアは長年使われてきたH8アーキテクチャがベースになっていますので、ユーザ数が多く世の中の技術情報も多いという利点があります。マイコンを学習する教材としては非常に恵まれた環境に位置していますので積極的に活用して頂ければと思います。
●「オシロの動画」 2009/12/16(2)
編集部が掲載したオシロが動作している動画は、トリガを設定していないので、波形が流れています。「トリガを設定して」って言ったのにorz。
トリガのソースはCH1にもCH2にも設定できて、それぞれ立ち上がり・立ち下がり・電圧レベルを設定できます。トリガが取れればば波形は流れません。あと、キャプチャもできるので、任意のタイミングで波形を止めることもできます。
●「ワクワク感」 2009/12/16
皆さんは何に対してワクワクしますか?
私が人生で最初にワクワクしたのは、豆電球とそのソケットです。特にそのソケットにはワクワクしました。初期のソケットはボディは黄色や青などでしたが、あるとき透明なものが登場してしかもリードが赤と緑で、そのかっこいいこと!この気分は今でもそのままです。
次にワクワクしたのは、モータです。ある日、小学低学年のころに山手線に乗ったとき、なんとマブチの15モータ(当時、今だとFA-130RAクラスのもの)が美麗箱入りのまま単体で椅子に置き忘れられていたのです。もう時効ということで白状しますが、それをお持ち帰りさせていただきました。そのモータは、金属ケースが濃紺に塗装されていて、しかも足台も付いているんです。超かっこいい!そしてそれがなんと電池をつなぐと回るんです。電池を逆に接続すると逆に回る。それだけで何日も遊びまくりました。ある日、モータのリードをショートして回転軸を回すと、ショートしていないときよりも、回転の惰性が低いことに気がつきました。ようするに回りにくい。今から思えば回生制動だったわけですが、その挙動の差がとても不思議でした。ある日、意を決して分解して、中の細かい仕組みを見て、さらに感動致しました。その後、図鑑などを頼りに、エナメル線とクリップだけで作れる簡易モータ(整流子は磁極反転させすにON/OFFだけさせるような形の、いわば「半二重」型モータ)を作ったりして、もうワクワクしまくりでした。
つまらない話ですみません。まあ、そんなこんなで、今に至ってしまったわけですが、このエレクトロニクス技術に対してのワクワク感は今でも持っています。ハードウェアもソフトウェアもその境なくワクワクします。おかげさまで念願だったマイコンLSIやシステムLSIの開発にも長年携わることもでき、ありがたいことだと感謝しております。
昨今のエレクトロニクス業界は厳しい状況が長く続いていて、その中にいる人たちはなかなか元気が出にくい状況にあります。しかし、ワクワク感を持ちながら好きでやっている人は大変明るく前向きです。そういう気分を大切にしながら、みんなで力を合わせて、このエレクトロニクス業界を盛り上げて行きたいと思います。
そういう意味では、CQ出版がよくやる(よーやる)基板付きの雑誌や本というのもワクワクします。それを前にすると、なんか楽しい感じがします。昔、10円持って駄菓子屋にいって「何か買うぞ」というときの気持ちに似ているかもしれません。こうした基板モノは「遊び」の範疇に入るかもしれませんが、そういう「遊び」の中でも、問題にぶちあたって、それを1ステップずつ解決していく過程が必ずあるでしょうから、自分たちが得るものは少なくないと思います。
今の子供たちや若い人は、生まれながらに携帯ゲーム機などを触るので、スイッチを入れれば液晶表示なんぞがされるのがあたり前であり、上で述べた素朴なワクワク感というのはなかなか持ちにくいかもしれません。ブラック・ボックスすぎるのも問題なのかもしれません。しかし例えば、どうして画面に絵が表示されるのかという疑問を持ってもらい、それを実感を伴って理解してもらえる環境があれば、豆電球やモータの代わりに、マイコンなどのエレクトロニクスに対するワクワク感も醸成してもらえると思います。そういう点でも、希有な存在のCQ出版には頑張ってもらいたいです。CQ出版さん、絶滅しないでね。(ちょっと心配してます。まじに。CQはSOSが使われる前の遭難信号が由来だそうで…。)