MPLAB X IDE コード プロファイリング...

29
2018 Microchip Technology Inc. DS50002384A_JP MPLAB ® X IDE 向け コード プロファイリング プラグイン 注意 : この日本語版文書は参考資料としてご利用ください。最 新情報は必ずオリジナルの英語版をご参照願います。

Transcript of MPLAB X IDE コード プロファイリング...

Page 1: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

2018 Microchip Technology Inc. DS50002384A_JP

MPLAB® X IDE 向けコード プロファイリング プラグイン

注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジナルの英語版をご参照願います。

Page 2: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

2018 Microchip Technology Inc.DS50002384A_JP - p. 2

本書に記載されているデバイス アプリケーション等に関する

情報は、ユーザの便宜のためにのみ提供されているものであ

り、更新によって無効とされる事があります。お客様のアプ

リケーションが仕様を満たす事を保証する責任は、お客様に

あります。Microchip 社は、明示的、暗黙的、書面、口頭、法

定のいずれであるかを問わず、本書に記載されている情報に

関して、状態、品質、性能、商品性、特定目的への適合性を

はじめとする、いかなる類の表明も保証も行いません。

Microchip 社は、本書の情報およびその使用に起因する一切の

責任を否認します。Microchip 社の明示的な書面による承認な

しに、生命維持装置あるいは生命安全用途に Microchip 社の製

品を使用する事は全て購入者のリスクとし、また購入者はこ

れによって発生したあらゆる損害、クレーム、訴訟、費用に

関して、Microchip 社は擁護され、免責され、損害をうけない

事に同意するものとします。暗黙的あるいは明示的を問わず、

Microchip社が知的財産権を保有しているライセンスは一切譲

渡されません。

商標

Microchip 社の名称と Microchip ロゴ、dsPIC、FlashFlex、KEELOQ、KEELOQ ロゴ、MPLAB、PIC、PICmicro、PICSTART、PIC32 ロゴ、rfPIC、SST、SST ロゴ、SuperFlash、UNI/O は、

米国およびその他の国における Microchip TechnologyIncorporated の登録商標です。

FilterLab、Hampshire、HI-TECH C、Linear Active Thermistor、MTP、SEEVAL、Embedded Control Solutions Company は、

米国における Microchip Technology Incorporated の登録商標

です。

Silicon Storage Technologyは、その他の国におけるMicrochipTechnology Incorporated の登録商標です。

Analog-for-the-Digital Age、Application Maestro、BodyCom、

chipKIT、chipKIT ロゴ、CodeGuard、dsPICDEM、dsPICDEM.net、dsPICworks、dsSPEAK、ECAN、ECONOMONITOR、FanSense、HI-TIDE、In-Circuit Serial Programming、ICSP、Mindi、MiWi、MPASM、MPF、MPLAB 認証ロゴ、MPLIB、MPLINK、mTouch、Omniscient Code Generation、PICC、PICC-18、PICDEM、

PICDEM.net、PICkit、PICtail、REAL ICE、rfLAB、Select Mode、SQI、Serial Quad I/O、Total Endurance、TSHARC、UniWinDriver、WiperLock、ZENA、Z-Scale は、米国およびその他の国におけ

る Microchip Technology Incorporatedの登録商標です。

SQTP は、米国における Microchip Technology Incorporatedのサービスマークです。

GestICとULPPは、その他の国におけるMicrochip TechnologyGermany II GmbH & Co. & KG (Microchip TechnologyIncorporated の子会社 ) の登録商標です。

その他、本書に記載されている商標は各社に帰属します。

©2013, Microchip Technology Incorporated, Printed in theU.S.A., All Rights Reserved.

ISBN: 978-1-5224-2339-3

Microchip 社製デバイスのコード保護機能に関して次の点にご注意ください。

• Microchip 社製品は、該当する Microchip 社データシートに記載の仕様を満たしています。

• Microchip 社では、通常の条件ならびに仕様に従って使用した場合、Microchip 社製品のセキュリティ レベルは、現在市場に流

通している同種製品の中でも最も高度であると考えています。

• しかし、コード保護機能を解除するための不正かつ違法な方法が存在する事もまた事実です。弊社の理解ではこうした手法は、

Microchip 社データシートにある動作仕様書以外の方法で Microchip 社製品を使用する事になります。このような行為は知的所

有権の侵害に該当する可能性が非常に高いと言えます。

• Microchip 社は、コードの保全性に懸念を抱くお客様と連携し、対応策に取り組んでいきます。

• Microchip 社を含む全ての半導体メーカーで、自社のコードのセキュリティを完全に保証できる企業はありません。コード保護

機能とは、Microchip 社が製品を「解読不能」として保証するものではありません。

コード保護機能は常に進歩しています。Microchip 社では、常に製品のコード保護機能の改善に取り組んでいます。Microchip 社

のコード保護機能の侵害は、デジタル ミレニアム著作権法に違反します。そのような行為によってソフトウェアまたはその他の著

Microchip 社では、Chandler および Tempe ( アリゾナ州 )、Gresham( オレゴン州 ) の本部、設計部およびウェハー製造工場そしてカリフォルニア州とインドのデザインセンターが ISO/TS-16949:2009 認証を取得しています。Microchip 社の品質システム プロセスおよび手順は、PIC® MCU および dsPIC® DSC、KEELOQ® コード ホッピング デバイス、シリアル EEPROM、マイクロペリフェラル、不揮発性メモリ、アナログ製品に採用されています。さらに、開発システムの設計と製造に関する Microchip 社の品質システムは ISO 9001:2000 認証を取得しています。

QUALITY MANAGEMENT SYSTEM CERTIFIED BY DNV

== ISO/TS 16949 ==

Page 3: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE向 けコード プロファイリング プラグイン

目次

第 1 章 コード プロファイリングの動作

1.1 はじめに ......................................................................................... 31.2 サポートするデバイスとプロファイリング タイプ ........................ 31.3 ソフトウェアおよびハードウェア要件 ........................................... 41.4 使用前の準備 .................................................................................. 4

1.4.1 準備 ...................................................................................... 41.4.2 プラグインの入手とインストール ....................................... 41.4.3 操作の概要 ........................................................................... 4

1.5 クロックの設定 - 8 および 16 ビットデバイス ............................... 51.6 プロファイリング タイプの選択 .................................................... 61.7 データ収集 ...................................................................................... 71.8 データと統計値の表示 .................................................................... 81.9 データのグラフ表示 ..................................................................... 12

1.9.1 グラフの横スクロール ....................................................... 121.9.2 グラフのズーム .................................................................. 121.9.3 データポイント値 .............................................................. 131.9.4 色分けの凡例 ..................................................................... 14

1.10 操作エレメントとウィンドウ ....................................................... 151.10.1 [Code Profiling] ウィンドウ ............................................... 151.10.2 [Function Trace Timeline] グラフ ウィンドウ ................... 161.10.3 [Chart Properties] ウィンドウ ........................................... 17

補遺 A. コード プロファイリング リファレンス .....................................19A.1 はじめに ....................................................................................... 19A.2 データの生成および収集プロセス ................................................ 19A.3 ベースライン関数の作成と使用 ................................................... 21A.4 注意 ............................................................................................... 21A.5 まとめ ........................................................................................... 22A.6 計算例 ........................................................................................... 22

索引 ..........................................................................................................23

2018 Microchip Technology Inc. DS50002384A_JP - p. 3

Page 4: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE 向けコード プロファイリング プラグイン

NOTE:

DS50002384A_JP - p. 4 2018 Microchip Technology Inc.

Page 5: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE向 け

コード プロファイリング プラグイン

第 1 章 コード プロファイリングの動作

1.1 はじめに

MPLAB X IDE は、C コード関数の FLP (Function Level Profiling: 関数レベルのプロファイリング ) データを収集する機能を備えています。しかし、このデータを表示するには MPLAB X IDE プラグイン ( コード プロファイリング プラグイン (SW100100))が必要です。コード プロファイリング プラグインは、各関数で消費された時間を百分率 (%) で示します。このプラグインは、正確なタイミングデータを提供する物ではありません。

FLP に加えて、コード プロファイリング プラグインは PC サンプリング データと PCプロファイリング データも表示します (これらは、プラグインを使わなくてもMPLABX IDE に表示できます )。• サポートするデバイスとプロファイリング タイプ

• ソフトウェアおよびハードウェア要件

• 使用前の準備

• クロックの設定 - 8 および 16 ビットデバイス

• プロファイリング タイプの選択

• データ収集

• データと統計値の表示

• データのグラフ表示

• 操作エレメントとウィンドウ

1.2 サポートするデバイスとプロファイリング タイプ

下表に、コード プロファイリング プラグインがサポートするデバイスと、MPLAB XIDE で使えるプロファイリングのタイプを示します。

コード プロファイリング プラグインは以下のデバイスファミリをサポートしません。

• PIC16F1• PIC32MZ

これらのデバイスは、本プラグインがサポートするのとは異なるタイプのデータキャプチャ機能を使います。

サポートするデバイス サポートするプロファイリングのタイプ

データキャプチャ機能を備えた PIC18F* PC サンプリング

FLP ( 関数レベルのプロファイリング )PIC24F、PIC24E PC サンプリング

FLP ( 関数レベルのプロファイリング )dsPIC33FJ、dsPIC33E PC サンプリング

FLP ( 関数レベルのプロファイリング )データキャプチャ機能を備えた PIC32MX* PC プロファイリング

FLP ( 関数レベルのプロファイリング )* デバイスがデータキャプチャ機能を備えているかどうかは、オンライン開発ツールセレク

タ (http://www.microchip.com/dts) で確認してください。

2018 Microchip Technology Inc. DS50002384A_JP - p. 5

Page 6: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE 向けコード プロファイリング プラグイン

1.3 ソフトウェアおよびハードウェア要件

コード プロファイリングには以下のソフトウェアとハードウェアが必要です。

• MPLAB X IDE (v2.26 以上 )• MPLAB XC C コンパイラ ( バージョン 1.20 以上 ) - コードのプロファイリングにはコンパイルが必要です

• MPLAB® REAL ICE™インサーキット エミュレータ - 現在サポートされる唯一のデバッグ ツールです

これらの製品を入手するには、以下の Microchip 社ウェブサイトにアクセスしてください。 http://www.microchip.com.

1.4 使用前の準備

1.4.1 準備

プラグインをインストールする前に以下が必要です。

1. ブラグインがサポートしているターゲット デバイスを選択します (1.2「サポートするデバイスとプロファイリング タイプ」参照 )。

2. プラグインがサポートしているバージョンのソフトウェアとハードウェアを入手してインストールします (1.3「ソフトウェアおよびハードウェア要件」参照 )。

3. MPLAB X IDE プロジェクトを作成してデバッグします。

1.4.2 プラグインの入手とインストール

準備が完了したら、以下の手順でコード プロファイリング プラグインを入手してインストールします。

1. 「MPLAB X IDE プラグイン - コード プロファイリング (SW100100)」を http://www.embeddedcodesource.com で購入します。

2. このプラグイン (CodeProfiling) は以下の手順でインストールします。

a) メニューで Tools > Plugins を選択して [Plugins] ダイアログを開きます。

b) [Downloaded] タブをクリックしてから [Add Plugin] ボタンをクリックします。ブラウザでプラグインの保存場所に移動し、プラグイン ファイル ( ファイルタイプは *.nbm) を選択してから [Open] をクリックします。ZIP ファイルとしてダウンロードした場合、プラグインとして追加する前にファイルを展開しておく必要があります。

c) 表示されるインストール指示に従います。

3. プラグインがインストールされると、メニュー(Tools > Embedded > CodeProfiling) から [Code Profiling] ウィンドウを開く事ができます。

1.4.3 操作の概要

コード プロファイリングを使うための手順は以下の通りです。

1. クロックを設定する - 1.5「クロックの設定 - 8 および 16 ビットデバイス」

2. プロファイリングのタイプを選択する - 1.6「プロファイリング タイプの選択」

3. データを収集する - 1.7「データ収集」

4. データを表示する - 1.8「データと統計値の表示」、 1.9「データのグラフ表示」

DS50002384A_JP - p. 6 2018 Microchip Technology Inc.

Page 7: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

コード プロファイリングの動作

1.5 クロックの設定 - 8 および 16 ビットデバイス

8 および 16 ビットデバイスの場合、クロックは以下の通りに設定します。

1. [Project Properties] ウィンドウを開きます (File > Project Properties)。2. 「Categories:」の下で [REAL ICE] をクリックし、[Options categories] ドロップダ

ウン ボックスから [Clock] を選択します。この値は、ターゲットの実際の速度( コード内でコンフィグレーション ビットにより設定 ) と一致する必要があります。

3. [Apply] をクリックします。

図 1-1: クロックの選択と設定

Note: ターゲットがこの速度で動作しても、デバイスからのデータ転送はこの速度に追いつかない場合があります。その場合、ターゲットの動作中に速度が周期的に低下するかプログラム動作が一時停止する事があります。

2018 Microchip Technology Inc. DS50002384A_JP - p. 7

Page 8: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE 向けコード プロファイリング プラグイン

1.6 プロファイリング タイプの選択

コード プロファイリング プラグインで使うプロファイリングのタイプを選択します。

1.6.1 FLP のタイプを選択する - MPLAB X IDE 2.xx の場合

FLP を有効にする :1. [Project Properties] ウィンドウを開きます (File > Project Properties)。2. 「Categories:」の下で [REAL ICE] をクリックし、[Options categories] ドロップダ

ウン ボックスから [Trace and Profiling] を選択します。

3. [Data Collection Selection] で [Function Level Profiling] を選択します。

FLP のタイプを選択する : FLP のタイプは 2 つのチェックボックスを使って選択します。

1. [Include Time-Stamp] をチェックした場合、以下の 2 つのデータファイルが生成されます。(1) バイナリの関数開始 PC 値、関数終了インジケータ、タイムスタンプ データを格納したファイル ( ログファイル )(2) ログファイルに関する情報 ( ログファイルの内容の解釈方法 ) を格納したファイル (.INX file)

2. [Summary Profile Data Only] をチェックした場合、以下の 2 つのデータファイルが生成されます。(1) 関数開始PC値のデータマップと各関数が呼び出された回数を格納したファイル ( ログファイル )(2) ログファイルに関する情報 ( ログファイルの内容の解釈方法 ) を格納したファイル (.INX file)

3. どちらのボックスもチェックしなかった場合、以下の 2 つのデータファイルが生成されます。(1) バイナリの関数開始 PC 値と関数終了インジケータだけを格納したファイル (ログファイル )(2) ログファイルに関する情報 ( ログファイルの内容の解釈方法 ) を格納したファイル

各タイプの FLP 向けに生成されるデータ表示の内容は 1.8「データと統計値の表示」を参照してください。 データファイルを設定する : データファイルの設定方法は1.6.4「データファイルを設定する」を参照してください。

選択と設定が完了したら [OK] をクリックします。

図 1-2: FLP の選択と設定 - MPLAB X IDE v2 の場合

DS50002384A_JP - p. 8 2018 Microchip Technology Inc.

Page 9: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

コード プロファイリングの動作

1.6.2 FLP のタイプを選択する - MPLAB X IDE 3.xx の場合

FLP を有効にする :1. [Project Properties] ウィンドウを開きます (File > Project Properties)。2. 「Categories:」の下で [REAL ICE] をクリックし、[Options categories] ドロップダ

ウン ボックスから [Trace and Profiling] を選択します。

3. [Data Collection Selection] で [Function Level Profiling] を選択します。

FLP のタイプを選択する :FLP のタイプは、オプション [Time-Stamp or Summary Profile Data] で選択します。

1. [Include Time-Stamp] を選択すると、以下の 2 つのファイルが生成されます。(1) バイナリの関数開始 PC 値、関数終了インジケータ、タイムスタンプ データを格納したファイル ( ログファイル )(2) ログファイルに関する情報 ( ログファイルの内容の解釈方法 ) を格納したファイル (.INX file)

2. [Summary Profile Data Only (No Time-Stamp)] を選択すると、以下の 2 つのファイルが生成されます。(1) 関数開始PC値のデータマップと各関数が呼び出された回数を格納したファイル ( ログファイル )(2) ログファイルに関する情報 ( ログファイルの内容の解釈方法 ) を格納したファイル (.INX file)

各タイプの FLP 向けに生成されるデータ表示の内容は 1.8「データと統計値の表示」を参照してください。 データファイルを設定する :データファイルの設定方法は1.6.4「データファイルを設定する」を参照してください。

選択と設定が完了したら [OK] をクリックします。

図 1-3: FLP の選択と設定 - MPLAB X IDE v3 の場合

2018 Microchip Technology Inc. DS50002384A_JP - p. 9

Page 10: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE 向けコード プロファイリング プラグイン

1.6.3 PC サンプリングまたは PC プロファイリングを選択する

PC サンプリングを有効にする (8 および 16 ビットデバイスの場合 )1. [Project Properties] ウィンドウを開きます (File > Project Properties)。2. 「Categories:」の下で [REAL ICE] をクリックし、[Options categories] ドロップダ

ウン ボックスから [Trace and Profiling] を選択します。

3. [Data Collection Selection] で [PC Sampling] を選択します。

PC プロファイリングを有効にする (32 ビットデバイスの場合 )1. [Project Properties] ウィンドウを開きます (File > Project Properties)。2. 「Categories:」の下で [REAL ICE] をクリックし、[Options categories] ドロップダ

ウン ボックスから [Trace and Profiling] を選択します。

3. [Data Collection Selection] で [Instruction Trace/Profiling] を選択します。

選択に応じて生成されるデータ表示の内容は 1.8「データと統計値の表示」を参照してください。 データファイルを設定する :選択に応じたデータファイルの設定方法は 1.6.4「データファイルを設定する」を参照してください。

PC サンプリングと PC プロファイリングの詳細は、MPLAB REAL ICE インサーキット エミュレータのマニュアルを参照してください。

選択と設定が完了したら [OK] をクリックします。

1.6.4 データファイルを設定する

データファイルは以下の手順で設定します。

1. Data File Path and Name: データファイルの名前とパスを入力します。プロジェクト ディレクトリに格納されるファイルの既定値名が入力済みです。

2. Data File Maximum Size: データファイルの最大サイズを入力します。既定値が入力済みです。データファイルはリングバッファ方式で書き込まれます ( 最大ファイルサイズに達すると、古いデータの上に新しいデータが書き込まれます )。

3. これらの詳細は、『MPLAB® REAL ICE™In-Circuit EmulatorUser’s Guide』(DS50002085E) 内の「Software & Hardware Reference」、「Emulator FunctionSummary」、「Emulator Options Selection」、「Trace and Profiling」を参照してください。

DS50002384A_JP - p. 10 2018 Microchip Technology Inc.

Page 11: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

コード プロファイリングの動作

1.7 データ収集

データは以下の手順で収集します : 1. メニューで Tools > Embedded > CodeProfiling を選択して [Code Profiling] ウィン

ドウを開きます。

2. コードをデバッグ実行 (Debug Run) します。

関連性のある結果を得るには、十分な時間をかけてコードを実行する必要があります。すなわち、収集したデータサンプルの数が多いほど、より代表的なサンプル平均値 ( およびパーセンテージ ) が得られます。複雑なプログラムほど長い実行時間が必要です。

タイムスタンプ データの場合、移動ウィンドウ方式でデータを取得します。つまり、データはリングバッファに保存され、古いデータは失われます (A.2「データの生成および収集プロセス」参照 )。サマリデータ ( タイムスタンプ情報なし ) は、厳密なカウント値を格納します。

MPLAB X IDE v2.xx の場合、生データはリングバッファに保存されますが、タイムスタンプ情報はありません。

3. プログラムの実行を停止します (Pause、Halt、ブレークポイントのいずれかで停止 )。

4. [Code Profiling] ウィンドウでデータを確認します。

このウィンドウの内容については、この後で詳しく説明します。

Note: プリコンパイルされた関数はプロファイリングされません。プロジェクトと一緒にコンパイルされた C ファイルだけがプロファイリングできます。

2018 Microchip Technology Inc. DS50002384A_JP - p. 11

Page 12: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE 向けコード プロファイリング プラグイン

1.8 データと統計値の表示

[Code Profiling] ウィンドウに表示されるデータは、選択されているプロファイリングのタイプに応じて異なります。

1.8.1 タイムスタンプ付き FLPタイムスタンプ付き FLP の場合、コンパイラが生成した関数レベルのプロファイリングにより、実行中にサンプリングされた関数の開始および戻りの回数が表示されます。

[Code Profiling] ウィンドウの最上段では、「TOTALS:」の右に以下が表示されます。

• Calls - データファイル内のタイムスタンプ付き関数呼び出しの総数

• Time (mS) - データファイルに記録された最初の呼び出しのタイプスタンプから、データファイル内に呼び出しが記録された関数が最後に戻った時のタイムスタンプまでの時間差。これは、アプリケーション内でキャプチャされた期間の総時間に概ね一致します ( しかし、タイムスタンプは関数の呼び出し時と戻り時にだけデータファイルに追加されるため、厳密には一致しません )。

このウィンドウタブは、各関数に対して以下の 3 つのデータを示します。

• Calls• Excluded• Included

各データは見やすく色分けされています。

このデータはグラフに表示する事もできます。1.9「データのグラフ表示」を参照してください。

図 1-4: [Code Profiling] ウィンドウ - タイムスタンプ付き FLP

1.8.1.1 Calls

「Calls」は関数が呼び出された回数です。このデータは 2 つのテーブル列で示されます ( 図 1-4 内のピンクの列 )。[Calls] 列は、実行中に [Function] 列の関数が呼び出された回数を単純に示します。

[Calls - X %] 列は、全関数の呼び出し回数に対する [Function] 列の関数の呼び出し回数の割合 (%) を示します。X % は、この列の % 値の合計です。

データをフィルタ処理した場合 ([Filter Functions] アイコンを使用 )、X % はフィルタで除外されなかった全ての呼び出しの割合 (%) を示します。この場合、X % は 100 %にならない場合があります。フィルタを適用してもコードは再実行されない事に注意してください ( 既存データの中から選択された関数だけが再表示されます )。

DS50002384A_JP - p. 12 2018 Microchip Technology Inc.

Page 13: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

コード プロファイリングの動作

1.8.1.2 Excluded

「Excluded 時間」は、ある関数の消費時間からその関数内で呼び出された関数の消費時間を差し引いた時間です。このデータは 3 つのテーブル列で示されます ( 図 1-4 内の緑の列 )。[Excluded Avg (mS)] 列は、各関数の Excluded 時間の平均値です。

[Excluded X %] 列は、各関数が総 Excluded 時間の何 % を占めるのかを示します。X % は、この列の % 値の合計です。データをフィルタ処理した場合 ([Filter Functions]アイコンを使用 )、X % はフィルタで除外されなかった全ての呼び出しの割合 (%) を示します。この場合、X % は 100 % にならない場合があります。フィルタを適用してもコードは再実行されない事に注意してください ( 既存データの中から選択された関数だけが再表示されます )。[Excluded (mS)] 列は、[Function] 列の関数が消費した時間からその関数内で呼び出された他の関数が消費した時間を除外した時間です。この値は、その関数の総呼び出し回数 ([Calls] 列 ) にその関数の平均 Excluded 時間 ([Excluded Avg (mS)] 列 ) を掛け算した値です。

例として、関数 F1 が関数 F2 を呼び出し、関数 F2 がさらに関数 F3 を呼び出す場合の F1のExcluded時間を図 1-5に示します。F1が呼び出されるたびに、F1のExcluded時間が計算されます。プログラムが停止した時、F1 の Excluded 時間の平均値([Excluded Avg (ms)]) が計算され、この平均値と [Calls] 列の値から [Excluded (mS)]列の値が計算されます。

図 1-5: Excluded 時間の例 - 関数 F1

F1

F2

F3

Func

tion

Cal

l Hei

rarc

hy (

mS)

Sample Time (mS)

x y

Excluded time for Function F1 = x + y

2018 Microchip Technology Inc. DS50002384A_JP - p. 13

Page 14: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE 向けコード プロファイリング プラグイン

1.8.1.3 Included

「Included 時間」は、ある関数の総消費時間です。この時間には、その関数内で呼び出された全ての関数の消費時間が含まれます。このデータは 4 つのテーブル列で示されます ( 図 1-4 内の青の列 )。[Included Avg (mS)] 列は、各関数の Included 時間の平均値です。

[Included X %] 列は、各関数が総 Included 時間の何 % を占めるのかを示します。X %は、この列の % 値の合計です。データをフィルタ処理した場合 ([Filter Functions] アイコンを使用 )、X % はフィルタで除外されなかった全ての呼び出しの割合 (%) を示します。この場合、X % は 100 % にならない場合があります。フィルタを適用してもコードは再実行されない事に注意してください ( 既存データの中から選択された関数だけが再表示されます )。[Included (mS)] 列は、[Function] 列の関数で消費された時間を示します。これは、関数の総時間です ( その関数内で呼び出された関数の時間を全て含みます )。この値は、その関数の総呼び出し回数 ([Calls]列 )にその関数の平均 Included時間 ([Included Avg(mS)] 列 ) を掛け算した値です。

例として、関数 F1 が関数 F2 を呼び出し、関数 F2 がさらに関数 F3 を呼び出す場合の F1 の Included 時間を図 1-6 に示します。F1 が呼び出されるたびに、F1 の Included時間が計算されます。プログラムが停止した時、F1の Included時間の平均値 ([IncludedAvg (ms)]) が計算され、この平均値と [Calls] 列の値から [Included (mS)] 列の値が計算されます。

図 1-6: Included 時間の例 - 関数 F1

F1

F2

F3

Func

tion

Cal

l Hei

rarc

hy (m

S)

Sample Time (mS)

x

Included time for Function F1 = x

DS50002384A_JP - p. 14 2018 Microchip Technology Inc.

Page 15: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

コード プロファイリングの動作

1.8.2 サマリ付き FLP、PC サンプリング、PC プロファイリング

データサマリ付き FLP の場合、各関数の開始 / 呼び出し回数が表示されます。PC サンプリングまたは PC プロファイリングの場合、プログラムの実行中に取得した PCのランダムなサンプリングが表示されます。

[Code Profiling] ウィンドウの最上段には、以下のいずれかが表示されます。

• Total Function Entry Count - 関数への総エントリ回数 ( サマリ付き FLP の場合 )• Total Samples - 関数内のPCサンプルの総数 (PCサンプリングまたはPCプロファイリングの場合 )

このウィンドウタブは、各関数に対して以下のデータを示します。

• [Entry Count] または [Sample Count] 列は、それぞれ [Function] 列の関数のエントリ回数またはサンプル数を示します。

• [Calls - X %] 列は、全関数の呼び出し回数に対する [Function] 列の関数の呼び出し回数の割合 (%) を示します。X % は、この列の % 値の合計です。

データをフィルタ処理した場合 ([Filter Functions] アイコンを使用 )、X % はフィルタで除外されなかった全ての呼び出しの割合 (%) を示します。この場合、X % は 100 %にならない場合があります。フィルタを適用してもコードは再実行されない事に注意してください ( 既存データの中から選択された関数だけが再表示されます )。

図 1-7: [Code Profiling] ウィンドウ - サマリ付き FLP

1.8.3 タイムスタンプなし / サマリなしの FLP - MPLAB X IDE v2.xxタイムスタンプなし / サマリデータなしの FLP の場合、データは何も表示されません。本プラグインはこのタイプのプロファイリングをサポートしません。

2018 Microchip Technology Inc. DS50002384A_JP - p. 15

Page 16: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE 向けコード プロファイリング プラグイン

1.9 データのグラフ表示

グラフアイコン をクリックすると、全ての関数のコード プロファイリング データが時間

を横軸とする 1 つのグラフに表示されます。各関数の線の色は、グラフの下の凡例に従って色分けされます。これらの色は、[Code Profiling] ウィンドウ内のテーブルの色分けとは異なります。グラフ上のプロット線にマウスカーソルを当てる事で関数を識別する事もできます。

グラフの軸は以下の通りです。

•「Time (mS)」は、プロファイリングのサンプリング時間 (ms) を表します。

•「Call Hierarchy」は、各関数呼び出しの階層を表します。

図 1-8: [Function Trace Timeline] グラフウィンドウ

1.9.1 グラフの横スクロール

以下のいずれかの方法により、グラフを時間軸方向(左右)に移動させる事ができます。

• [Pan Graph] スライダを使う

• <Ctrl> キーを押しながらマウスをクリックする (Windows® および Linux OS システムの場合 )

• <Apple> キーを押しながらマウスをクリックする (Mac® OS システムの場合 )

1.9.2 グラフのズーム

虫眼鏡アイコン を選択した状態で、以下のいずれかを操作します。

• マウスをクリックしてドラッグする

• グラフ上で右クリックし、[Zoom In] または [Zoom Out] を選択し、ズームする軸を選択する

• マウスホイールを使って「Time」軸方向にズームし、<Ctrl> キーを押しながらマウスホイールを使って「Call Hierarchy」軸方向にズームする

ズームしたグラフを元に戻すには [Reset Zoom] をクリックします。

DS50002384A_JP - p. 16 2018 Microchip Technology Inc.

Page 17: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

コード プロファイリングの動作

1.9.3 データポイント値

虫眼鏡アイコン を選択していない状態にします。

マウスをクリックしてドラッグする事で、2 点間の時間を計測できます。2 本の緑のカーソルが範囲を示し、その下に値が表示されます。

また、グラフ線の角にマウスカーソルを当てると、ポップアップにデータポイント値が表示されます。

図 1-9: マウスのドラッグによるデータポイント レンジの表示

図 1-10: マウスオーバーによるデータポイント値の表示

2018 Microchip Technology Inc. DS50002384A_JP - p. 17

Page 18: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE 向けコード プロファイリング プラグイン

1.9.4 色分けの凡例

グラフに表示されている各関数 ( 最大 20 個 ) の色分けを示す凡例がグラフの下に表示されます。関数が 20 個を越える場合、凡例は表示されません。その場合、グラフ線の角にマウスカーソルを当てる事で、対応する関数の名前を表示させる必要があります。

図 1-11: グラフの凡例 ( 関数が 20 個以下の場合にのみ表示 )

DS50002384A_JP - p. 18 2018 Microchip Technology Inc.

Page 19: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

コード プロファイリングの動作

1.10 操作エレメントとウィンドウ

コード プロファイリング インターフェイスは、データの表示と解析に役立つ各種の操作エレメントとウィンドウを備えています。

• [Code Profiling] ウィンドウ

• [Function Trace Timeline] グラフウィンドウ

• [Chart Properties] ウィンドウ

1.10.1 [Code Profiling] ウィンドウ

大部分のアイコンはウィンドウの右側に配置されています。[Column Setup] アイコンは左側にあります。ウィンドウ内で右クリックする事でコンテクスト メニューが使えます。

表 1-1: [Code Profiling] ウィンドウのアイコン

アイコン テキスト 概要

Project Properties

[Project Properties] ウィンドウを開きます。

Filter Functions フィルタを適用し、選択された関数のみ表示します。Note: フィルタを適用してもコードは再実行されません。収集済

みのデータから選択された関数のみ表示します。

Filter Select All 全ての関数を表示します。

Show Function Trace Timeline Graph

全ての関数のコード プロファイリング データを1つの時系列グラ

フに表示します。

Output Statistics ウィンドウ内のデータをファイルに出力します。

Column Setup テーブル列の表示 / 非表示を選択するためのメニューを表示しま

す。水平スクロールバーの表示 / 非表示、列の展開 / 畳み込み ( 全ての列 / 選択した列のみ表示 ) も選択できます。

表 1-2: [Code Profiling] ウィンドウのコンテクスト メニュー

アイテム 概要

Clear View and Data ウィンドウから全ての関数データをクリアします。

Reload Data ファイルからウィンドウへ関数データをリロードします。

Go To Function Source 選択した関数のソースコード内の位置へ移動します。関数をダブルクリックする事で、これと同じ事ができます。

2018 Microchip Technology Inc. DS50002384A_JP - p. 19

Page 20: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE 向けコード プロファイリング プラグイン

1.10.2 [Function Trace Timeline] グラフウィンドウ

グラフ ウィンドウのアイコンは、ウィンドウの右側に配置されています。ウィンドウ内で右クリックする事でコンテクスト メニューが使えます。

表 1-3: [Function Trace Timeline] グラフウィンドウのアイコン

アイコン テキスト 概要

Measure/Zoom Mode Select

このアイコンを選択していない場合 : 計測モード ( マウスをドラッグして時間値を計測します )このアイコンを選択した場合 : ズームモード ( マウスをドラッグして表示領域をズームします )

表 1-4: [Function Trace Timeline] グラフウィンドウのコンテクスト メニュー

アイテム 概要

Turn Off/On Zoom mode クリックするたびにズームモードの有効 / 無効が切り換わります。

Save Graph Image グラフの画像を PNG ファイルに保存します。

Print グラフを印刷します。

Zoom In グラフデータの表示を拡大します。以下の拡大方向を選択できます。• 両軸方向• ドメイン軸 (X 軸 ) 方向• レンジ軸 (Y 軸 ) 方向

Zoom Out グラフデータの表示を縮小します。以下の縮小方向を選択できます。• 両軸方向• ドメイン軸 (X 軸 ) 方向• レンジ軸 (Y 軸 ) 方向

Zoom Reset ズームを既定値状態に戻します。

Properties [Chart Properties] ウィンドウを開きます。

1.10.3「[Chart Properties] ウィンドウ」を参照してください。

DS50002384A_JP - p. 20 2018 Microchip Technology Inc.

Page 21: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

コード プロファイリングの動作

1.10.3 [Chart Properties] ウィンドウ

このウィンドウの各種タブを使ってグラフの外観を設定します。 表 1-5: [Title] タブ

アイテム 概要

Show Title チェックすると、[Text] で指定したグラフタイトルが表示されます。

チェックを外すと、グラフタイトルは表示されません。

Text グラフのタイトルを入力します。タイトルを表示するには [ShowTitoke] をチェックする必要があります。

Font グラフタイトル テキストのフォント オプションを選択します。

Color グラフタイトル テキストの配色を選択します。

表 1-6: [Plot] タブ

アイテム 概要

[Domain and Range Axes] タブ

Label 軸のラベルを入力します。

Font 軸ラベルのフォント オプションを選択します。

Paint 軸ラベルの配色 ( テキスト色と背景色 ) を選択します。

Ticks 目盛りラベルの表示 / 非表示を選択します。

目盛りラベルのフォント オプションを選択します。

目盛り線の表示 / 非表示を選択します。

Range チェックすると、レンジ値は自動調整されます。最小レンジ値と最大レンジ値を指定する場合は、チェックを外します。

TickUnit チェックすると、目盛りの間隔が自動的に選択されます。目盛りの間隔を指定する場合は、チェックを外します。

[Appearance] タブ

Outline stroke グラフの枠線の太さを選択します。

Outline paint グラフの枠線の色を選択します。

Background paint グラフの背景色を選択します。

Orientation ドメイン軸 (x 軸 ) の向きを選択します。

• Vertical ( 既定値 )• Horizontal

表 1-7: [Other] タブ

アイテム 概要

Draw anti-aliased チェックすると、グラフの描画時にアンチエイリアス処理が適用されます。チェックを外すと、アンチエイリアス処理は適用されません。

Background paint グラフ領域の外側の背景色を選択します。

Series paint 未実装

Series stroke 未実装

Series outline paint 未実装

Series output stroke 未実装

2018 Microchip Technology Inc. DS50002384A_JP - p. 21

Page 22: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE 向けコード プロファイリング プラグイン

NOTE:

DS50002384A_JP - p. 22 2018 Microchip Technology Inc.

Page 23: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE向 け

コード プロファイリング プラグイン

補遺 A. コード プロファイリング リファレンス

A.1 はじめに

コード プロファイリング プラグインは、各関数で消費された時間の割合 (%) を表示します。このプラグインは、正確なタイミングデータを提供する物ではありません。以下に記載する内容は、コード プロファイリングが提供するタイミング情報についてより深く理解するために役立ちます。

MPLAB X IDE 内でのコード プロファイリングは、ターゲット コード内で各関数をプロファイル化コンパイルする事により実現します。このオプションでは、各関数の開始時の呼び出し (PC を取得し、ハードウェア ツールを介してそのデータをホストに転送 ) と各関数の終了時の呼び出し ( 対応する関数終了インジケータを転送 ) を使います。バイナリのプロファイリング データは、コード プロファイリング プラグインによってディスプレイに表示されます。

このプロファイル化により、各関数で消費される時間は増加します。プロファイル化によって増加する時間は、ターゲットのクロック速度、ターゲット上のデバイス、使用するコンパイラによって決まります。

• データの生成および収集プロセス

• ベースライン関数の作成と使用

• 注意

• まとめ

• 計算例

A.2 データの生成および収集プロセス

図A-1 に、ターゲットからホストへのコード プロファイリング データの生成とフローを示します。このデータは、最終的にコード プロファイリング プラグインによって表示されます。

図が示す通り、ターゲット上のデバイスはプロファイリング コードを介して取得したPC を MPLAB REAL ICE インサーキット エミュレータに転送します。エミュレータはデータにタイムスタンプを付加し、MPLAB X IDE へ転送します。IDE は、この生データをリングバッファ形式でファイルに保存します。このファイルとそのサイズは、エミュレータを介して選択します ([Project Properties] ウィンドウ内の [Trace andProfiling] ページで選択 )。コード プロファイリング プラグインがインストールされ、そのウィンドウが開かれている時にデバッグ セッションが一時停止 ( または停止 ) すると、データが解析されてウィンドウ内のテーブルの各行に各関数のデータが表示されます。このテーブルは、各関数で計測した平均 Excluded 時間と平均 Included 時間を示します。平均Included 時間は 1 つの関数の総実行時間であり、その関数内で呼び出された他の関数の実行時間を全て含みます。平均 Excluded 時間は、その関数内のコードのみの総実行時間であり、その関数から呼び出された他の関数の実行時間は含みません。どちらの時間にも、コード プロファイリングのための実行時間が含まれます。

デバッグ セッションを再開すると、ログファイルはクリアされてデータの収集が再開します。従って、前のセッションのデータに後続のセッションのデータを連結する事はできません。

以下では、コード プロファイル化コンパイルによって追加される時間の計算方法について説明します。この方法では、ベースライン関数を使ってコード プロファイル化のオーバーヘッド時間を計測し、この値を使ってターゲットコード内の他の関数で記録された時間を修正します。

2018 Microchip Technology Inc. DS50002384A_JP - p. 23

Page 24: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE 向けコード プロファイリング プラグイン

図 A-1: コード プロファイリング データの生成と収集

DS50002384A_JP - p. 24 2018 Microchip Technology Inc.

Page 25: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

コード プロファイリング リファレンス

A.3 ベースライン関数の作成と使用

ベースライン関数は、関数の開始および終了オーバーヘッドがほとんど ( または全く )生じないコード プロファイル化処理 (link、unlink、return命令等 ) だけを含みます。

ベースライン関数は、以下の通り単純に定義されます。

この関数は、ターゲットの main() 関数内の主幹 while ループ (main( ) 関数の中核を成すループ ) の外側で呼び出す必要があります。

例 :

ターゲットは、ベースライン関数を実行した後に本来のコード実行して停止します。この場合、コード プロファイリング プラグインが表示するベースライン関数の平均Excluded 時間と平均 Included 時間は同じです。この値を他のターゲット関数の平均Excluded 時間または平均 Included 時間から引き算する事で、それらの関数のより正確な実行時間が求まります ( この方法で平均 Included 時間を修正する場合の問題はA.4「注意」参照してください )。次にブレークポイントを削除し、コード プロファイリングの表示とデータをクリア( ウィンドウ内で右クリック ) した後に、デバッグ セッションを再開してターゲット関数のデータを収集します。

A.4 注意

上記の方法でベースライン関数の時間を使う場合、以下の 2 点に注意する必要があります。

1) クロック切り換えを使っている場合、上記の方法は使えません。なぜなら、ベースライン関数と他のターゲット関数が異なるクロック周波数で動作する可能性があるからです。この場合、ベースライン実行時間に対する一貫した尺度は存在しません。

2) ネストされた関数呼び出しは、プロファイル化コードに対する複数回の呼び出しを含みます。この場合、関数の平均 Excluded 時間については、ベースライン値を引き算する事でより正確な値が得られます。しかし、平均 Included 時間については、その関数からの全ての呼び出しに対するベースライン値も調整に含める必要があります。例 :

この場合、ベースライン値は、関数 A の平均 Included 時間から 4 回減算する必要があります。

void baseline () { return; }

void main (void) { // possible start-up or initialization code here...

baseline();Set breakpointhere ----------> while (1) { // your main loop here... }

} // end main

Function_A() calls Function_B() which calls Function_C() which calls Function_D()

2018 Microchip Technology Inc. DS50002384A_JP - p. 25

Page 26: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE 向けコード プロファイリング プラグイン

Excluded 時間であれ Included 時間であれ、ある関数が他の関数を複数回呼び出し、それらの呼び出しが条件文のカッコ内にある場合、その関数内の全ての呼び出しが実行されるとは限りません。コード プロファイリングは、平均 Excluded および Included時間を計算する際に、この条件を判別する事はできません。

A.5 まとめ

決められた同じクロック速度、デバイス、コンパイラを使う限り、ベースライン関数を使う事でコード プロファイリング プラグインが提供する関数時間値を修正できます。

A.6 計算例

以下の計算は、40 MHz (20 MIPS) で動作する dsPIC33EP に基づきます。ベースライン関数を使って調整するサブルーチンは、他の関数を一切呼び出しません。この関数のコンパイル済みサンプルコードは以下の通りです。

[Code Profiling] ウィンドウに表示されたベースライン関数の平均 Excluded 時間と平均Included 時間は、どちらも 0.031 ms ( または 31 μs) です。この例の場合、1664 個のサンプルが収集されました。

クロックは 40 MHz ( 周期 = 25 ns) で動作し、各命令は 2 サイクルであるため ( 従って 20 MIPS)、各命令の実行には 50 ns を要します。

[Code Profiling] ウィンドウに表示された function_C の平均 Included 時間は 0.032 ms(32 μs) です。function_C 内には呼び出しが存在しないため、関数時間から単純にベースライン時間を減算する事で、function_Cの時間は 32 - 31 = 1 μs として求まります ([Code Profiling] ウィンドウの分解能は最小で 1 μs です )。次に、この値が実際の値に近い事を検証します ( 同じタイムスタンプ分解能とコードプロファイル計算を使用 )。プロファイリングなしの function_C 時間は以下の通りです。

値を丸めると 1 μs となり、上記の 32 - 31 = 1 μs と一致します。

通常、関数のサイズが大きいほど平均時間は互いに近づき、従って調整後の値は実際の時間に近づきます ( ただし、その関数内に条件付き呼び出しが存在しない事が必要です )。

function_C LNK #0x0 CALL __function_level_profiling_long NOP MOV gVarX, W4 :<-- Contains 22 more instructions (no calls) MOV WS, 0x106c ULNK GOTO __function_level_profiling_zero NOP

function_C LNK #0x0 50 MOV gVarX, W4 50 :<-- 22 more instructions (so 22 x 50nS) 1100 MOV WS, 0x106c 50 ULNK 50 RETURN 50 ---- 1350 nS

or 1.35 uS

DS50002384A_JP - p. 26 2018 Microchip Technology Inc.

Page 27: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE向 けコード プロファイリング プラグイン

索引

記号[Code Profiling]ウィンドウ

Column Setup ................................................... 19Filter Data ......................................................... 19Output Statistics................................................ 19Reload Data...................................................... 19Show Graph...................................................... 19

[Code Profiling]グラフPrint image........................................................ 20Save image to PNG .......................................... 20Set Appearance ................................................ 21

[Code Profiling]メニューClear View and Data......................................... 19Go To Function Source..................................... 19

CChart Properties ....................................................... 21Code Profilingウィンドウ

Calls .................................................................. 12Count ................................................................ 15Excluded ........................................................... 13Included ............................................................ 14

FFLP

サマリデータ ............................ 15タイムスタンプ .......................... 12

FLP (Function Level Profiling).................................... 5

PPCサンプリング........................... 10, 15PCプロファイリング....................... 10, 15Project Properties .................................................... 19

TTrace and Profiling........................................... 8, 9, 10

こコード プロファイリング グラフ

Zoom In and Out ............................................... 20ズーム .................................. 16データポイント レンジ.................... 17パニング ................................ 16ハン凡例 ................................ 18

2018 Microchip Technology Inc. DS50002384A_JP - p. 27

Page 28: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

MPLAB® X IDE 向けコード プロファイリング プラグイン

DS50002384A_JP - p. 28 2018 Microchip Technology Inc.

Page 29: MPLAB X IDE コード プロファイリング プラグインww1.microchip.com/downloads/jp/DeviceDoc/50002384A_JP.pdf · イルタイプは*.nbm)を選択してから[Open]をクリックします。ZIPファイ

DS50002384A_JP - p. 292018 Microchip Technology Inc.

北米本社2355 West Chandler Blvd.Chandler, AZ 85224-6199Tel:480-792-7200 Fax:480-792-7277技術サポート : http://www.microchip.com/supportURL: www.microchip.com

アトランタDuluth, GA Tel:678-957-9614 Fax:678-957-1455

オースティン (TX)Tel:512-257-3370

ボストンWestborough, MA Tel:774-760-0087 Fax:774-760-0088

シカゴItasca, IL Tel:630-285-0071 Fax:630-285-0075

クリーブランドIndependence, OH Tel:216-447-0464

Fax:216-447-0643

ダラスAddison, TX Tel:972-818-7423 Fax:972-818-2924

デトロイトNovi, MI Tel:248-848-4000

ヒューストン (TX) Tel:281-894-5983

インディアナポリスNoblesville, IN Tel:317-773-8323Fax:317-773-5453

ロサンゼルスMission Viejo, CA Tel:949-462-9523 Fax:949-462-9608

ニューヨーク (NY) Tel:631-435-6000

サンノゼ (CA) Tel:408-735-9110

カナダ - トロントTel:905-673-0699 Fax:905-673-6509

アジア / 太平洋

アジア太平洋支社Suites 3707-14, 37th FloorTower 6, The GatewayHarbour City, KowloonHong KongTel:852-2943-5100Fax:852-2401-3431

オーストラリア - シドニーTel:61-2-9868-6733Fax:61-2-9868-6755

中国 - 北京Tel:86-10-8569-7000 Fax:86-10-8528-2104

中国 - 成都Tel:86-28-8665-5511Fax:86-28-8665-7889

中国 - 重慶Tel:86-23-8980-9588Fax:86-23-8980-9500

中国 - 東莞

Tel:86-769-8702-9880

中国 - 杭州Tel:86-571-8792-8115 Fax:86-571-8792-8116

中国 - 香港 SARTel:852-2943-5100 Fax:852-2401-3431

中国 - 南京Tel:86-25-8473-2460Fax:86-25-8473-2470

中国 - 青島Tel:86-532-8502-7355Fax:86-532-8502-7205

中国 - 上海Tel:86-21-5407-5533 Fax:86-21-5407-5066

中国 - 瀋陽Tel:86-24-2334-2829Fax:86-24-2334-2393

中国 - 深圳Tel:86-755-8864-2200 Fax:86-755-8203-1760

中国 - 武漢Tel:86-27-5980-5300Fax:86-27-5980-5118

中国 - 西安Tel:86-29-8833-7252Fax:86-29-8833-7256

アジア / 太平洋

中国 - 厦門Tel:86-592-2388138 Fax:86-592-2388130

中国 - 珠海Tel:86-756-3210040 Fax:86-756-3210049

インド - バンガロールTel:91-80-3090-4444 Fax:91-80-3090-4123

インド - ニューデリーTel:91-11-4160-8631Fax:91-11-4160-8632

インド - プネTel:91-20-3019-1500

日本 - 大阪Tel:81-6-6152-7160 Fax:81-6-6152-9310

日本 - 東京Tel:81-3-6880- 3770 Fax:81-3-6880-3771

韓国 - 大邱Tel:82-53-744-4301Fax:82-53-744-4302

韓国 - ソウルTel:82-2-554-7200Fax:82-2-558-5932 または 82-2-558-5934

マレーシア - クアラルンプールTel:60-3-6201-9857Fax:60-3-6201-9859

マレーシア - ペナンTel:60-4-227-8870Fax:60-4-227-4068

フィリピン - マニラTel:63-2-634-9065Fax:63-2-634-9069

シンガポールTel:65-6334-8870Fax:65-6334-8850

台湾 - 新竹Tel:886-3-5778-366Fax:886-3-5770-955

台湾 - 高雄Tel:886-7-213-7828

台湾 - 台北Tel:886-2-2508-8600 Fax:886-2-2508-0102

タイ - バンコクTel:66-2-694-1351Fax:66-2-694-1350

ヨーロッパ

オーストリア - ヴェルスTel:43-7242-2244-39

Fax:43-7242-2244-393

デンマーク - コペンハーゲンTel:45-4450-2828 Fax:45-4485-2829

フランス - パリTel:33-1-69-53-63-20 Fax:33-1-69-30-90-79

ドイツ - デュッセルドルフTel:49-2129-3766400

ドイツ - ミュンヘンTel:49-89-627-144-0 Fax:49-89-627-144-44

ドイツ - プフォルツハイムTel:49-7231-424750

イタリア - ミラノ Tel:39-0331-742611 Fax:39-0331-466781

イタリア - ベニスTel:39-049-7625286

オランダ - ドリューネンTel:31-416-690399 Fax:31-416-690340

ポーランド - ワルシャワTel:48-22-3325737

スペイン - マドリッドTel:34-91-708-08-90Fax:34-91-708-08-91

スウェーデン - ストックホルムTel:46-8-5090-4654

イギリス - ウォーキンガムTel:44-118-921-5800Fax:44-118-921-5820

各国の営業所とサービス

01/27/15