組込みソフトウェア開発に集中できる環境をIARシステムズがサポート
ソフトウェア開発者には気を散らす作業がたくさん存在します。例えば、ドキュメント作成やドキュメント理解、新しい技術の習熟などです。本稿では、どのようにそういった作業を軽減するか、また、どのようにIARシステムズがソースコードに集中することをサポートするのか、ご紹介します。
組込みシステム開発は難しい、ということに異論を唱える人は少ないでしょう。難しい仕事に直面した際、仕掛の仕事に集中することが大切です。目の前の仕事に集中し続けることが、発見および改修が困難なバグの混入を防ぐ、最も効果的な方法です。
限られたCPUリソース、ユニークなアーキテクチャ、シリコン上のバグなど、無数の要因が存在する中で、集中力を維持することは困難です。これらのことが、標準化などの問題を抜きにして、組込みシステムの開発を難しくしています。さまざまな問題に直面する中で集中力を維持するためには、優れたツールと有用なサポートが必要です。
ユーザに提供する技術情報
ツールのユーザーマニュアルはフラストレーションのもとになりえます。よく言われるのは、「ドキュメントは、そのツールの使い方をすでに知っている人のために書くものだ」ということです。私たちは、そのようなことはないと考えています。私たちのグローバルサポートチームは、お客様が必要な情報をすばやく見つけられるよう、サポートします。よく整備されたドキュメントに加え、私たちのウェブサイトは技術記事や動画や録画したウェビナーなども提供します。
さらに詳細な技術情報はテクニカルノート(開発テクニック)にもあります。例えば、アーキテクチャ固有のコンパイラ拡張機能やポインタ仕様、ヴァージョン管理ツールの統合、リンカが出力するマップファイルの読み方などです。その他にも、組込みシステムで有用なC/C++の混在について、ツールが出力する診断メッセージのリスト(参考として便利)、ブートローダとメインアプリケーションを組み合わせる際に行うべきスタートアップコードの削除方法、安全性が重要なシステムでしばしば必要となる絶対番地でのライブラリの作成方法、C言語のバイナリ表記(代替方法)、その他の有用なトピックが含まれます。
規格に準拠するとなると、最も難しいことのひとつは、使用するすべてのツールの準拠を証明する文書をまとめることです。機能安全版のIAR Embedded Workbenchは、そうした場合に、例えばIEC61508やISO26262といった規格で要求される関連ドキュメントを提供することで、ユーザの負担を軽くします。
学習が難しい場合のサポート
新規プロジェクトの開始は難しいもので、特に、アーキテクチャとツールの使い方を同時に学ぼうとするならなおさらです。IAR Embedded Workbenchは、4000を超えるサンプルプロジェクトを持ち、学習を促進するだけでなく、実際にプロジェクトのベースとして使えるようなものもあります。
プロジェクトの立ち上げやツールの使い方を学ぶ上で、私たちはサポートチームの利用を提案します。私たちのサポートチームはハードウェアまたはソフトウェアの種々のバックグラウンドを持ちます。組込み業界で10年以上のキャリアを持つ者、さらにその中に、組込みシステムのコンサルティングをしている者もいます。このため、新しい問題に立ち向かうことを学ぶときのユーザの気持ちはよくわかります。緊急の問題であれ、小さな問題であれ、サポートチームがユーザを支援します。サポートチームは、欧州、アジア、アメリカ大陸に10のオフィスを持ちます。いつでもプロフェッショナルなサポート受けることが可能です。
この他に改善できる方法としては、トレーニングがあります。私たちは、定期的にセミナーを開催しています。一般的なバグの話や、複雑なバグの対処方法、ツールの機能について詳細な説明などをカバーします。加えて、組込みソフトウェアの設計の基礎や、プロジェクトの立ち上げ方および既存プロジェクトへの機能追加などもご紹介します。全てのセミナー講師は経験豊富なエンジニアが担当します。
高度な開発ツールを入手する重要性
開発ツールがユーザを助ける最も大切なことのひとつは、効率の良いコードを生成することです。効率とは、あるエンジニアにはROMサイズのことを意味し、また別のエンジニアには実行速度のことを意味します。どちらにしても、IAR Embedded Workbenchを使用することで、高度に最適化されたC/C++コンパイラを利用でき、コンパクトなコードの生成が実現します。私たちのコンパイラでは、ユーザは、サイズを優先するか、実行速度を優先するか、両者のバランスをとるか、最適化の性質を指定することが可能です。コンパイラに最適化を許可することで、開発時間の短縮が可能です。なぜならソースコードの記述をユーザ自身が最適化する必要がないからです。
コードに集中するためのもう一つの方法は、機能豊富なデバッグツールを持つことです。私たちのデバッガは、業界標準のデバッグプローブをすべてサポートしており、ハードウェア上で実行されるコードの解析を支援します。RTOS上に開発したアプリケーションの解析を支援するプラグインも用意しており、タイマーやメイルボックスやセマフォやタスクなど、よく使われるRTOS機能の使用について、解析を支援します。その他に、アプリケーションが実行時に必要とするスタック使用量の推定機能があります。また、コードのカバレッジや関数のプロファイリングといった機能も、実行時間の大半を消費している箇所の特定や、テストで集中すべき箇所の特定に、役立ちます。
まとめ
はじめに、常に自分のしていることに集中すること。アプリケーションを書くという目の前の仕事に集中することで、組込みマイコンをベースにした高品質な製品を実現することができるのです。もうひとつは、ビルド時のエラーや実行時エラー、ツールやアーキテクチャの知識の検索など、不要な問題に振り回されないよう、高性能なツールを使うことです。また簡潔で整理されたドキュメントは、開発者に必要な情報を見つけるのに役立ちます。 そして、回避策など、さらなるサポートが必要な場合は、サポートチームがいつでも対応します。