Eclipse IDEベース統合開発環境のプロジェクトImport、Renameの方法

統合開発環境のデファクトスタンダードがEclipse IDE。本ブログ対象ベンダのNXP)MCUXpresso IDE、ルネサス)e2studio、Cypress)PSoC Creator、STM)SW4STM32など全てこのEclipse IDEをベースとした統合開発環境です。

ベンダやマイコンが変わっても殆ど同じ操作でエディットやデバッグができるので、慣れが早く、本来のソフトウェア開発に集中できます。但し、オープンソース開発なので、毎年機能追加や変更があり、2018年は6月にバージョン4.8、コードネームPhoton(光子の意味)への改版が予定されています。

本投稿は、2017年版Eclipse IDEバージョン4.7、Oxygenベースの各社IDEプロジェクトインポート、リネームの方法を説明します。
弊社マイコンテンプレートを使ってソフトウェア開発をする時、これらの操作を知っているとテンプレート:ひな型活用のプロジェクト開発がより簡単です。

IDEの例としてSW4STM32を用います。IDEは、Workspace:ワークスペースと呼ぶフォルダ単位で機能します。ワークスペース内には複数プロジェクトが存在でき、2重起動ができます。

プロジェクトImport

マイコンテンプレートは、テンプレートの具体的な応用例にシンプルテンプレートプロジェクトやBaseboardテンプレートプロジェクトをArchives形式で提供します。Archives形式は、配布に都合が良くEclipse IDEの標準方法ですので、IDEダイアログに従って操作すれば「複数の方法」でプロジェクトインポートができます。

このArchiveプロジェクトの「最も簡単」なワークスペースへのインポート方法が下記です。

  • Windowsで、Archiveを適当な場所で解凍 → 事前に作成したIDEワークスペースへ解凍フォルダ毎コピー
  • IDEで、File>Import>General>Existing Projects into Workspace実行 → インポートProjects選択
Import Existing Projects into Workspace
Import Existing Projects into Workspace。プロジェクトをインポートする方法は、マルチプラットフォーム対応のEclipse IDEの場合、複数ある。

IDEで直接Archivesプロジェクトを解凍しワークスペースへインポートすることもできますが、フォルダ選択などのダイアログ操作は面倒です。マルチプラットフォーム対応のEclipse IDEたるゆえんですが、WindowsかmacOSの上で使うのであれば、この方法が簡単です。

プロジェクト名Rename

※Rename後、Renameプロジェクトの再ビルドが失敗する場合があります。Rename前に、ワークスペース毎バックアップするなどの事前対策を実施後、Renameを実行してください。

ワークスペースに複数プロジェクトが存在するには、別々のプロジェクト名が必要です。例えば、シンプルテンプレートを使って開発したプロジェクトが既にあるワークスペースへ、もう一度シンプルテンプレートを使って新たなプロジェクトを追加作成する場合を考えます。

開発したプロジェクト名は、SimpleTemplateのままです。これをRenameしないと新たにシンプルテンプレートをインポートできません。この時は、開発したプロジェクト選択後、右ボタンクリックで表示されるメニューからRenameを選択し、別プロジェクト名に変更します。

Rename Project Name
Rename Project Name。元々のEclipse IDE守備範囲外のファイル名は、手動リネームが必要。

注意点は、この操作でプロジェクト名変更をIDEは認識しますが、IDE以外のツールで作成したファイル名などは、そのままとなる点です。図はSTM)SW4STM32の場合です。Debugフィルダ下の.cfg/ioc/pdf/txtの4ファイルがそれらです。これらファイルは、手動でのRenameが必要です。これを怠るとRenameしたプロジェクトの再ビルドやデバッグが失敗します。

これら手動Renameが必要なファイルは、各社のAPI生成ツールなどに関連したファイルで、他社IDEでも同様です。元々のEclipse IDE守備範囲外のこれらファイルは、プロジェクト名Rename時、手動Renameが必要ですので注意してください。

Rename後、再ビルドが成功することを確認してください。再ビルドが失敗する場合には、プロジェクトフォルダ毎コピー&ペーストを実行し、ペースト時にRenameしたい別プロジェクト名を設定する方法でRenameを試してください。

別プロジェクトファイルのコピー、ペースト

別プロジェクトファイルを当該プロジェクトへコピー、ペーストする方法は、同じワークスペース内であれば簡単です。ファイル選択後、コピー:Ctrl+Cとペースト:Ctrl+Vでできます。

ワークスペースが異なる場合は、IDEの2重起動を使うとファイル選択ミスがありません。

IDEは、起動中でももう1つ同時起動が可能です。IDE起動時に、異なるワークスペース選択をすれば、コピー対象プロジェクトのファイルをIDEで目視しながら選択できます。もちろん、Windowsエクスプローラでファイルを直接選択しペーストも可能ですが、普段IDEで見慣れたファイル表示で選択する方がミスは少ないです。同一ファイル名の上書き前の確認も行います。

エクスプローラでファイル表示をすると、普段IDEで見慣れないファイルなども見られます。これらが選択のミスを生みます。IDEは、必要最低限のファイルのみ表示しているのです。

IDE画面のリセット

デバッグやコンソールなど複数Perspectiveを表示するIDE画面は、時に隠したPerspectiveを表示したくなります。PerspectiveをIDE初期状態に戻すのが、Window>Perspective>Reset Perspectiveです。

Reset Window Perspective
Reset Window Perspective。IDEの初期状態ウインド表示に簡単に戻せる。

この方法を知っていると、使わないPerspectiveを気軽に非表示にできるので、画面の有効活用ができます。

まとめ

Eclipse IDEベースの各社開発環境で知っていると便利な使い方をまとめます。

  • プロジェクトインポート:IDEのExisting Projects into Workspaceを使うと簡単
  • プロジェクト名リネーム:自動リネームはEclipse IDE関連のみ。API生成ツール関連ファイルは手動リネーム要。
  • 別プロジェクトファイルのコピー&ペースト:IDE2重起動を使い、ファイル選択ミスを防ぐ
  • IDE画面リセット:利用頻度の低いPerspectiveを非表示にし、画面有効活用
Eclipse Base IDE Project Import and Rename
Eclipse Base IDE Project Import and Rename

マイコンテンプレート活用の最初の段階が、テンプレートプロジェクトのワークスペースへのインポートです。これらインポートしたテンプレートへ変更を加え、開発プロジェクトにします。

この開発プロジェクト名をリネームし、同じワークスペースへ、再びテンプレートプロジェクトをインポートします。ワークスペース内は、リネームした色々な既成開発プロジェクトから成り、様々なプロトタイピング開発へも応用できるでしょう。

ワークスペースが異なるファイル操作には、IDE2重起動でファイル選択のミスを防ぎます。

これらのTipsを知っていれば、既存資産を流用、活用し、本来のソフトウェアに集中しミスなくプロトタイピング開発ができます。

マイコン評価ボード2018

マイコン装置を開発する時、ベンダ提供のマイコン評価ボードは重要です。良いハードウェア、良いソフトウェアは、評価ボードをレファンレンスとして活用した結果生まれるからです。

今回は、ARMコア対Non ARMコアという視点で最新マイコン評価ボードを分析します。掲載マイコン評価ボードは下記です(価格は、調査時点の参考値)。

デバッガの2機能

ベンダ評価ボードには、デバッガ付属とデバッガ無しの2タイプがあります。デバッガは、

  1. デバッグ機能:ソースコードのダウンロード、ソースコード実行とブレークを行う
  2. トレース機能:プログラムカウンタ実行履歴を記録する

の2機能を提供します。

トレース機能は、プログラムカウンタ遷移を記録し、ハード/ソフトの微妙なタイミングで発生するバグ取りなどに威力を発揮します。が、本ブログで扱うマイコンでは利用頻度が低く、サポートされない場合もありますので、デバッグ機能に絞って話を進めます。

各社が独自コアマイコンを供給していた頃は、各社各様のデバッガが必要でした。しかし現在は、ARMコアマイコンとNon ARMコアマイコンの2つに大別できます。

ARMコアマイコンの評価ボード

ARMコア評価ボードは、ARM CMSIS規定のSWD:Serial Wire Debugというデバッグインタフェースでコアに接続します。SWDを使うと、他社ARMコアとも接続できます。このため、評価ボードのデバッガ部分と対象マイコンを切り離し、デバッガ単独でも使えるように工夫したものもあります。

ARMコア評価ボードの多くは、対象マイコンにSWDインターフェイスのデバッガが付属しています。これは、対象マイコンが変わってもデバッガは全く同じものが使えるので、量産効果の結果、デバッガ付き評価ボードでも比較的安価に提供できるからです。

CY8CKIT-146
SWDデバッガ付属評価ボードCY8CKIT-146 (出典:CY8CKIT-146 PSoC® 4200DS Prototyping Kit Guide)

また、統合開発環境:IDEもEclipseベースを採用すれば、実行やブレークのデバッガ操作方法も同じになり、例え異なるベンダのARMコアでも同じようにデバッグできるので開発者にも好評です。

以上が、マイコンのデファクトスタンダードとなったARMコアとEclipseベースIDEを多くのベンダが採用する理由の1つです。

Non ARMコアマイコンの評価ボード

一方、Non ARMコアマイコン評価ボードは、本来コア毎に異なるデバッガが必要です。そこで、評価ボードには対象マイコンのみを実装し、その購入価格は安くして、別途デバッガを用意する方法が多数派です。

機能的には同じでもコア毎に異なるデバッガは、サポートするコアによりデバッガ価格が様々です。例えば、ルネサスのE1デバッガは、RL78、RX、RH850、V850の4コアカバーで12600円ですが、RL78とRXコアのサポートに限定したE2 Liteデバッガなら、7980円で購入できます(2018年3月の秋月電子価格)。

RL78/G11評価ボードとE1
RL78/G11評価ボードとE1

ルネサスもE1/E2 Liteデバッガ付きのRX用低価格評価ボード2980円を2018年3月に発表しました(マルツエレック価格)。

E1、E2 Liteデバッガ付きRX評価ボード
E1、E2 Liteデバッガ付きRX評価ボード (出典:Runesasサイト)

※RX評価ボードは、無償CコンパイラROM容量制限(≦128KB)に注意が必要です。入手性は良いので容量制限を撤廃してほしいです。

個人でマイコン開発環境を整える時は、購入価格は重要な要素です。マイコンがARMコアかNon ARMコアか、デバッガ搭載かなどにより、評価ボード価格がこのように異なります。

標準インターフェイスを持つマイコン評価ボードの狙い:プロトタイピング開発

最近の傾向として評価ボードの機能拡張に、Arduinoコネクタのシールド基板を利用するものが多くなりました。様々な機能のシールド基板とその専用ライブラリが、安く入手できることが背景にあります。

ARMコア、Arduinoコネクタ、EclipseベースIDEなどの標準的インターフェイスを持つマイコン評価ボードの狙いは、色々なマイコン装置の開発を、低価格で早期に着手することです。既存で低価格なハード/ソフト資産の入手性が良いのが後押しします。

中心となるマイコン評価ボードへ、機能に応じたシールド基板を実装し、早期にデバッグしてプロトタイピング開発し製品化が目指せます。

CY8CKIT-046
Arduinoコネクタを2個持つCY8CKIT-046、緑線がArduinoコネクタ (出典:CY8CKIT-046 Qiuck Start Guide)

ルネサスもEclipseベースのIDE:e2Studioを提供中ですが、これは世界中のEclipse IDEに慣れた開発者が、ルネサスマイコンを開発する時に違和感を少なくするのが主な狙いだと思います。Non ARMルネサスマイコン開発の不利な点を、少しでも補う方策だと推測します。

関連する過去のマイコン評価ボード投稿

あとがき

ルネサス最新汎用マイコンRL78/G11は気になります。従来のRL78/G1xに比べアナログ機能を大幅に強化し、ローパワーと4μsの高速ウェイクアップを実現しています(詳細情報は、コチラ)。開発資料の多くがe2Studioで、CS+ではありません。Non ARMコアなので他社ARM比、特に優れたマイコンの可能性もあります。

 

EclipseベースのマイコンIDE

4月はマイコンIDE関連のブログ記事を3件記載しました。まとめにEclipseベースのマイコンIDEを概説します。

統合開発環境:Integrated Development Environment, IDE

ソフトウエアを開発するには、ソースを記述する「エディタ」、記述ソースをターゲットコードへ変換する「コンパイラ」、コードをターゲットへダウンロードしデバッグする「デバッガ」…など色々なツールが必要です。これらツールをひとまとめにパックしたのが、統合開発環境:IDEです。

Eclipse

Eclipse(「イクリプス」または「エクリプス」)は、IBMによって開発された統合開発環境の一つ。高機能ながらオープンソースであり、Javaをはじめとするいくつかの言語に対応(Wikipediaより抜粋)。

オープンソース、OS非依存、多言語対応、プラグインによる機能追加などの特徴を持つEclipseは、マイコン開発のみならず様々な「ソフト開発環境のフレームワーク」として世界中に普及しています。

V4.5が現在の最新版で、コードネームはMars(火星)。今後のリリース予定が下表です。

eclipse schedule (Wikipediaより抜粋)
バージョン リリース日 コードネーム コードネームの由来
4.4 2014/06/25 Luna 月を意味。
4.5 2015/06/24 Mars 火星を意味。
4.6 2016/06予定 Neon 元素の一つ、ネオンを意味。
4.7 2017/06予定 Oxygen 元素の一つ、酸素を意味。

多様性と差別化、OS非依存

多種多様なマイコンをベンダ各社は供給中です。

EclipseベースのIDEは、フレームワークはそのままで、自社の多様なマイコン毎に異なる「APIコード生成ツール」や「コンパイラ」の、その部分のみをプラグインで追加/交換できますので、マイコンベンダにとって好都合です。

さらに、他社との差別化機能になるプラグインの開発に労力を集中できます。APIコード生成ツールでは、NXP(旧Freescale)のProcessor ExpertやCypressのGenerate Application、ルネサスのコード生成などがその例です。

MCUコアがARM Cortex-M0/M0+で同じでもマイコンの周辺回路は各社異なります。この異なる周辺回路を活かすAPIコード生成ツールとその使いやすさが差別化ポイントです。

また、WindowsやiOSへも使えるOS非依存性も開発者に歓迎されています。

e2 studioの例

以上のことを知ったうえでEclipseベースのIDEの1つルネサスのe2 studioのソフトウエア構成図を見ると、内容がよく理解できます。

e2 studio plugin
e2 studio plugin(ルネサスe2 studio説明より抜粋)

マイコンIDEの主流はEclipseベースのIDEですが、マイコンIDE早期習得のコツ、ポイントのページで示したように、IDEで本質的に差が生じるのは「マイコン機種依存のAPI生成ツール」とした根拠をここでは示しました。