組み込み業界で採用が進むCortex-M3プロセッサ。開発に関連した情報は増えているものの体系的にまとめられたものは少なく、Cortex-M3に新しく取り組もうとするユーザーから日本語の解説本が待望されていた。2010年12月に、まさにその一冊となる「STM32マイコン徹底入門」(CQ出版社)が出版された。本が生まれた経緯やSTM32マイコンの特徴などを、弁護士が本業という著者の川内康雄氏をお招きして座談会形式でご紹介しよう。
ロボット開発を目的にマイコンに挑戦
今日は「STM32マイコン徹底入門」(CQ出版社)というCortex-M3プロセッサおよびSTM32マイコンの解説ムックを上梓された川内康雄さんをお招きして、さまざまなお話を伺っていきたいと思います。さて、川内さんは本業は弁護士でいらっしゃって、マイコンの解説本を書かれるというのはかなり異色ですが、執筆に至った背景を教えてください。
川内:私の本業はITや著作権を主に扱う弁護士で、技術的に全然関係ないというわけでもないのですが、マイコンは単なる趣味で始めたというのが実際のところです。本の前書きにも書いたのですが、最初は二足歩行ロボットを作りたかったんです。ただ、市販のロボットキットを買ってきても多分すぐに飽きてしまうだろうなと思ったんですね。マイコンを真ん中に積んで、自分でプログラミングして、自分の欲しいロボットを作ろうと考えて、まずマイコンの評価ボードを買ってみたんです。たまたま、そのボードには「7TDMI」というプロセッサが載っていたのですが、参考になる日本語の情報がほとんどなくて、しかもツール環境を揃える方法も全然分からない。それでも英語の情報を集めてくればなんとか出来るということが分かって、Armプロセッサを少しずついじり始めるようなりました。
それはいつ頃のことなんですか?
川内:2008年頃です。ちょうどCortex-M3が本格的に立ち上がろうとしていた時期で、新しいプロセッサのほうがたぶん優れているに違いないといった軽い気持ちで、どうせやるなら古いArm7TDMIではなくて新しいCortex-M3で進めていこうと考えて、STM32マイコンが載った評価ボードを手に入れたんです。STM32を選んだのは、STの皆さんには申し訳ないんですけど、その当時、手に入るのがたまたまSTM32しかなかっただけなんですけどね。ところがSTM32に関する情報もArmとSTの技術資料ぐらいしかなくて、LEDを点滅させるだけでもかなり苦労しました。こういう状況であれば、他の人もみんな苦労しているはずだろうから、手順をまとめておけば役に立つのではないかと考えて、解説本を書いてみようと思い立ったのがきっかけです。
STの皆さんとの出会いはいつ頃だったのですか?
川内:原稿を書き始めてから半年後くらいにコンタクトしたと思います。最初はメールでやりとりしていましたが、実際にお会いしたのは、たしか2009年5月に東京ビッグサイトで開催された組み込みシステム開発技術展(ESEC)の会場だったと思いますね。
野田:そんなに前でしたっけ。実は川内さんとの出会いは私にとって運命なんですよ。誕生日が一緒なんです。しかも、生まれた年まで。
菅井:なんか面白い人がいる、みたいな言い方を野田はしてましたね。
川内:その頃ですでに200ページか300ページの原稿を書き上げていて、受け取られた野田さんは「ぎょっ」とされていましたね。なんじゃこりゃ、っていう反応を覚えてます(笑)。
野田:ホビーユーザーさんからの問い合わせも結構多いんですが、川内さんのように、これだけの情報をまとめてコンタクトしてこられたお客様はいらっしゃいません。しかもお仕事が弁護士さんということで、マイコンと関係ないじゃないですか。2008年当時はまだCortex-M3に関する日本語の情報が不足気味で、日本人が日本語で書いた資料が欲しいというご要望はお客様からも寄せられていました。川内さんのようなニュートラルな立場の方が書かれているということで、Cortex-M3およびSTM32マイコンの普及を図る上でもとてもインパクトが大きいと考えて、出版を後押しさせていただくことになったんです。
本の「謝辞」にはSTの皆さんで監修を行ったとありますね。
菅井:私と野田と塩川、それともう1名を加えた4名で草稿を確認したのですが、最初はトータルで1000ページほどのボリュームがあって圧倒されました。
塩川:4人で分担しても1人あたりの分量が300ページくらいあったので結構大変でしたね。
菅井:本にする過程でコンパクトにしましょうということになったのですが、スイッチや可変抵抗といった部品の説明まですべて入っていたんです。しかも写真付きで。
ムックには、Cortex-M3コアの解説だけではなくて、STM32マイコンが内蔵するペリフェラル機能についてもとても詳しく解説されています。なぜここまで網羅的に書こうと思ったのですか?
川内:ひとつは弁護士としての職業病ですね。ひとつでも書き忘れがあったら訴訟では負けてしまいますから(笑)。もうひとつは、もともとの動機がロボットの製作にあったわけですが、実はロボットってあらゆるペリフェラルを使用しないと実現できないんです。たとえば、アクチュエータやセンサーを接続しないといけませんし、電源管理も必要なんで、結果的に一通り網羅する形になりました。
8bit /16bitからの移行が増加
ところで、組み込み市場ではCortex-M3プロセッサの採用事例がとても増えていると聞いています。どのようなユーザー層が、どのようなアプリケーションにCortex-M3を使っているのでしょうか?
野田:アプリケーションとして多いのはやはりインダストリアルですね。とくに、8bitマイコンあるいは16bitマイコンから、32bitのCortex-M3に移行されるお客様が増えています。2010年12月にパシフィコ横浜で開催された「組み込み総合技術展」(ET 2010)で、川内さんをお招きして「Cortex-M3でマイコン徹底入門」というセミナーを開催したときも、多くの方にご参加頂き関心の高さが伺えました。Cortex-M3は業界標準アーキテクチャですから、開発資産や開発環境を効率的に利用できる他、開発経験を持ったエンジニアがたくさんいます。また、当社を含めてCortex-M3のサプライヤも増えており、お客様のニーズに合う製品が必ず見つかるという点も大きいかと思います。
ユーザーがCortex-M3に取り組もうという場合に、川内さんの「STM32マイコン徹底入門」はどのように役立ちますか?
菅井:こういった入門書は、あまり簡単すぎると分かっている人には物足りなく、難しすぎると初めてのユーザーには敷居が高くなってしまうのですが、川内さんの本は、8bit /16bitマイコンの経験やデジタル回路に関する知識は一通り持っているけれど、32bitクラスは扱ったことがないという人にとっても、文章は平易ですし、ちょうど良いレベルだと思います。実際、すでに買って読んでいらっしゃるお客様も多くて「弁護士さんが書いた本」として評判です。言ってみれば川内さんの本が私どもの製品をプロモーションしてくれているわけで、私たちFAEにとってはすごく楽というか(笑)。
川内:2年前までは超初心者だった私のレベルから言うと、ビギナーの人であっても8/16bitマイコンをわざわざ勉強する必要はなくて、最初から32bitマイコンに取り組んでもまったく問題ないという感覚は持っています。
Cortex-M3あるいはSTM32を初めて扱おうというお客様からは、どのような問い合わせが寄せられますか?
塩川:STM32に搭載されているペリフェラルの機能や消費電力のお問い合わせの他、たくさんのマニュアルやドキュメントが出ていますので、ご自身の欲しい情報がどこにあるのか、といったご質問を受けることが比較的多いように感じます。あとは、STM32の開発環境についてのお問い合わせですね。Cortex-M3の開発環境はオープンソースから有償のものまで選択肢がたくさんありますので、どれがお勧めですか、といったご質問です。
目的に応じた開発環境を幅広く提供
今、開発ツールのお話が出ましたが、ムックではどのような環境を取り上げているのですか?
川内:基本的にはオープンソースをベースにしていますので、コンパイラおよびデバッガの「Sourcery G++ Lite Edition for Arm」や統合開発環境の「Eclipse IDE」などを使いました。また、評価ボードとしては、ストロベリー・リナックス社の「STBee」など複数のボードを紹介しています。ただ、開発環境は実際に作り上げるまでが大変なので、本ではその過程に一通り触れるとともに、本のフォローを目的に開設した「マイコン徹底入門」(http://miqn.net/)というサイトでより詳しく説明するようにしました。あと、とても役立ったのが、STが提供する「Arm-based 32-bit MCU STM32F10xxx standard peripheral library」という無償のファームウェアライブラリでした。ペリフェラル周りのプログラミングを自分で書かずに済んだおかげで、ずいぶん楽をさせてもらったというのが私の印象です。
野田:実際に多くのお客様が、STが提供しているファームウェアライブラリをプログラム開発に活用されています。STはCortex-M3のベンダーとして長く製品を展開してきていますので、ファームウェアライブラリの完成度も高く、100種類以上の機能をサポートしています。この点は、STM32の強みのひとつと言えるでしょう。
塩川:Cでハードウェアのプログラムを書こうとすると、レジスタを1bit変更するだけでも構造体を定義する必要があって結構面倒ですが、このライブラリを使うと、極端な話、マニュアルがなくてもペリフェラルを制御できてしまいます。STM32のペリフェラルドライバが全部入っていますから、ぜひ活用していただきたいと思います。
他にはどのような開発環境が用意されているのですか?
野田:最近お勧めしているのが、ターゲットマイコンとして「STM32F100 バリュー・ライン」を搭載した、簡易スターターキット「STM32 Value line discovery」(型番STM32VLDISCOVERY)です。STのJTAG ICE「ST-LINK」の機能をそのまま搭載していますので、USBケーブルでパソコンと接続するだけで、IARシステムズ社様の「IAR Embedded Workbench」やArm社様のKeil「μVision4」を使ったプログラム開発が可能です。秋葉原の秋月電子通商社様で取り扱ってもらっていますが、価格は1,100円ととても手頃です。菅井が真心を込めて作った日本語の説明書も付いてきます。
川内:「IAR Embedded Workbench」を使うような本格的なプログラム開発がこの値段で試せて、ホビーユーザーもそれなりに遊べますから、STM32をまず使ってみたいという場合には最適と思います。ただ、リリースされた時期の関係から本書では取り上げることができませんでしたので、先ほども述べた専用サイト「マイコン徹底入門」の方でフォローしています。
菅井:マイコンの開発は難しいというイメージがどうしてもありますが、たとえば「STM32 Value line discovery」とノートパソコンさえあれば、喫茶店でもプログラムが書けてしまうんですよ。先日もお客様のところに伺う前に新幹線の車内でプログラムの確認をしたこともあります。
ところで、こちらにあるオレンジ色のユニットは何ですか?
野田:これは2011年1月に発表した「EvoPrimer」という「STM32 Primer」の第3世代の評価キットで、STの8bitマイコン(STM8)もサポートしています。LCDタッチスクリーン、ジョイスティック、MEMS加速度センサ、マイク、スピーカジャック、MicroSDカードコネクタなどを備えている他、「CircleOS」というオペレーティングシステムや複数のゲームアプリケーションがあらかじめ搭載されています。また、マイコン部分は交換可能になっていて、新しい「STM32 F-2」のターゲットボードも近いうちに提供する予定です。米国での価格は99ドルで、すでに量産は始まっていますので、日本国内でも間もなく入手可能になる予定です。
塩川:こういった手軽な評価キットやオープンソースツールのように非常に低コストで構築できる選択肢もあれば、費用が掛かってもいいからサポートが欲しいというお客様のニーズに応えられるツールもサードパーティから出ています。ツールの選択肢が多い点も他のアーキテクチャにはないCortex-M3の強みで、お客様のニーズに応じて最適な環境をご紹介するようにしています。
Cortex-M3のラインアップを強化
STは90nmプロセスを採用した「STM32 F-2」シリーズを発表しました。
野田:動作周波数が120MHz(150DMIPS)というハイエンドに位置するSTM32 F-2の量産は2011年4月頃を予定しています。お客様には先行サンプルをお出ししているのですが、ロウエンドのDSPやMPUからの置き換えニーズなどがあり、予想以上に多くの引き合いをいただいています。
塩川:STM32 F-2の他に、トランジスタのリーク電流を徹底的に抑えて低消費電力化を図った「STM32L」という製品も2011年4月にラインアップに加わりますが、これらの新しい製品に関して、従来のSTM32 F-1との機能や性能の違いなどのお問い合わせがとても増えています。
こういった新しい製品がSTから続々と登場していますが、川内さんは今後はどのような活動をしようと考えていますか?
川内:そろそろマイコンからは足を洗おうかと(笑)。それは冗談としても、ホビーユーザーは基本的に新しいもの好きですから、STM32 F-2もいじってみたいなというのはありますね。あと、専用サイト「マイコン徹底入門」には掲示板を設けているのですが、私がすべての質問に回答しなければいけないんだろうなと思っていたところ、STM32に詳しいユーザーの方が自発的に回答してくれるようになって、だんだんとフォーラムっぽくなってきているんです。本の宣伝も兼ねて作ったサイトでしたが、大きな役割を持つようになって、責任も重くなってきました。版元からの情報によるとお陰様で本の売れ行きも好調とのことですし、Amazonでは数回の在庫切れが発生しているほどで、私の本がきっかけとなってCortex-M3のユーザー層が増えてくれれば嬉しく思います。
最後に、あらためてSTM32マイコンの特徴をお願いします。
野田: Cortex-M3は競合製品が増えていますから、ビジネスとしては一層厳しい戦いが予想されますが、先ほど取り上げたファームウェアライブラリのような充実した開発環境や、日本のお客様のニーズを製品に反映する企画力といったアドバンテージは、やはりCortex-M3に一早く取り組んできたSTならではだと思います。日本国内のサポートも強みのひとつで、お客様からいただいたご質問のほとんどを日本法人で解決しているという実績もあります。最後に、素晴らしい本を書いてくださった川内さんに改めて御礼を申し述べたいと思います。マイコンを愛する川内さんの想いが詰まった本を、APSの読者の皆さんもぜひ手に取ってみてください。
川内さんの今後のご活躍をお祈りして座談会を終わりにしたいと思います。本日はありがとうございました。
こちらも是非
“もっと見る” インタビュー
パナソニックが電動アシスト自転車にSTM32を採用。タイヤの空気圧低下をエッジAIがお知らせ
国内の電動アシスト自転車市場で圧倒的なシェアを誇るパナソニック サイクルテック。同社が新たに開発したのが、タイヤの空気圧低下をAIで推定する「空気入れタイミングお知らせ機能」である。パンクの原因にもなる空気圧低下を乗り手に知らせて、安全性と快適性を高めるのが狙いだ。アシスト用モーターの制御とAIモデルの実行にはSTのSTM32マイコンを採用した。開発の経緯や仕組みについて話を聞いた。
顔認証端末「Noqtoa」の高性能を支えるi.MX 8M Plusプロセッサ~内蔵NPUが0.2秒のレスポンスを実現~
NXP Semiconductorsのi.MX 8M Plusアプリケーション・プロセッサとサイバーリンクのAI顔認証エンジンFaceMeで構成した宮川製作所の顔認証端末「Noqtoa(ノクトア)」。i.MX 8M Plusの特徴のひとつであるNPU(ニューラル・プロセッシング・ユニット)を活用して、人物の顔の特徴量抽出を高速化し、1万人の登録に対してわずか0.2秒という顔認証レスポンスを実現した。宮川製作所で開発を担当したお二人を中心に話を聞いた。
ウインドリバーが始めた、Yocto Linuxにも対応する組み込みLinux開発・運用支援サービスとは?
リアルタイムOSの「VxWorks」やYocto Projectベースの商用組み込みLinuxである「Wind River Linux」を提供し、組み込みOS市場をリードするウインドリバー。同社が新たに注力しているのが組み込みLinuxプラットフォームソリューションの開発と運用の負担を軽減するLinux開発・運用支援サービスの「Wind River Studio Linux Services」だ。