● H8 マイコンを開発できる統合開発環境は2 種類
2010 年2 月25 日発売の増刊号『今すぐ使える! H8マイコン基板』に,USB 対応H8 マイコン(H8SX/1655)基板が付属します.増刊号で解説する付属H8 マイコン基板の開発環境は次の2 種類があります.
① H8 マイコン・メーカ(ルネサス テクノロジ)純正の統合開発環境HEW(High - performance Embedded Workshop)
無償評価版が用意されており,増刊付属CD -ROM に収録されています.無償評価版のHEW に組み込まれているH8SX 用コンパイラは,最初のビルドを始めてから60 日間までは有償製品版と全く同一機能で使用できますが,それ以降はプログラムをビルドしてできるオブジェクト・コードのサイズが64 K バイトまでに制限されます.
② オープン・ソースの無償ツールGNU GCC(GNU Compiler Collection)をベースにして構築する統合開発環境Eclipse
増刊ではダウンロードして使用します.生成できるオブジェクト・コード・サイズに制限がなく,H8SX/1655 内蔵フラッシュ・メモリ(512 K バイト)をすべて活用できます.
統合開発環境とは,プログラム・ソース・コードの編集から,実際のビルド(コンパイルやリンク)およびデバッグまでを一つのメイン・ウィンドウ上で一貫して処理できるプログラム開発ツールのことです.
①②それぞれの開発環境の特徴を紹介します.増刊付属CD - ROM にはH8 マイコン・メーカが提供するFDT というマイコンにプログラムを書き込むためのソフトウェアも収録しています.
-----------------------
ルネサス純正統合開発環境HEW
-----------------------
● 生成コードの性能や信頼性が高い
①のメーカ純正の統合開発環境HEW は,CPU やデバイスの特徴を最もよく理解して設計されています.特にオープン・ソースのGNU GCC に比べると生成するコード・サイズが小さく,かつ実行速度も速いことが多いです.生成コードの信頼性も高く,高信頼性が要求される機器を開発する人は,メーカ純正品を選択する場合が多いです.
図1 にルネサス製純正版の統合開発環境HEW による開発の流れを,図2 にHEW の画面を示します.
図1 メーカ純正の統合開発環境HEW による開発の流れ
ルネサス テクノロジのHEW は,エディタ,コンパイラ,リンカ,デバッガが統合化された開発環境である
図2 H8 マイコン・メーカ純正の統合開発環境HEW の画面
真ん中の大きいエリアがソース・プログラムのエディタである.その下にプログラムのビルド状況がレポートされている
C/C++ のソース・コードは,HEW に組み込まれているエディタで作成できます.作成したプログラムはコンパイラでオブジェクト・コード(機械語)に変換します.この時点のオブジェクト・コードはまだ絶対番地に割り振ったものではなく,マイコンがそのまま実行できる形式ではありません.
各ソース・プログラムから生成したオブジェクト・コードを実際に絶対番地に割り振って結合するのが,リンケージ・エディタ(リンカ)です.リンカが生成したファイルが最終的なアプリケーション・プログラムのオブジェクト・コードになります.
● 専用ハードウェアを使うとソース・レベルでデバッグできる
プログラムの書き込み・デバッグ専用ハードウェアであるオンチップ・デバッギング・エミュレータ「E10A - USB」を使うと,ターゲット基板上のマイコンがソース・プログラムをどのように実行しているのかを直接追いかけられます.
CPU のレジスタの内容や,メモリの内容,周辺モジュールのレジスタ内容を読み書きでき,ソース・プログラム上の変数をその名前で直接アクセスして内容の確認や書き換えができます.また,プログラムをソース上の指定した位置で停止させるブレーク機能がありソース・リスト・レベルでデバッグできるため,マイコン動作の可視性が高まりデバッグ効率が向上します.このデバッグ機能もHEW に統合化されており,プログラムの編集,ビルド,デバッグをシームレスに行えます.
-----------------------
オープン・ソースの統合開発環境Eclipse
-----------------------
● 使用制限項目なく使えて情報が多い
マイコンのプログラム開発用のオープン・ソースの無償ツールとして代表的なものにGNU GCC があります.性能的にはメーカ純正ツールには及びませんが,使用制限項目なく使え,搭載マイコンの実力を100 %利用できます.世の中に技術情報が多く存在しているメリットがあります.
図3 に示すのは増刊号で紹介する②の統合開発環境の全体構成です.ソース・コード・エディタやコンパイラなどをまとめる統合開発環境としてはEclipse IDE for C/C++ Developers を使用します(図4).コンパイラやリンカはGNU GCC のH8SX 対応版です.
図3 無償ツールを使って構築した開発環境を使った開発の流れ
Eclipse をベースにした統合化開発環境を構築する.コンパイラはGNU GCC を,デバッガはGNU GDB を使用する.コマンド実行のためCygwin という環境を使用する
図4 HEW と似た画面構成のオープン・ソースEclipse の画面
● USB ケーブルがあれば専用ハードウェアなしでソース・レベル・デバッグも実現できる
デバッガ・ソフトウェアはGNU GDB( GNU Debugger)をベースにします.ボード上のマイコンの中にH8SX 用のGDB STUB という小さなプログラムを仕込み,パソコン側のGDB と通信することによって強力なソース・レベル・デバッグ機能を実現できます.通信はUSB ケーブルで行うので,E10A - USBのような専用ハードウェアは必要ありません.フラッシュ・メモリ内のプログラムにもブレークを張ることができます.デバッグ操作はEclipse の画面上からGUI ベースで行えます.
増刊号では無償コンパイラでプログラムを開発し,USB ケーブル1 本で付属基板をバス・パワーで動かしながらソース・レベル・デバッグを行えます.
-----------------------
USB経由でマイコンにプログラムを書き込む
-----------------------
作成したアプリケーション・プログラムのオブジェクト・コードをフラッシュ・メモリにダウンロードするソフトウェアとしてルネサス テクノロジから提供されているFDT(Flash Development Toolkit)を使用します(図5).USB 経由で高速にH8SX/1655 内蔵フラッシュ・メモリにプログラムを書き込めます.
図5 フラッシュ・メモリのプログラム用ツールFDT の画面
USB 経由で高速にフラッシュ・メモリへの書き込みができる