|
|||||||||||||
Technical Support On-Line Manuals µVision4 User's Guide (Japanese) µVision4 の概要 ユーザインタフェース アプリケーションの作成 ユーティリティ デバッグ デバッグコマンド ASM ASSIGN BreakAccess BreakDisable BreakEnable BreakKill BreakList BreakSet COVERAGE DEFINE DIR Display Enter EVALuate EXIT Go INCLUDE KILL LOAD LOG LogicAnalyze MAP MODE Ostep PerformanceAnalyze Pstep RESET SAVE SCOPE SET SIGNAL SLOG Tstep Unassemble WatchSet WatchKill デバッグ関数 シミュレーション フラッシュプログラミング ダイアログ サンプルプログラム コマンドライン 付録 |
PerformanceAnalyze
µVision4 のパフォーマンスアナライザを使用すると、ターゲットプログラムを調整してパフォーマンスを最大限に向上させることができます。解析するプログラムの部分を指定すると、プログラムの実行中にパフォーマンスアナライザにより実行に関する統計情報が収集されます。解析対象のプログラムの各部分について、最短、最長、および平均の実行時間が記録されます。 最大 256 のコード範囲を解析することができます。パフォーマンスアナライザは、コード範囲の実行回数に加えて、各範囲の実行時間を記録します。 範囲とはアドレス範囲です。これは通常、関数の最初の命令から始まり、その関数の最後の命令で終わります。ただし、ターゲットプログラムのどの部分からも、少数の命令のみを含む範囲を指定することができます。 プログラムの実行中、パフォーマンスアナライザの結果が[パフォーマンスアナライザ](Performance Analyzer)ウィンドウに表示されます。 パフォーマンスアナライザでの作業中は、以下のコマンドを使用できます。 PA 引数を指定せずに PA コマンドを実行すると、定義されている各パフォーマンスアナライザのアドレス範囲、そのインデックス番号(特定範囲の削除に使用)、実行数、および最短、最長、平均の実行時間(クロックサイクル単位)が表示されます。 PA start , end PA コマンドにターゲットプログラムの関数名またはアドレス範囲を指定して実行すると、解析する新しいアドレス範囲が作成されます。start が関数名の場合、µVision4 は自動的に関数の開始アドレスと終了アドレスを取得します。start がアドレスの場合、end に解析する範囲の終了アドレスを指定する必要があります。ターゲットアプリケーションは、パフォーマンス解析を最適化できるよう完全なデバッグ情報を使用してコンパイルする必要があります。 注
PA KILL * PA KILL * コマンドは、パフォーマンスアナライザからすべてのアドレス範囲を削除します。 PA KILL item PA KILL コマンドにインデックス番号を指定して実行すると、パフォーマンスアナライザから該当するアドレス範囲が削除されます。µVision4 は、パフォーマンスアナライザに追加する各アドレス範囲と関数にインデックスを割り当てます。これらの番号は PA コマンドで表示することができます。 PA RESET PA RESET コマンドは、定義されているすべてのアドレス範囲について記録されているすべての情報をクリアします。ターゲットプログラムをしばらく実行してから、このコマンドを使用して記録を開始できます。 パフォーマンスアナライザのプログラム範囲は、[パフォーマンスアナライザの設定](Setup Performance Analyzer)ダイアログでも定義できます。このダイアログはメインメニューの[デバッグ](Debug)→[パフォーマンスアナライザ…](Performance Analyzer…)から開きます。 例>PA main /* Define a range for main() */ >PA timer0 /* Define a range for timer0() */ >PA clear_records /* Define more ranges */ >PA measure_display >PA save_current_measurements >PA read_index >PA set_time >PA set_interval > >PA /* display all PA ranges */ 0: main: (FF01EF-FF03B6) /* FF01EF = C:0x01EF */ 1: timer0: (FF006A-FF0135) 2: clear_records: (FF01C0-FF01EE) 3: measure_display: (FF07E7-FF084A) 4: save_current_measurements: (FF000E-FF0069) 5: read_index: (FF0136-FF01BF) 6: set_time: (FF084B-FF08CA) 7: set_interval: (FF08CB-FF09A5) /* After execution of the user program ... */ >PA /* Display ranges and stats */ 0: main: (FF01EF-FF03B6) count=1, min=-1, max=0, total=167589 1: timer0: (FF006A-FF0135) count=2828, min=33, max=254, total=226651 2: clear_records: (FF01C0-FF01EE) count=1, min=27086, max=27086, total=27086 3: measure_display: (FF07E7-FF084A) count=10, min=19495, max=19503, total=185027 4: save_current_measurements: (FF000E-FF0069) count=491, min=205, max=209, total=100665 5: read_index: (FF0136-FF01BF) 6: set_time: (FF084B-FF08CA) 7: set_interval: (FF08CB-FF09A5) > >PA KILL 7 /* Remove set_interval */ >PA KILL 6 /* Remove set_time */ >PA KILL 5 /* Remove read_index */ >PA 0: main: (FF01EF-FF03B6) count=1, min=-1, max=0, total=167589 1: timer0: (FF006A-FF0135) count=2828, min=33, max=254, total=226651 2: clear_records: (FF01C0-FF01EE) count=1, min=27086, max=27086, total=27086 3: measure_display: (FF07E7-FF084A) count=10, min=19495, max=19503, total=185027 4: save_current_measurements: (FF000E-FF0069) count=491, min=205, max=209, total=100665 > >PA RESET /* Clear all recorded information */ >PA 0: main: (FF01EF-FF03B6) 1: timer0: (FF006A-FF0135) 2: clear_records: (FF01C0-FF01EE) 3: measure_display: (FF07E7-FF084A) | ||||||||||||
|
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.