【Call Treeとは】
Call Treeとは、CCSのコンパイラが自動生成するファイルで、拡張子が
「tre」となっています。
プロジェクトとして指定したディレクトリの中に生成されます。
このファイルはコンパイラが各関数をどのように展開してメモリに配置した
かをあらわしています。この内容を分析することでメモリ使用状況を細かく
見ることができ、さらに、インライン展開によるOut of ROMエラーの原因を
見つけることも出来ます。
【ファイルの見方】
このCall Treeのファイルは単なるテキストファイルなので、メモ帳以外の通常
のテキストエディタで開けるのですが、一部にASCIIの特殊文字コードを使って
いるため、フォント指定を、「英語版(OEM)のTerminal Font」にする必要が
あります。
このようにフォントを変更して開くと下記例のような内容で表示されます。
表示内容は下記のような意味になります。
(1) ツリーと関数名
各関数の配下で使われている関数関係を表しています。
関数名の前に@が付いている関数は、ライブラリ内の関数です。
(2)メモリ配置場所 x/y
各関数名の後の数値 x/y は ページ番号/配置場所の番号。
(3) Ram=n
その関数内で使用するデータメモリサイズです。
(4) ?マーク
配置ができなかった関数か、配置の不要な関数を表しています。
(5) (Inline)
コンパイラが強制的にインライン展開した関数を表しています。
従ってこれが適正かどうかの判断の元になります。