親愛なる友人の皆様
私は T2080 CPU を使用し、vxworks が提供するブートローダーを使用しています。
次のブートローダー設定で正常に起動しています。
- フラッシュ1: 0xFF00_0000~0xFFFF_FFFF (16MB)
- ブートローダー: 0xFFF0_0000~ 0xFFFF_FFFF (1MB、ブートROM)
- CCSBAR: 0xFE00_0000~ 0xFEFF_FFFF (16MB、デフォルトアドレス)
私のボードには Flash1 のサイズがより多くあります。SO、Flash1 を再マップしようとしています。
ただし、次の設定では起動に失敗します。
- フラッシュ1: 0xFE00_0000~0xFFFF_FFFF (48MB)
- ブートローダー: 0xFFF0_0000~ 0xFFFF_FFFF (1MB、ブートROM)
- CCSBAR: 0xFE00_0000~ 0xFEFF_FFFF (16MB)
この問題は CCSBAR の重複によって発生したものと思われます。
ただし、CCSBAR を 0xFD00_0000 に設定した後でも、ブートは失敗します。
CCSBAR を変更する方法を教えてください。
(T2080 RM 4.3.11に記載されていますしかし、それが何を意味するのかは分かりません。
はい、スタートコードで再配置できるようです。以下のソースを参照できるかもしれません。
June_Lu様
NXP コミュニティ フォーラムを見ると、以前誰かが私と同じ問題を解決したことがわかります。タイトルと日付は以下の通りです。
* T2080 プロセッサにおける CCSRBAR 再配置の問題。karnakaranradh 著、2017 年 1 月 31 日。
返信ではU-bootのソースコードが以下のように参照されている。
* フリースケール PowerPC u-boot ツリー
ただし、参照にアクセスできません。
参照にアクセスする方法はありますか?
申し訳ありませんが、公式コードは SDK2.0 であり、 CCSRBAR を変更するような例はありません。
CCSR は多数のレジスタに影響するため、そのアドレスを変更する場合は、関連するすべてのソース コードがこの変更を反映するように適切に更新されていることを確認してください。
まずは追加のご返信ありがとうございます。
ブートローダーは CCSR (0xFE00_0000 -> 0xFD00_0000) を変更していますが、ブートプロセスが機能していないため、CCSR レジスタにアクセスできるかどうかを確認できません。
CCSR 構成には、VXWorks7 (windriver 製) が提供する「vxbl-1.0.4.1」を使用します。
CCSRBAR=0xFE00_0000 の場合、ブート プロセスは正常です。ただし、CCSRBAR が 0xFD00_0000 に設定されている場合、ブート プロセスは機能しません。
CCSRBAR はフラッシュ領域と重なってはいけませんよね?
CCSRBAR を変更するための例や公開されているコードはありますか?(VXBLと比較する必要があります。)
CCSR はどこに設定しますか。T2080 RMのルール、177 ページのガイドラインに従っていますか。
法律が変更された後、CCSR レジスタにアクセスできますか?CCSR レジスタ アクセスも変更する必要があるようです。RM 表 2-5 を参照してください。
ご返信ありがとうございます。
ただし、変更されたフラッシュ サイズに合わせて、ブートローダー内の TLB と LAW のサイズを既に変更しています。
QorIQ ® SDK 2.0-1703 ドキュメント では 、LAW を使用して特定のアドレスを設定します。
以下のリンクは法律に関連している可能性がありますので、参照していただければ幸いです。
よろしくお願いします。