こんにちは、
これは先ほどのThread(6月は不在)に続くものです。 https://community.nxp.com/t5/QorIQ/LS1046A-custom-board-cold-boot-fails-from-eMMC-SD-and-QSPI/m-p/24...
概要
SDカードからのネイティブコールドブートは、HRESET_BがLOWになると停止します。デバッガ支援ブート(CodeWarrior rcw.apply())は、同じRCW、PBI、およびカードを使用してU-Bootに到達します。ネイティブストール中、PBLは約195kHzでSD_CLKを開始し、コマンドフレームを送信します。DAT0はトグルしません。その後、クロックは停止し、約24kHzで短時間再始動し、バスはアイドル状態になる。これをRM表4-8「RCW州のタイミング」に照らし合わせて解釈するにあたり、ご協力をお願いいたします。
セットアップ(ボード2、リセット作業なし)
0810000d 0a000000 00000000 00000000
00000000 00f00012 60040000 c1000000
00000000 00000000 00000000 0001c83e
00004504 24001102 00000096 00000001
ネイティブのコールドブート観測(デバッガ接続なし)
時間は目安です。t = 0 は ASLEEP の立ち下がりエッジであり、これは別のキャプチャで PORESET_B の立ち上がりと一致しました。
失速中のCCSアクセス
CCS::config_chain {ls1043a DAP SAP2} が受け入れられます。ccs::display_mem 2 0x01ee0000 4 0 1 は「スキャンタイムアウト」を返します。
デバッガー支援ブート(動作確認済み)
set_source(0x40)とset_data({13: 0x00004504})(カード上の値と同じ)を実行してからapply()を実行します。RCWSRはカードと照合します。U-BootはCPU 1300、プラットフォーム400、DDR 1600、FMan 500 MHzを報告しています。SDの初期化とFIPのロードに成功しました。
質問
こんにちは、
波形は、デバイスがRCW/PLL遷移を完了しなかったことを示している。まだ通常のPBI/eSDHC動作段階には至っていません。
RCWの積載について:
SD_CLK = SYSCLK / 512100 MHz / 512 = 195.3125 kHzRCWロードとPLLロック後:
HRESET_B解除されるべきである。SD_CLK = プラットフォーム clock / 80.そのため、
~195 kHz → stop → ~24 kHz burst → idle
これは、文書化された後期の状態遷移を表していません。24 kHz の値は、約100 MHz / 4096です。これはリセット/デフォルト分周器または再起動のアーティファクトとして扱い、PBL が PBI のロードに達したことの証明とはみなさないでください。クロックだけではSD識別タイムアウトとeSDHCのリセットを区別できません。
予想されるSD識別の流れは大まかに以下の通りです:
CMD0
CMD8
CMD55 + ACMD41 repeated until the card is ready
CMD2
CMD3
CMD7
then block reads for RCW/PBI data
CMD1は通常、eMMCの初期化コマンドであり、SDカードの初期化コマンドではありません。
正確なLS1043A ROMリトライ数やコマンドごとのタイムアウトは、NXPのサポート資料には記載されていません。これらは波形から推測すべきではありません。NXPのドキュメントでは端末の挙動が説明されています。選択したSDソースが利用できない場合、SoCは他のソースにフォールバックしません。 RESET_REQ_B を主張して停止します。
したがって、カードが完全に存在しない場合、 RESET_REQ_B最終的にアサートされるはずです。合否判定の基準値として使用できる、「正確にNミリ秒後にアサートする」という固定値は文書化されていません。HRESET_Bローのままで、かつこれがハイのままである場合、デバイスはまだターミナルPBLエラーパスの手前にあるか、ボードがRESET_REQ_Bをマスク/干渉している可能性があります。
はい、 HRESET_Bがまだ有効になっている間は、これは想定される動作です。同じリセット署名—PORESET_B が解放され、 HRESET_B 低、 RESET_REQ_B 高、デバッグパス経由でプロセッサにアクセスできない—は早期リセット/起動条件に関連付けられています。
SAP2が利用可能になるまでは、PBLの進捗状況を報告する信頼できるCCSRレジスターは存在しない。使用:
ポアセットBhreset_bRESET_REQ_B眠っているCLK_OUT (設定されている場合)RCWオーバーライド/safe-RCWまたは RESET_REQ_Bの隔離によってデバッグアクセスが確立されたら、以下を検査します。
RSTCRRSTRQSRRSTRQPBLSRRSTRQMRNXPはアクセス可能な場合にこれらのリセットレジスタ RESET_REQ_B 特に推奨しています。
はい。遅いまたは形状の悪い PORESET_B リリースはリセット初期化タイミングに違反し、誤ったストラップ、クロック、PLL サンプリングの原因となることがあります。100 MHz の SYSCLK の場合、1 つの SYSCLK の公称制限は約10 nsです。リセットジェネレータ出力だけでなく、LS1043Aのピンで実際の電圧変動と立ち上がり時間を直接確認してください。
また、 RESET_REQ_B が PORESET_Bにフィードバックしていないかも確認してください。NXPはブートアップ時に分離オプションを推奨しています。なぜなら、起動失敗がリセットループを起こしてJTAGアクセスを妨げる可能性があるからです。
0x9FはハードコードされたRCW/デバッグ識別子です。有効なクロックとリセットシーケンスがあれば、SDカードからRCWを読み取る必要性がなくなるはずです。したがって、カード HRESET_B 装着されていなくてもまだ起こらない場合は、 故障はSDカード識別よりも前から起こっている可能性が高いです。
つまり、0x9Fという結果は、「カードの欠落」が主な原因であるという説に反論するものである。まず、 HRESET_B 0x9Fで立ち上がり、リセット/クロック設定が正常であることを確認してください。その後、SD RCWのロードに戻ります。
よろしくお願いします。