そこは知っておきたい「ARMマイコンのソフトウェア開発と開発統合環境」

tag:

2009年4月27日

2004 年 10 月にマイクロコントローラ向け CPU コアとして ARMCortex-M3がリリースされました.現在(2009 年)では,日本国内でも ST マイクロエレクトロニクス社や,NXP 社,東芝などの ARMCortex-M3 が利用され始めました.ここでは,ARM マイコンに関するソフトウェア開発をRealViewマイクロコントローラ開発キット(MDK-ARM)に統合されているツールを例に解説します.


 
 

ソフトウェアの開発に統合開発環境がなぜ必要なのか

 組み込みソフトウェアの規模は,経済産業省の 2008 年版組み込みソフトウェア産業実態調査報告書によると,平均の新規開発行数は,25.5 万行となっています.また,高級自動車や携帯電話では,1,000 万行にもなると言われています.このように巨大かつ複雑になるソフトウェアの開発には,組み込み OS を利用し,複数のエンジニアにより部分的にソース・コードを作ることが必然となっています.そこで,統合開発環境,IDE(IntegratedDevelopment Environment)を導入し,プロジェクト管理や,共通のテキストエディタやコンパイラ,デバッガを使用し,開発効率を上げる事が重要となっています.まず,こでは一般的なソフトウェアの開発フローを解説し,RealView マイクロコントローラ開発キットの各ツールがどこで使用されるかを解説します.


 

RealView マイクロコントローラ開発キットの概要

 MDK-ARM(図1)は,ARM 社純正の RealViewC/C++ コンパイラや Keil 社の統合開発環境μ Vision から構成された開発キットです.Keil 社は,2005 年 10 月に ARM 社に買収され,現在では,Keil 社製品も ARM社純正となっています.MDK-ARM を構成する製品は次のようになっています.

●μ Vision
●RealView C/C++ コンパイラ
●MicroLib
●RTX Real-Time Kernel
●Real-Time Trace



 図 1 RealView Microcontroller 開発キットの構成

図 1 RealView Microcontroller 開発キットの構成

 

ソフトウェアの開発フローと開発ツール

 現在,一般的なソフトウェアの開発フロー(図2)は,プロジェクト管理,ソース・コード作成,コンパイル,リンク,デバッグといったフローになります.プロジェクト管理は,すべてのソースファイル,およびプログラムのコンパイルとリンクに必要なコンパイラ,アセンブラ,リンカの設定の集まりです.μVision には,プロジェクト管理を容易にするために複数の機能が備わっています.
 ソース・コード作成は,C 言語およびアセンブラでプログラムを記述,登録し編集します.μ Vision では,μ Vision エディタを使用します.
 コンパイルとは,C 言語などで記述したソフトウェア・プログラム(ソース・コード)を,マイクロコントローラ上で実行可能な形式(オブジェクト・コード)に変換することです.μ Vision では,RealView C/C++ コンパイラを使用します.コンパイル時に MDK-ARM では MicroLib(ライブラリ)を使用する事も出来ます.ライブラリとは,汎用性のある複数のプログラム部品を一つのファイルにまとめたものです.MicroLib は,C 言語で記述された ARMベースの組み込みアプリケーションに最適化(コードとデータ・メモリを小さくする)されたライブラリです.
 リンクとは,複数のエンジニアにより,作成された複数のオブジェクト・ファイルを繋げる作業です.RTXReal -Time Kernel にリンクした場合は RTX 上で,そうでない場合は OS 無しのプログラムとして動作します.RTX Real-Time Kernel は,ARM7,ARM9,Cortex-M3の各デバイス向けのリアルタイム・カーネルです.
 デバッグとは,ソフトウェア・プログラムが正常に動作をするか検証する作業です.基本的な作業として,プログラムコード中にデバッグ用として挿入される強制実行停止コード(ブレークポイント)を設定し,停止直前の変数やレジスタの値を確認します.MDK では,μVisionデバッガ& Analysis を使用します.また,Cortex-M3 プロセッサ・ベースのデバイスに対応したリアルタイム・トレース機能がある Real-Time Trace も利用できます.

 

 図 2 ソフトウェアの開発フローと開発ツール

図 2 ソフトウェアの開発フローと開発ツール

 
 

1  2  »
組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日