AR# 52486

Zynq-7000 - Zynq ボード サポート パッケージの変換表で値の確認

説明

translation_table.s の DDR 領域が 0x15DE6 とコンフィギュレーションされています。次のピットが何に対応しているのか確認できますか。

translation_table.s は次のようになっています。

.rept 0x0400 /* 0x00000000 - 0x3fffffff (DDR Cacheable) */
.word SECT + 0x15de6 /* S=b1 TEX=b101 AP=b11, Domain=b1111, C=b0, B=b1 */
.set SECT, SECT+0x100000
.endr

ソリューション


注記 : ページやテーブルの指示子はすべて『ARM Architecture Reference Manual』の ARM DDI 0406B バージョンのものを使用しています。

ボード サポート パッケージ (BSP) の変換表にあるページ テーブル セクションの設定については、ザイリンクス資料以外の資料も参照する必要があります。

Zynq SoC のザイリンクス資料には、ARM で既に定義されているものは記載されていません。translation_table.s の DDR セクションの値を確認するには、ARM およびザイリンクスの両方の資料を参照する必要があります。

この場合は、『ARM Architecture Reference Manual』 (AARM) が必要です。この資料は ARM ウェブサイトにあります。登録を済ませていない方はユーザー登録をする必要があります。

AARM を開いたら、DDR の表を参照してください。「TEX」というキーワードで検索をすると、指示子フォーマットを説明した表が検索結果に表示されます。この表の後に、各指示子の説明と、その詳細のための参照ページがあります。ここから情報をたどっていくと、各指示子の値およびその値に対応している値を確認しやすくなります。

「TEX」の例をそのまま使って説明しますと、「Memory Region Attributes」セクションにさらに詳細があります。このセクションには、TEX、C、B 指示子のエンコーディング表があります。0x15de6 は最初の表によると S=b1 TEX=b101 AP=b11、Domain=b1111、C=b0、B=b1 に対応しています。このエンコーディング表を使用し、指示子の値を対応するパラメーターに相互参照することができます。
この例の場合は次のようになります。
"TEX" = 3'b101 : キャッシュ可能メモリ、ライトバック、外部キャッシュ属性の書き込み割り当て
"C" = 1'b0 および "B" = 1'b1 : ライトバック、内部キャッシュ属性の書き込み割り当て
"S" = 1'b1 : 共有可能なメモリ


次に、これらの属性がザイリンクス ツールでどのように処理されるかを確認するため、ザイリンクス資料を参照します。

UG585 『Zynq テクニカル リファレンス マニュアル』のセクション 3.4 L2-Cache を確認します。

表 3-1 には、SCU リクエスト中のキャッシュ コントローラーの動作が説明されています。ARMv7 の属性に対応する列を確認します。外部ライトバック、書き込み割り当てと同じ Zynq トランザクションは、キャッシュ可能なライトバック、読み出しおよび書き込みでの割り当てです。

すなわち BSP の DDR の 0x15de6 という値は、キャッシュ可能なライトバック、読み出しおよび書き込みでの割り当てというトランザクションに対応しています。

アンサー レコード リファレンス

関連アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
52474 Zynq ARM - Where to Look for Documentation Regarding ARM and Cortex-A9 N/A N/A
AR# 52486
日付 01/20/2013
ステータス アクティブ
種類 一般
デバイス
ツール 詳細 概略
IP