Freescale Technology Forum Americas 2007(以下、FTF)の初日、Freescale Semiconductor(以下、Freescale)は、新たなマイクロコントローラ「Flexis」シリーズを発表した。このFlexis、ベースになっているのは昨年発表された「ColdFire V1」である。それでは、このColdFire V1とFlexisは何が異なるのか――ここでは、そのあたりから説明していく。

S08に機能を追加してソフトウェア互換を容易に

まずは簡単に既存のColdFire V1のおさらいをしておく。ColdFire V1シリーズは、従来のColdFireシリーズ同様に、MC68K互換の命令セットをサポートする32ビットのRISCコアである。ところが、同社の8ビットMCU(Micro Controller Unit)である「S08」からの移行を容易にすべく、

  • 同じ開発プラットフォーム
  • 同じ周辺デバイス
  • 同じパッケージ

を採用したというものだ(図1)。

図1 このときは、ColdFire側をS08に合わせる形で歩み寄った、と考えるのが正しい。S08の方は従来のままで、ColdFire側のパッケージや周辺デバイスをS08と同じものにした

ただデバイスやパッケージはともかく、プログラムそのものについては互換性は無かった。デバイスが同じだから、ライブラリの呼び出し方などが共通化されるといった話はあるにしても、プログラムそのものは異なるのが普通であった。勿論高級言語を使って十分に抽象化すれば同じプログラムを使うことも不可能ではないのだろうが、特にS08側はハードウェアの制約(例えば32ビットのポインタが使えないなど)が多いから、実際問題としては別のプログラムを書いたほうが現実的と言えた。またデバッグインタフェースなども両者では異なっており、このあたりもスムーズに移行する際の障害となっていた。このあたりを、今度はS08の方が歩み寄る形ですり合わせを行ったのが、今回のFlexisシリーズということになる。そのFlexisだが、最初はGeneral Purposeの製品のみがリリースされるが(図2)、今後はUSB拡張やLCD、バス拡張などが予定されている。

図2 ColdFire V1のときも似たロードマップが示されたが、これらがFlexisで置き換えられる形になるのだろう。ちなみにColdFire V1のロードマップと比較すると、CANインタフェース付き(Industrial Appllication Controller)の製品の登場時期はあまり変わらないが、LCDコントローラ付きの製品が2009年に後退したのはちょっと興味深い