日々の開発サイクルを改善するコツとヒント

正しいツールを正しく使えば、開発サイクルを短縮できます。IAR Embedded Workbenchは、その高い性能のみならず、作業を簡素化できるスマート機能があることでも知られています。しかし、果たしてこれらすべての機能は、十分に活用されているでしょうか?本稿では、日々の開発業務を効率化できる便利な7つのテクニックを、ヒントやコツを交えてお伝えします。

Make & Restart Debugger(メイク後デバッガを再起動)を使う

デバッグの際にソースコードの変更が必要になることはよくあります。また、デバッグセッション中にソースコードを直接変更できても、それが直ちに反映されないことも御存知でしょう。コードを有効にするには、一旦デバッグセッションを中断し、Make(メイク)、Download and Debug(ダウンロードしてデバッグ)を選択する必要があります。IAR Embedded Workbenchには、これを簡単に行えるMake & Restart Debugger(メイク後デバッガを再起動)ボタンがあります。

Make & Restart Debugger(メイク後デバッガを再起動)ボタン

このボタンをクリックすると、デバッグセッションが停止してメイクが実行された後、デバッグセッションが再開します。いくつかのマニュアル操作を省くことができるので、デバッグ中のソースコードの変更などの面倒な作業が格段に楽になります。

 

Download and Debug(ダウンロードしてデバッグ)またはDebug without Downloading(ダウンロードせずにデバッグ)を選択する

デバッグセッションを開始するには、IAR Embedded Workbench IDEのツールバー上にある2個のボタンを使用できます。

download and debug

debug without downloading

Download and Debug(ダウンロードしてデバッグ)を選んだ場合、C-SPYデバッガはフラッシュメモリまたはRAMに実行可能データをダウンロードして、デバッグ情報をC-SPYにロードします。この方法を使えば、常に安全にビルドオブジェクトをデバッグできます。

 

Debug without Downloading(ダウンロードせずにデバッグ)を選んだ場合、データを対象デバイスのメモリにダウンロードせずに、デバッグ情報を直接C-SPYにロードします。実行可能データに変更がなければ、この方法を使ってデバッグセッションを再開できます。この方法では、不要なダウンロードステップを飛ばすことで時間を節約できます。Debug without Downloading(ダウンロードせずにデバッグ)は、ビルドオブジェクトに変更がないことが確実な場合にのみ使用してください。変更がある場合は、対応するソースコードとして間違った表示がされるなど、C-SPY内のデバッグ情報が不正確になる可能性があります。

 

Make (メイク)またはRebuild All(すべてを再ビルド)を選ぶ

実行可能ファイルやライブラリファイルを生成するには、Project(プロジェクト)>Make(メイク)またはProject(プロジェクト)>Rebuild All(すべてを再ビルド)を選びます。

make or rebuild

Rebuild All(すべてを再ビルド)はプリコンパイル済みオブジェクトをクリアし、すべてのファイルに対して再コンパイルと再リンクを実行します。一方、Make (メイク)は、前回のビルド時に変更のあったファイルに対してのみコンパイル、アセンブル、リンクを実行します。

ヘッダファイルを変更したり、コンパイラの最適化設定などのビルドオプションを変更したりした場合は、常にRebuild All(すべてを再ビルド)を選ぶことをお薦めします。一方、使用しているソースコードファイルが1つ、あるいは数少ない場合には、Make(メイク)を選ぶほうがビルド時間は短くなります。プロジェクトに含まれるソースコードが大きいほど、多くの時間を節約することができます。

 

Auto Indent(自動インデント)を使う

インデントはC/C++言語では必須ではありません。コードがインデントされていなくても、コンパイラは同じソースコードを生成します。しかし、プログラマにとってインデントは、コードブロックやコードの階層やネストを確認するために重要です。

ソースコードを別のプロジェクトからペーストする場合、インデントの方法が異なる場合があります。もちろん、自分でひとつひとつ手作業で修正できますが、代わりに便利なコマンドを使用できます。

インデントを変更するコード範囲を選択し、Edit(編集)>Auto Indent(自動インデント)を選びます。

auto indent 1

選択範囲のコードのインデントが変更されます。

auto indent 2auto indent 3

コードを再利用せず、単純にコードを書くことのみに集中したい場合も、先ずコードを記述し、書いたコードに対してAuto Indent(自動インデント)を使うこともできます。

 

Block Comment(ブロックコメント)を使う

プロジェクトをデバッグする際、小さなテストコードブロックをいくつか書き、それを無効または有効にしながら作業することがあるでしょう。コードブロックのアクティブ状態と非アクティブ状態を切り替えるには、たとえば、#if #endif指示文や/* */スタイルのコメントを使う方法があります。しかし、#if指示文を使うとコードの可読性が低くなり、/* */スタイルのコメントはネスト構造では使えません。この問題は、代わりに //スタイルのコメントを使うことで解決できます。さらに、Block Comment(ブロックコメント)を使えば、//を各行に追加する必要もありません。

 

コードブロックを選択し、Edit(編集)> Block Comment(ブロックコメント)を選びます。

using block comment 1using block comment 2using block comment 3

コメントの付いたコードブロックにBlock Uncomment(ブロックコメントの解除)を使ってコメントを解除することもできます。コードの一部を簡単にアクティブ/非アクティブ化できるので、デバッグの際には特に有用です。

 

ショートカットキーを使う

大抵のソフトウェアと同様に、IAR Embedded Workbench IDEにも開発効率をアップする便利なショートカットキーが豊富にあります。コピー用の [Ctrl+C]やペースト用の[Ctrl+V]のような一般的なショートカットの他、ツール独自のショートカットとしてMake (メイク)のための[F7]やDownload and Debug(ダウンロードしてデバッグ)のための[Ctrl+D]などもあります。便利なショートカットキーは、メニュー画面から検索できます。

shortcuts editor 1

よく使うコマンドを見つけたら、その右にあるショートカットキーを覚えてください。

ここで、あまり知られていないものの非常に有用なショートカットキーを2つ紹介します。まず、関数の定義を見たいときは、下図にあるGPIOInit()など、関数の上にカーソルを置いて[F12]を押します。

shortcuts editor 2

見たい関数の定義にジャンプします。[F12]はEdit(編集)>Navigate(移動)>Go to Definition(定義に移動)に割り当てられています。

もうひとつの便利なショートカットは[Alt+Left]です。[Alt+Left]で、ソースコード上の直前のロケーションに戻れます。これは、多くのインターネットブラウザで前のページに戻るのに実際に使われているショートカットと同じです。

shortcuts editor 3

IAR Embedded Workbench IDEで使えるショートカットキーの一覧を見るには、Tools(ツール)>Options(オプション)>Key Bindings(キーカスタマイズ)を選んでください。

shortcuts editor 4

現在のショートカットキーが表示されます。また、キーをコマンドに割り当てれば、簡単にショートカットをカスタマイズすることができます。

 

Parallel Build(パラレルビルド)を有効にする

Parallel build(パラレルビルド)は、ビルド時間の短縮のために最近追加された機能で、現在、さまざまなターゲット用のIAR Embedded Workbenchに展開中です。今日ではほとんどのWindowsコンピュータでマルチコアCPUが採用されており、Parallel build(パラレルビルド)機能によって、複数のプロセッサを使って効率よくビルドを実行することができます。Parallel build(パラレルビルド)をアクティブにするには、Tools(ツール)>Options(オプション)を選んでください。

activate_parallel_build

Project (プロジェクト)カテゴリを選択し、Enable parallel build(パラレルビルドを有効化)をチェックしてください。

enable_parallel_build

Processes(プロセス)には、コンピュータで使用可能なコアの数を入力してください。下図に、サンプルアプリケーションにおける実際のビルド時間の比較を示します。

actual_build_times

このサンプルでは、コンピュータに4個のCPUコアが使われています。図に示すように、ビルドを4つのプロセッサで実行した場合、プロセッサが1つの場合の約半分の時間で実行できます。一方、プロセッサが8つの場合と4つの場合では、ビルド時間に違いはありません。これは使用可能なコアが4個であるためです。

使用中のIAR Embedded WorkbenchのバージョンがParallel build (パラレルビルド)に対応している場合、常に有効にしておくことをお薦めします。ビルド時間が短くなれば、1日に実行できるアプリケーションのビルドとテストの回数も増えます。

申し訳ございませんが、弊社サイトではInternet Explorerをサポートしていません。サイトをより快適にご利用いただくために、Chrome、Edge、Firefoxなどの最新ブラウザをお使いいただきますようお願いいたします。