12.07.2015 Views

RealView Compilation Tools コンパイラユーザガイド - ARM ...

RealView Compilation Tools コンパイラユーザガイド - ARM ...

RealView Compilation Tools コンパイラユーザガイド - ARM ...

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

コーディング 慣 行通 常 、 ス タ ッ ク の 使 用 量 を 自 動 的 に 測 定 する 方 法 はあ り ません。 ただし、 スタ ッ ク 使 用 率 の 程 度 を 手 動 で 推 定 する こ と は 可 能 です。 これには、 以 下 の 方法 があ り ます。• --callgraph でリンクすることによって、 スタティックコールグラフを 生成 します。 これに よ り 、 ス タ ッ ク の 使 用 量 をは じ め と し た、 すべての 関数 に 関 する 情 報 が 示 されます。• --info=stack または --info=summarystack でリンクすることによって、すべてのグ ローバルシンボルのス タ ッ ク 消 費 量 の リ ス ト を 表 示 し ます。• デバッガを 使 用 して、 ス タ ッ ク 内 の 最 後 の 使 用 可 能 な 場 所 にウ ォ ッチポイ ン ト を 設 定 し、 そのウ ォ ッ チポ イ ン ト が ヒ ッ ト さ れる かど う かを 調 べます。• デバ ッ ガは、 以 下 の よ う に 使 用 し ます。1. 想 定 を 大 幅 に 上 回 るサイズの 領 域 をスタ ッ クに 割 り 当 てます。2. ゼロや 0xDEADDEAD などの 既 知 の 値 でスタッ クを 埋 めます。3. アプ リ ケーシ ョ ン ま たはその 固 定 部 分 を 実 行 し ます。 テス ト 実 行 では、 スタックの 可 能 な 限 り 多 くの 部 分 を 使 用 するようにして 下 さい。 例 えば、 できる 限 り 多 くのコードの 分 岐 を 実 行 して、 必 要 に 応じ て 割 り 込 みを 生 成 し、 分 岐 や 割 り 込 みがス タ ッ ク ト レースに 記録 されるよ うにします。4. アプ リ ケーシ ョ ンの 実 行 が 完 了 した 後 で、 メモ リ のスタ ッ クエ リアを 検 証 して、 上 書 きされた 既 知 の 値 (ゼロまたは0xDEADDEAD) の 数 を 調 べます。 ス タ ッ ク の 使 用 済 み 部 分 にはゴミ が 表 示 さ れ、 残 り の 部 分 にはゼ ロ ま たは 0xDEADDEAD という値 が 示 されます。5. 既 知 のエン ト リ の 数 を 数 えて、 8 で 乗 算 し ます。 これによ り、 メモリ 内 でス タ ッ ク がどの 程 度 増 大 し たかがバイ ト 単 位 で 示 さ れます。• RVISS の 場 合 は、 マ ッ プフ ァ イルを 使 用 し て、 ア ク セスが 許 可 されていないメモ リ 領 域 を 定 義 し ます。 この 領 域 は、 メモリ 内 でスタックのすぐ下 に 配 置 し て 下 さい。 アクセスが 禁 止 された 領 域 にスタックがオーバーフローする と、 データアボートが 発 生 し、 デバッガによって ト ラ ップされる 可 能 性 があり ます。詳 細 については、 以 下 を 参 照 し て 下 さ い。• 「コードサイズとデータサイズの 測 定 」 (ページ 5-11)• 『リンカリファレンスガイド』 の 「--[no_]callgraph」 (ページ 2-8)5-12 Copyright © 2002-2010 <strong>ARM</strong> Limited. All rights reserved. <strong>ARM</strong> DUI 0205IJNon-Confidential, ID 100419

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!