はじめてのARMマイコン。その不安を払拭しましょう。

さまざまな分野でARMマイコンへの置き換えが進む中、横河ディジタルコンピュータ(以下、YDC)は、2012年4月からMDK-ARMの取扱いを開始した。すでに2000年からARM正規代理店に認定され、コンパイラ、デバッグツールやトレーニングコースを提供してきている。今回の「プレミアムトークセッション」では、YDCのキーマン達に、デバッガベンダーから見たARMマイコンへ移行するポイントをはじめ、ARMマイコン市場の活性化に向けた取り組みについて伺った。

メインイメージ

国内のARMユーザのことを熟知している

YDCが英国ARM社の正規代理店に認定された経緯は?

桑原:正規代理店の認定は2000年です。その当時、国内でARM向けのエミュレータでトップクラスの数を出荷していたことから、ARM社から見れば国内のARMユーザのことを熟知しているデバッガベンダーであり、YDCにとっては正規代理店に認定されることでより詳しい技術情報をいち早く得られるなど、お互いにメリットがありました。続いて2002年には、英国ARM社よりApproved Training Centre(ATC)の認定を受け、毎年20回以上のトレーニングを開催しております。

殿下:トレーニングコースは、ARM社からの英語テキストをそのまま使うのではなく、エンジニアにわかりやすい言葉で意訳して用いています。コース構成は比較的自由に設定でき、ARM社のコースに加え、YDCオリジナルのコースも用意しています。コースの内容はツールよりも、ARMコアの中身に関するものが多くあります。たとえば、ARMコアに適したコードの書き方を理解する上では、コアの中身を理解しておくと有利です。ちなみに、国内で1番多くARM認定トレーナーを有しているのがYDCです。すなわち、YDCからの技術サポートは、このトレーナーを中心にARMに精通したスタッフから受けられるということです。

桑原:コンパイラやデバッガなどのツールの使い方についてはもちろんですが、トレーニングを含めてARMへの置き換えを総合的にサポートするのがYDCと覚えていただければと思います。

ARMコアやツールのトレーニングコースが充実

現在、正規代理店として特に注力していることはありますか?

桑原:まずARMが使用される市場を広げていくことが最も重要です。そのために、ARMコアやツールのトレーニングコースを充実させています。特にプロセッサ向けとなるハイエンド系ツールは、携帯電話やデジタルカメラ、プリンタ、半導体メーカーなどに多く導入していただいております。今後はARM社としても、いままでの8~16ビットクラスのマイコン市場に力を入れていく中、YDCとしても2012年4月から「MDK-ARM」を扱うようになりました。MDK-ARMで狙っているのは、コストと消費電力が重視される、スマートメーター、車載/産業用制御システム、白物家電、コンシューマ製品、医療機器などです。

飯塚:このマイコン市場は、ずばりCortex-Mシリーズが狙う分野ですね。

桑原:従来から独立系のデバッガベンダーとして多くのマイコンに対応してきた経緯もあり、お客様の開発事情をよく存じ上げています。MDK-ARMにおいても、ハイエンドで培った経験をお客様にご提供することで、汎用ARMマイコンでもYDCに相談してよかったと思っていただきたいですね。

飯塚:ハイエンドを手がけてきた実績で言えば、これまでソフトウェアに関する質問は年間1000件以上いただいています。それが10年以上にわたっており、YDCには他社にはない多くのノウハウが蓄積されています。

殿下:最近は難易度の高い質問が増えてきていますね。初心者レベルの質問はYDCのホームページに掲載しているFAQにまとめておりますので、多くの場合そちらで解決いただけるようになっています。

MDK-ARMを使用することでコードサイズを小さくできる

あらためてMDK-ARMの特長を教えてください。

飯塚:MDK-ARMは、コンパイラ、IDE、デバッガ、リアルタイムOS、ミドルウェア、デバッグアダプタ、評価ボードといった開発に必要な各種ツールがパッケージ化された総合的なソフトウェア開発環境で、これさえあればすぐに開発に取り掛かることができるものです。対応マイコンも多く、1500品種以上に対応しており、バージョンアップ毎に50~100品種くらい対応マイコンを増やしています。Cortex-Mシリーズはそれだけ品種が多いということですね。ちなみに、リアルタイムOSはCortex-Mに最適化されており、IDEはKEILブランドオリジナルのμVision、コンパイラは世界中で実績のあるARM C/C++ コンパイラです。

殿下:すぐにスタートできることから、お客様から「立ち上げが難しい」といったお話をいただいたことはありません。

飯塚:YDCは、お客様のARMマイコンおよび開発ツールの評価用に、コンパイラやデバッガだけでなく、JTAG-ICEならびに評価ボードを含む一式で無償貸出をしています。期間は2週間ですが、お貸出しする際に、フィールドエンジニアがデモをしながら詳しくレクチャーしておりますので、まずは安心してARMに触れられる機会を使っていただければと思います。

MDK-ARMは有償ですが、無償ツールとの違いは?

桑原:無償ツールとの大きな違いは、MDK-ARMを使用することでコードサイズを小さくできることです。最近のARMマイコンは大容量のメモリを積んだものも多く見られますが、コードサイズを小さくすることでその必要はなくなります。トータルで考えるとコストダウンが図れるというわけです。

殿下:コードサイズを小さくできれば、他にもメリットがあります。特に開発が佳境に入れば、少しでも速く内蔵フラッシュにダウンロードしたいですよね。最近のようにコードサイズが1Mバイトを超えるようになると、その差は歴然です。

飯塚:もうひとつのメリットとして、製品の起動時間の高速化ですね。パフォーマンスを上げるためにアセンブラを駆使するのが当たり前の時代もありました。MDK-ARMではアセンブラは不要ですが、コンパイラで最適なコードを出力する上でもアセンブラの知識はあった方が良いでしょう。

殿下:Cortex-Mシリーズではないのですが、キャッシュがあるマイコンの場合、コードサイズが小さいとキャッシュに収まりやすいといったメリットもあります。

飯塚:ソースの書き方によってコードサイズは変わってきます。YDCではソースの書き方に向けたトレーニングコースも用意しています。

桑原:MDK-ARMには、無償の「MDK-Lite」、「MDK-Standard」、「MDK-Professional」があります。「MDK-Standard」にはミドルウェアがなく、「MDK-Professional」にはミドルウェアが入っています。また、マイコンに限定した低価格製品もラインアップしています。たとえば、評価の段階では「MDK-Standard」を導入し、マイコンが決定し開発がピークになった時に、限定モデルを複数導入するといった方法を採られるお客様もいます。

以前はICEがデバッグの主流という時代もありました。

殿下:私がYDCに入社する前は、産業機器の開発に携わっていましてフルICEを使用していました。当時は、ICE絶対主義でしたが、YDCに入ってJTAGエミュレータを使ってみたところ、これらなら充分だという印象を受けました。ARMマイコンは、ICEに必要となるエミュレータチップがなく、必然的にETMトレースやJTAGエミュレータを使わざるを得ませんが、ICEの文化ではなくJTAG文化に移行したといえるでしょう。

既存のソフトウェア資産をそのまま移行できるのか

ARMマイコンを採用するにあたってユーザが気にされていることはありませんか?

殿下:ARMマイコンは海外のものだから、とっつきにくい、大変そうだ、といったことを気にされる方もいますが、一番気にされるのは、既存のソフトウェア資産をそのまま移行できるのか、ということでしょう。コンパイラは、似ているところも多いので特に問題となることはないのですが、課題となるのは、割り込みのプライオリティ、リンク時のメモリ配置などです。割り込みについては、その考え方がARMマイコンに合っていないとつまずくことが多いのも事実ですが、YDCとしてはARMコアのアーキテクチャの違いをあらかじめしっかりご説明していますので、大きな問題になったことはありません。また、ブートローダはMDK-ARMの場合、クリックだけで自動生成されるため非常に簡単です。

ARM初心者へ向けた取り組みはありますか?

桑原:はじめてのARMマイコンや、はじめての組み込みという方には、「ビットとは何か」といった極めて初級レベルからはじめる「ARMマイコン基礎講座」というトレーニングコースをYDC独自に用意しています。たとえば、大手電器メーカに対して年間契約で新人トレーニングを請け負っていますが、JavaやAndroidなどは知っていても、ボードを使った組み込みシステムの開発まで経験している方は少ないのが現状です。

殿下: 2012年から「ARM認定エンジニア(AAE)プログラム」がスタートしており、学生さんが就職のためにそういった資格を目指すようになると状況は変わってくると思います。「ARMマイコン基礎講座」を修了し、組み込みシステムがどういうものかが理解できた後、メモリ管理やキャッシュの使い方について学んでいただきます。これは別のコースとして用意されています。すでに開発に関わっているエンジニアの場合、解決したい課題が明確になっているなどトレーニングコースへ参加する意義は大きいですね。中堅クラスのエンジニアが新人教育を行う時間はありませんので、それに代わってYDCのトレーニングコースを使っていただければと思います。

桑原:トレーニングの提供はもちろんですが、ARM初心者に向けては半導体メーカーと合同セミナーを開催したり、オンラインでも提供資料の充実を図っていきたいと考えています。

ARMマイコンであればツールは流用できる

ARMマイコンに置き換えたお客様が苦労されるポイントはありますか?

殿下:技術的なところで言えば、同じARMマイコンといってもペリフェラルや動作電圧、割り込みのタイミングなど各社各様です。特に割り込みのタイミングは、少しだけクロックや性能を上げようとした場合、とたんに上手くいかなくなることがほとんどです。多くのお客様がマイコンを変える時に少し苦労されるポイントだといえます。また、多くのARMマイコンは低消費電力化のためクロック周波数を切り替えられるようになっています。クロックの切り替えには注意が必要です。通常セキュリティロックがかかっており、クロックの切り替えの際には、決まったシーケンスが必要になります。さらに、スリープ時の割り込みの入り方なども移行時に注意するポイントです。

飯塚:ARMマイコンは、半導体メーカーの数も品種も多くありますので、どれを選べばいいのか、という最初のハードルがあります。お客様からは、実現したい機能があるから、それに適したARMマイコンを教えて欲しいと相談されることもあります。もちろん、そういったご要望にも丁寧にお答えいたしますので、ARMへ乗り換える際にはお声がけください。

桑原: ARMマイコンをどう選ぶか、というお話であれば、お客様からは流通性など性能以外のことでも相談されることが多くなり、ARMマイコンへ移行するお客様がかなり増えつつあることを肌で感じます。簡単にマイコンを置き換えることはできないのが現実ですが、いつかは変えなくては、という思いが特にこの2年で具体化してきたと思っています。

お客様のハードルをいかに下げられるか

今後の展開についてお聞かせください。

飯塚:現在も多くのお客様から声をかけていただいていますが、今後はMDK-ARMを通じて、ARMマイコンで開発するならYDC、といっていただけるような存在になりたいと思っています。

殿下:まずマイコンありきで開発するのは理想ですが、実際にはマイコンが変わることでツールも変わってしまうことを開発現場は嫌がります。しかし、ARMマイコンであれば、半導体メーカーによる差はありますが、基本的にツールは流用できます。ツールが同じならマイコンも変えやすい。デバイスは選び放題ですから、エンジニアにとっては世界が広がるはずです。

桑原:YDCのミッションとしては、お客様のARMへ移行する不安やハードルをいかに下げられるかがポイントと考えています。YDCは豊富な経験がありますから、ツールの提供やトレーニングコースを通じて、いままで以上に最適な提案をしていきたいと思います。また、ARMエコシステムの一員として半導体メーカー、パートナー各社と協業しながら、セミナーをはじめ、まずはARMに触れていただく環境を提供することを最優先に考えて活動していきたいと思います。

本日はありがとうございました。