コーディング期間の10~20%削減を実感 デバッガ用プラグインにより、タスク管理やスタック使用量の見える化が可能に
プロジェクター「DLAシリーズ」
株式会社JVCケンウッド
小俣 博仁 様
従業員数:16,939人
事業概要:オートモーティブ分野、パブリックサービス分野、メディアサービス分野の事業等を営むこと、ならびにこれに相当する事業を営む会社の株式または持分を保有することによる当該会社の事業活動の管理
今回は、株式会社JVCケンウッド様を紹介します。
「オートモーティブ」「パブリックサービス」「メディアサービス」「DXビジネス」の4つの事業活動を推進しており、この度、「メディアサービス」にあたるプロジェクター製品にμC3とμNet3を採用頂き、採用前の課題やその効果についてお話を伺いました。
JVCケンウッド様のプロジェクター製品は、映画館やフライトシミュレーター、プラネタリウムなどの高精細映像と広いダイナミックレンジを必要とするシミュレーションやバーチャル・リアリティ用途において多くの導入実績を持ち、高い評価を得ています。
課題
プログラムの構造・管理の仕方に課題があり、根本から開発し直す必要があった
採用の決め手
使用したいマイコンにいち早く対応しており、手厚いサポート体制が用意されている
コンフィグレータ―によって開発の手間が軽減できる
効果
期待していた以上に設計期間が短縮できた。コーディング期間の10~20%削減を実感
デバッガ用プラグインにより、タスク管理やスタック使用量の見える化が可能に
導入前
プログラムの構造・管理の仕方に課題
もともとはプロジェクターのソフト開発を外部に委託していたのですが、内製しようということになり、パートナー会社と共に機能ごとに手分けして開発したという経緯がありました。そのため、プログラムの構造・管理に問題が発生してしまいました。
例えば、モジュール間の結合が強く、機能変更に手間がかかること。少し機能を変えた場合でも多方面に影響が及んでしまったため、変更が困難でした。その結果、モデル変更の際の資産の流用性が悪いという問題や、可読性が悪くなる、といった問題も発生していました。そういった経緯で、根本から開発し直す必要がありました。
CPUにいち早く対応していたのが決め手
もともと採用していたマイコンでは外付けのSDRAMを使用しており、メモリアクセスが遅いという課題がありました。それが、内蔵RAMだけでソフトを動かせるようになるとメモリのアクセス速度を上げることができるようになるため、大容量の内蔵RAMを持っている某国内半導体ベンダーのCPUに変更しました。また、OSD(モニター画面上に表示されるメニュー操作画面)の画角もより大きいものが良いというのも理由の一つでした。
従来のモデルでもμC3/Compactを使用していたのですが、当時からμC3/Configuratorが使いやすいと感じていました。CPU移行後もコードの自動生成でタスク、割り込みハンドラ、ペリフェラルの設定に関する手間を省き、前述のソースコードの整理に時間をかけたいと思っていました。
当時、イー・フォースの営業担当にμC3の対応状況を聞いたところ、いち早く対応していたこと、手厚いサポート体制があることを聞いたのが決め手となり、μC3を採用しました。
導入後
μC3/Configuratorのコード自動生成で開発期間を短縮
――導入後、メリットの中で一番明確だったものは何でしょうか?
期待していた以上に、設計期間が短縮できたことです。実際にどれくらいというのは難しいですが、感覚的にはOSレスと比較するとコーディング期間が10~20%くらい削減できていると思います。
その要因としては、やはりμC3/Configuratorによるタスク、割り込みハンドラ、ペリフェラル等のコード自動生成が大きく貢献していることだと思います。μC3もμNet3も、直感的にわかりやすいインターフェースになっていたおかげで、ユーザーズガイドを読むことなく使うことができました。
ちなみに、開発期間を短縮できた事もあり、USBスタックの実装や現行マイコンからの移植も全て自社で行う事が出来ました。
タスク管理やスタック使用量の見える化
――その他、期待していた以上の効果があればお聞かせください。
デバッガ用プラグインにより、タスク管理やスタック使用量の見える化が可能になりました。
割込みが発生した場合、直前まで実行していたプログラムのフラグやプログラムカウンタの値を一次的にスタックに退避させたりしますが、ネスティングしていくとスタックの消費が分かりずらくなるので、そこが見えるようになった事により凄く開発がし易くなりました。
今後の展望
今後は、クラウド接続やRTOSとLinuxの共存等も検討していきたい。イー・フォースはそれらが実現出来る製品やサービスを提供されているので、今後も期待しています。
μC3/Net3の導入により、設計期間の短縮、スタック領域の見える化に貢献し、開発コスト削減が可能になりました。