Household appliance

カシオ

IAR Embedded Workbenchの採用によるデュアルコアi.MXへのスムーズな移行

カシオ_ケース_ページプレゼンテーション

カシオ計算機株式会社は、新電子辞書「EX-word」シリーズの開発にあたり、IAR Embedded Workbenchを採用した。

電子辞書の心臓部であるプロセッサは、カシオ計算機が従来の32ビットRISC CPUからArmベースのデュアルコアプロセッサに置き換えたのを機に、IAR Embedded Workbench for Armの導入を決定。性能と電力効率のバランスなど多くの課題に直面しながらも、IARシステムズのサポートにより滞りなく開発を進めることができたという。

今回は、同社が電子辞書を開発する際に直面した技術的な課題や、IAR Embedded Workbenchを採用した経緯などについてお話します。CASIOは電子辞書のトップメーカーで、解像度、フォント、音質を大幅に改善しました。同社では、さまざまな製品を開発している。

casio_case_fig1

「私たちの部署では、言語学習というカテゴリーの製品を開発しています。電子辞書『EX-word』を中心に、学生向け、企業向け、生活文化を重視するシニア向け、言語別など、さまざまな機種を開発しています。また、英語学習専用ツール "EX-word RISE "や "joy study "の開発も担当しています。2019年1月に発売したEX-word XD-SRシリーズの開発にIAR Embedded Workbenchを採用しました。"

- 柳澤正明氏

XD-SRシリーズは、液晶ディスプレイの高解像度化が特徴だ。従来モデルはHVGA(528×320)表示だったが、FWVGA(864×480)表示にアップグレードされた。フォントもビットマップフォントからアウトラインフォントに変更された。インターネットなどでよく使われるOpus圧縮技術(最大48kHzエンコード)の採用により、英語などの音声出力品質も向上した。プロセッサもアップグレードされ、より快適に操作できるようになった。

EX-word XD-SRシリーズにNXP i.MXシリーズを選択

「NXPセミコンダクターズが開発したCortex-AとCortex-Mのデュアルコアプロセッサであるi.MXシリーズを採用した。Cortex-Aは、検索、グラフィック表示、動画再生、英語の発音判定、USB通信などのタスクを処理する。Cortex-Mは、キー入力やタッチ入力、音声再生や録音などのタスクを処理する。オペレーティングシステム(OS)は、マルチコア非対称マルチプロセッシング(AMP)に対応したμITRON仕様に準拠したリアルタイムOSを採用することにした。つまり、Cortex-AとCortex-Mの両方にμITRONを搭載している。EX-wordが最初にリリースされたのは1996年ですから、当時は16ビットのx86プロセッサを使っていました。その後、2000年代前半から32ビットのRISCプロセッサを使うようになり、今回初めてArmベースのプロセッサを採用することになりました"

- 柳澤

EX-wordの前モデルでは、複数の異なるプロセッサを使用していた。

他社のスペックに合わせてプラットフォームを変更

開発にあたっては、いくつかの課題があったという。

「実は、海外向けに従来機と同じプロセッサーを使い、WVGA(800×480)の液晶ディスプレイを搭載したモデルを開発したのですが、表示速度に課題がありました。しかし、同時期にライバル各社が高解像度のディスプレイを搭載した製品を世界市場で発売していたので、プラットフォームを変更し、システム性能を高めることにしました。それが、一から出直す原動力となりました"

- 柳澤

「ディスプレイのフォントも大きな問題でした。ビットマップフォントは醜いというレビューが注目されるようになりました"

- 北口

casio_case-fig02

「アウトラインフォントを使うとなると、メモリからデータを呼び出す処理など、描画以外の処理の負荷が増える。CPUコアの処理速度については、前モデルのプロセッサーでも問題はなかったが、いくつかの問題にぶつかった。例えば、外付けRAMがSDRAMだったため、動作クロックがあまり速くなかった。一方、今回のモデルはLPDDR2 RAMを搭載しているため、データ転送速度は従来の10倍以上となり、システム性能は大幅に向上しました"

- 柳澤

CASIOでは、検索データや音声データへのアクセスについて、いくつかの選択肢を検討した。

「当社の場合、コンテンツデータの保存にはeMMCフラッシュROMを使用しています。以前のモデルのプロセッサーでは、eMMCインターフェースへのアクセスが遅すぎるという問題がありました。現行モデルではeMMCをDDRモードで動かすため、データ転送速度は前モデルの4倍程度に向上しています。システム構成は変わりましたが、画面解像度がHVGAからFWVGAに変わったにもかかわらず、検索や情報表示など通常の処理は最大で約1.5倍高速になりました"

- 柳澤

「電池で動く電子辞書ということで、カシオは細部にまでこだわっています。性能を上げる一方で、消費電力を維持しなければならないので、処理を2コアに分けました。大変な作業でしたが、性能向上と電力効率のバランスを取ることができました"

- 北内

新製品開発で工夫が必要だったいくつかの点

"使わないプロセスは極力停止させる "というのは、省電力化の基本中の基本です。そのため、OSのティックタイムをやや長めに設定し、CPUの "ディープ "な低消費電力モードからでも、このティックタイムを作り出すタイマーを呼び出せるようにしました。リアルタイムOSでは、1ミリ秒間隔の短いオーダを設定し、応答速度を優先する場合も多いが、電子辞書システムでは、このティックタイムをやや長めに設定することにした。高速タイマーは必要なときにしか使わないので、必要ないときはできるだけ遅くしています。この最新機種は、従来機種の約5倍の電力効率を実現しています。"

- 柳澤

IAR Embedded Workbenchを初めて使う

実はマルチコアプロセッサを使うのは初めてだったので、最初は本当にデバッグできるのか半信半疑でした。ありがたいことに、予想以上にスムーズに動作してくれたので、本当に良かったです。

- 柳沢

マルチコアのデバッグ機能については?

「両コアの挙動を画面上で確認することができました。片方のコアが壊れると、もう片方のコアの処理も止まるんです。"

- 柳澤

「ブレークポイントの条件を細かく設定できるのが便利だと思いました。例えば、変数が指定した値になったらブレークするとか、このアドレスを通過したらブレークするとか。"

- 北口

私はCASIOに入社して2年目ですが、このプロジェクトに参加するまで組み込み開発に携わったことがありませんでした。IAR Embedded Workbenchの使い方について正式なトレーニングを受けたわけではありませんが、それでも丸1年間、問題なく仕事をこなすことができました。私のような素人が、このプラットフォームを使って製品開発を成功させることができるのは、とても素晴らしいことだと思います。

- 榊原

ライセンスに柔軟性があることが、IARシステムズのツールを選択した主な要因です。

IAR Embedded Workbenchを採用した理由のひとつに、柔軟なライセンス体系がありました。カシオ計算機では、電子辞書の開発に多くの外注ミドルウェアを使用しています。また、『広辞苑』や『ジーニアス英和辞典』などの辞書コンテンツは、すべて個別にプラグインソフトウェアを用意し、外部の協力会社などに割り当てて開発しています。その際、Arm純正ツールにはライセンス上の制約があり、コンパイラを外部に提供することが難しいことがわかりました。

- 柳澤

海外の協力会社も含めると10社以上の外注先を抱えるカシオにとって、適切な解決策を見つけるのは大変なことでした。多くのメーカーは、ライセンスを購入した地域でしかサポートを受けることができません。IARシステムズであれば、エンジニアは特定の地域にあるIARシステムズの現地オフィスから、現地の言語でサポートを受けることができます。

カシオ製品の今後の展開

「XD-SRシリーズは、ある意味、前機種が押し出してきたコンテンツをアップグレードしたに過ぎません。今後は、プロセッサーの機能を十分に活かし、今まで諦めていた機能やコンテンツの開発に挑戦していきたいですね」。

- 柳澤