Eclipse Embedded Systems Register View

以下の解説は、ダウンロードコーナーで配布している最新版の開発環境を前提にしたものです。旧版の環境を使用する場合には、導入編を参照して下さい。

Eclipse Embedded Systems Register ViewはEclipse上でマイコンのデバッグをしている際に、リアルタイムで、マイコンのペリフェラルレジスタの内容を確認・変更するためのプラグインです。オープンソースで開発されています。

http://sourceforge.net/projects/embsysregview/

組み込み開発では、こういった機能があると、周辺回路を使った開発がとても容易になります。商用の開発環境では、こういった機能は最初から用意されていることが多いです。一方、オープンソースの開発環境では、このような機能が用意されているケースはほとんど見かけませんでした。これをやろうとすると、ペリフェラルレジスタをグローバル変数として割り当てて、プログラム内の変数の確認機能で擬似的に確認するといった手段を取らないといけません。ところがこのプラグインを使用すると、ペリフェラルレジスタ確認のための専用のビューが出来、変数の確認・変更をすることができます。

本来であれば、インストール方法を解説するのが先ですが、本書の開発環境では既にインストール済みですから、使用方法を先に述べます。

使用方法

Eclipse上でデバッガをスタートさせたら、ワークベンチ下部にあるEmbSys Registersビューを選択して表示させてください。このビューがEclipse Embedded Systems Register Viewプラグインの操作画面です。

操作したい周辺回路のツリーを展開してください。ここでは、例として、STBeeのオンボードLEDを操作するので、GPIODのODRを表示させます。サンプルプログラムとしてはob_led_toggleを使用しています。

レジスタ名の左側のアイコンをダブルクリックします。

ダブルクリックしてアクティブにすると、アイコンが緑色になって、その時点でのレジスタの内容が表示されます。左側から、16進数での値、2進数での値、リセット時の値、読み書きの可否(R=Read/W=Write)、アドレスです。サスペンド状態でも、動作中でも、操作することができますが、レジスタの内容が表示されるのは、サスペンド状態だけです。

この例では、STBeeのオンボードLEDが消灯中にサスペンドしています。STBeeのオンボードLEDはプルダウン接続ですので、PD4に対応するビット(右から5ビット目)が1になっています。

レジスタの内容を変更するためには、16進数の値をクリックします。2進数を直接操作できたらいいのですが、そちらで操作することはできないようです。

書き換えてリターンキーを押すと、その時点でレジスタ内容が変更されます。この例でいくと、0x00000000にすると、PD4のビットが1になりますので、変更した瞬間に、オンボードLEDが点灯します。

レジスタの表示をアクティブにしておくと、Resume後にSuspendしたときや、ステップ実行したときに、その時点でのレジスタの内容が表示されます。

下記の画面は、PD4をセットする直前の画面です。ここで1行ステップ実行させます。

するとレジスタの変更が反映されます。

なお現在のバージョンでは、レジスタの表示をアクティブにしていると、デバッガの動作が不安定になることがあるようです。デバッガ(インターフェース)の性能に左右されるかもしれません。

インストール

Eclipse Embedded Systems Register Viewは「Install New Software…」メニューからのインストールと、プラグインフォルダに直接コピーしてインストールする方法に対応しています。筆者が試した環境では、「Install New Software…」メニューからのインストールは成功しなかったのですが、こちらの手順でインストールできるのであれば、そちらのほうが望ましいですから、以下まずそちらの方法を説明します。

メニューバーのHelp→Install New Software…からInstallウィンドウを開きます。「Work with:」欄に、

http://embsysregview.sourceforge.net/update

と入力して、リターンキーを押してください。

すると空白だった画面に、以下のように「embsysregview」というツリーが表示されます。これを展開します。

展開すると、「embsysregview_feature」という項目が現れますので、これにチェックを入れます。Nextをクリックして進めます。

インストール詳細の確認画面です。そのまま進めます。

ライセンスの確認画面です。ライセンスはGPLv3です。確認の上で進めます。

インストールが始まります。

インストールに成功すればワークベンチの再起動が求められるはずですが、筆者の環境では以下のようなウィンドウがでて成功しませんでした。

このような場合は、jarファイルから直接インストールします。

http://sourceforge.net/projects/embsysregview/files/embsysregview/0.1.6/

まず以下のサイトから、

org.eclipse.cdt.embsysregview_0.1.6.jar

をダウンロードします。

以前のバージョンのEclipseの場合はpluginsフォルダにコピーをしていましたが、Heliosからは、手動でインストールしたjarとメニューからインストールしたjarを区別できるようにするために、手動でインストールするjarファイルは、

eclipse/dropins

にコピーします。

Eclipseが起動していない状態で、以下のような配置になるようにコピーしてください。

インストール作業自体はこれで完了です。

インストールできているかの確認のため、Debugパースペクティブに、ビューを表示させています。Eclipseを起動させ、Debugパースペクティブに変更後、メニューバーからWindow→Show View→Other…を選択します。

Show Viewウィンドウが表示されますので、Debugツリーを展開します。「EmbSys Registers」が表示されていれば、インストールに成功しています。これを選択して、OKをクリックしてください。パースペクティブにEclipse Embedded Systems Register Viewのビューが追加されます。

インストール後、設定を行うため、メニューバーからWindow→Preferencesを選択して、Preferencesウィンドウを表示させます。

ツリーをC/C++→Debugと展開すると、EmbSys Register Viewという項目が表示されるのでこれを選択します。ここで図のようにプルダウンメニューから、アーキテクチャを選択します。現在のバージョンでは、事実上Vendorしか選択するところがありません。

これでインストール完了です。