
組込み開発では、柔軟性は諸刃の剣となり得る。一方では、複数のマイクロコントローラアーキテクチャにアクセスできるため、チームは製品ごとに適切なハードウェアを選択できる。その一方で、多様なアーキテクチャをサポートすることは、特に各プラットフォームが独自のツール、ワークフロー、スキルセットを要求する場合、分断された非効率的な混乱に陥りやすい。
サイロ化した開発とベンダーロックイン
少し前、まさにこの問題に直面していた家電メーカーと話をしたことがある。同社の製品ラインはAVR、MSP430、Arm Cortex-M、RL78にまたがっており、各アーキテクチャには独自の開発環境、デバッガ・セットアップ、ツールチェーンが付属していた。
その結果、以下の問題が発生していた。
- チームはアーキテクチャ固有のサイロに隔離され、知識やリソースの共有が困難であった。
- コードの再利用が制限され、エンジニアは新しいプロジェクトのたびに車輪の再発明を余儀なくされた。
- プラットフォームに特化した経験を持つ主要なエンジニアが不在の場合、進捗が遅れた。
その上、同社はベンダーに囲い込まれ、ワークフローを大きく見直すことなくマイクロコントローラーを切り替える余地がほとんどないように感じていた。すべての決断はリスクが高く、コストもかかると感じていた。
解決策:統一されたアーキテクチャとデバイスにとらわれない開発プラットフォーム
これらの課題に対処するため、同社はIARに移行した。IARは、1つ屋根の下でクロスアーキテクチャ開発をサポートするためにゼロから構築されたプラットフォームである。
IARの導入により、同社は以下を実現した。
- 20以上のアーキテクチャにまたがる開発ワークフローを統一し、コラボレーションとツールメンテナンスを合理化した。
- ベンダーロックインからの脱却により、エンジニアはMCUをシームレスに切り替えられるようになった。
- コードサイズを28%削減し、ハードウェアの性能向上とコスト削減を実現した。
この移行は、技術的な成果を向上させただけでなく、チームの協力体制も変革した。
モジュール式でスケーラブルなアーキテクチャが重要な理由
ジェイコブ・ベニンゴの組込み近代化フレームワークは、さまざまなプラットフォームに適応できるモジュール式でスケーラブルなソフトウェア・アーキテクチャを設計することの重要性を強調している。しかし、すべてのアーキテクチャが独自の独立したワークフローを必要とする場合、そのビジョンの達成はほぼ不可能である。
IARの開発環境は、プラットフォーム間の摩擦を取り除き、真のアーキテクチャの柔軟性を可能にすることで、このビジョンをサポートする。
IARの優位性:1つのツールチェーン、無限の可能性
IARがどのようにチームの近代化と多様なプラットフォーム間での拡張を支援するかを以下に示す。
- AVR、MSP430、Arm、RL78、RISC-V、その他多数のための1つのIDEとツールチェーンで、ツールの断片化を排除する。
- 一貫した検証とトラブルシューティングを支援するクロスアーキテクチャデバッグ機能を備える。
- メモリ制約のあるデバイスに不可欠な、小さく高速で信頼性の高いコードを生成する高効率コンパイラを提供する。
これにより、エンジニアはプラットフォームの専門知識だけでなく、必要とされる場所で働くことができる。また、オンボーディングを簡素化し、再利用性を向上させ、開発オーバーヘッドを削減する。
結果:柔軟性、スピード、コスト削減
この家電メーカーにとって、その効果は大きい。同社は現在、アーキテクチャ間のピボットへの柔軟性、より効果的なコードの再利用能力、合理化された開発プロセスによる市場投入までの時間の短縮を実現している。
さらに重要なことは、彼らのチームはツールチェーンの複雑さに制限されたり、レガシーなワークフローに縛られたりすることなく、妥協することなく各製品に最適なソリューションを選択する権限を与えられているということである。
IARプラットフォームの動作を見る
IARのプラットフォームが、どのようにマルチアーキテクチャ開発をサポートし、リリースから数年後でも、より速く、再現性のあるビルドを可能にするかをご覧いただきたい。
組込み開発を統一する準備はできていますか?
もし、あなたのチームが複数のツールチェーンを使いこなしていたり、知識のサイロ化に悩んでいたり、硬直したベンダーエコシステムに縛られているなら、より統一されたアプローチを検討する時かもしれません。
オンデマンド・ウェビナー「コンテナと自動化で組込みDevSecOpsを拡張しCI/CDのボトルネックを解消する」をご覧いただきたい。このウェビナーでは、コンテナと自動化で組込みDevSecOpsを拡張し、IARのアーキテクチャにとらわれないプラットフォームによって、組込みワークフローに一貫性、柔軟性、拡張性をもたらす方法を説明している。
少人数のチームで作業している場合は 、 オンデマンドのウェビナー「DevOpsチームなしで生き残る」をご覧ください:組込みチームのためのCI/CD、デバッグ、コンテナは、あなたのニーズによりフィットするはずだ。