
160
Bluetooth Low Energyをはじめよう
境で、コンパイラ出力に実質的な変動なく、同一のコードをビルドできる。
後者のポイントは非常に重要で、組み込み開発向けにGCCが 選 ばれる大きな 理 由 の 1
つともなって い る 。現 在 の GCCは ARMにも素晴らしいコードを出力するが、まだ特定のタ
スクに関しては一部の商用コンパイラのほうが良い性能を示すこともある。しかし、GCCにあっ
て商用ツールチェインにない利点は、常に同一のコンパイラのバージョンと依存関係を用
いてファームウェアを再構築できるという保証だ。アクティベーションを(したがってアクティベー
ションサーバーを)必要とする商用ツールチェインは、開発が継続されていなければ、現在
の世 代 のオペレーティングシステムや PC 上での 動 作が 保 証できないかもしれない 。
組み込み開発の初心者は、この点を見過ごしがちだ。組み込みデバイスは10年や20年、
あるいはそれ 以 上 の 寿 命を持 つことも珍しくない 。これはほとんどのソフトウェア パッケージ
の寿命を大きく上回る。現在お使いの商用ツールや開発環境は10年後には存在しない
かもしれないし、また何年も前に大きな投資を行ったが廃番となってしまった製品を将来ア
クティベートしてくれるベンダーは存 在しないかもしれない。GCCは 、こ の よ う な 問 題 が 起
こらないことを保証してくれる。ファームウェアのコードと一緒に、ライブラリの依存関係を
含めてクロス