1516012_ja-JP

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

1516012_ja-JP

1516012_ja-JP

LS1028ARDB I2C eeprom: RCWとブートローダーのロード方法

こんにちは。このソースからボードを起動するために、I2C eeprom に RCW と BL をロードする方法を知りたいです。

私はこのThreadを見つけました: https://community.nxp.com/t5/QorIQ/LS1028-RCW-generation-to-boot-from-I2C-EEPROM-to-NOR-Flash/mp/145... 、しかし、私も行き詰まってしまいました。

BL2 のどのバージョン (bl2_emmc、bl2_sd など) をロードする必要があるかを知りたいのですが、Yocto コンパイルでは bl2_i2c が表示されません。

これを生成するには何かを変更する必要がありますか?それとも必要ありませんか?

ありがとうございます

イムグルザ

Re: LS1028ARDB I2C eeprom: how to load the RCW and the bootloaders

これは古いThreadだとはわかっていますが、このチケットと同様の問題が発生しています。起動可能な SD カードから u-boot を使用して rcw および bl2 bin を eeprom にプログラムする手順を実行し、EEPROM にデータが存在することを確認しました。スイッチを再構成して EEPROM から起動し、j26 の i2c トラフィックをキャプチャすると、次のようになります。

gjohnsona2e_0-1754945606921.png

EEPROMが応答していないようです。

これを主張どおりに動作させる方法を見つけるのをCAN手伝ってもらえますか?

Re: LS1028ARDB I2C eeprom: how to load the RCW and the bootloaders

こんにちは、

これを試してから時間が経ちましたが、うまくいきません。

コネクタ J26 の I2C 信号をチェックしています。ボードを起動すると、I2C コマンドが 1 つだけ表示されます。このコマンドは、0x50 アドレスへの書き込み要求です。EEPROMからのACKがありません:

i2c_eeprom.png


これは、I2C マルチプレクサが適切に構成されておらず、EEPROM が接続されているバス 0 に接続されていないことを意味します...

LS から EEPROM へのパスを有効にするには、CPLD でこのデバイスを構成する必要があると思います。


それを動作させるための回避策はありますか?これは既知の問題ですか?

ありがとうございます

イムグルザ

Re: LS1028ARDB I2C eeprom: how to load the RCW and the bootloaders

RCW イメージを i2c eeprom に書き込めるかどうかを確認してください。

=> tftp 0xa0000000 nxa22585/ls1028ardb/rcw_1500_gpu600.bin
=> i2c 書き込み 0xa0000000 0x50 0.2 0x10c

=>リセット

=> i2c 読み取り 0x50 0.2 0x10c 0xc0000000
=> md 0xc0000000
c0000000: aa55aa55 80100000 3c004010 00000030 UU....@.<0...
c0000010: 00000000 00000000 00000000 018f0000 ................
c0000020: 0030c000 00000000 020031a0 00002580 ..0......1...%..
c0000030: 00000000 00003296 00000000 00000010 .....2..........
c0000040: 00000000 00000000 00000000 00000000 ................
c0000050: 00000000 00000000 00000000 00000000 ................
c0000060: 00000000 00000000 00000000 00000000 ................
c0000070: 200e705a 00000000 bb580000 00000000 Zp. ......X.....
c0000080: 00000000 00000000 458ca4b5 334008bc ...........E..@3
c0000090: 00000001 33400154 47474747 33400158 ....T.@3GGGGX.@3
c00000a0: 47474747 334008bc 00000000 335008bc [email protected]
c00000b0: 00000001 33500154 47474747 335008bc ....T.P3GGGG..P3
c00000c0: 00000000 33400890 00800401 33500890 [email protected]
c00000d0: 00800401 33400098 00000000 33500098 [email protected]
c00000e0: 00000000 31e00900 00000004 31e00400 .......1.......1
c00000f0: 1800d000 8000000a 00000400 1800d000 ................
=>

Re: LS1028ARDB I2C eeprom: how to load the RCW and the bootloaders

ping @yipingwang

Re: LS1028ARDB I2C eeprom: how to load the RCW and the bootloaders

こんにちは@yipingwang


bl2.bin の書き込み中にボードがフリーズしてしまい、正しくロードされていないと思われます...
以下キャプチャです:

error.PNG

LS1028ARDB の回路図を確認すると、EEPROM への書き込みを許可するにはピン sw_cfg_wp を '0' にする必要があると思います。


switch.PNG

私もそれを設定しましたが、書き込みプロセスがフリーズし、その後、ブート オプションを eeprom に変更すると、印刷された文字が表示されません。

何が問題なのか分かりますか?

よろしくお願いいたします。

イムグルザ

Re: LS1028ARDB I2C eeprom: how to load the RCW and the bootloaders

https://community.nxp.com/t5/QorIQ/LS1028-RCW-generation-to-boot-from-I2C-EEPROM-to-NOR-Flash/mp/145...に添付されている i2c_ls1028a.zipのイメージをお試しください。

=> tftp 0xa0000000 rcw_1500_gpu600.bin

=> i2c 書き込み 0xa0000000 0x50 0.2 10c

=> tftp 0xa0000000 bl2.bin

=> i2c 書き込み 0xa0000000 0x50 0x400.29431

FIP イメージを NAND フラッシュの 0x100000 にフラッシュしてください。

Re: LS1028ARDB I2C eeprom: how to load the RCW and the bootloaders

ping @yipingwang 、何が起こっているのかアイデアがありますか?

よろしくお願いいたします。

イムグルザ

Re: LS1028ARDB I2C eeprom: how to load the RCW and the bootloaders

こんにちは、

ご対応ありがとうございます。

実行すると次のようになります:

=> i2c 書き込み 0xa0000000 0x50 0x400.20x13431

プロセッサがハングアップするので、bl2 バイナリが eeprom に適切にフラッシュされているかどうかわかりません...

i2c 書き込みコマンドでサイズを 16 進形式で書き込みました。終了したように見えたら、ブートスイッチを変更しましたが、シリアルセッションには何も印刷されませんでした...


もう一つ質問があります。FIP を再フラッシュする必要がありますか?私のCASE、uboot/kernel/rtfs を保存する場所として NAND を使用したいと思います。


ありがとうございます

イムグルザ

Re: LS1028ARDB I2C eeprom: how to load the RCW and the bootloaders

更新された手順は次のとおりです。

$ bitbake rcw -c cleansstate

$ bitbake rcw -c パッチ

RCWソースコードフォルダbuild_ls1028ardb/tmp/work/ls1028ardb-fsl-linux/rcw/git-r0/git/ls1028ardb/R_SQPP_0x85bb/に移動し、 rcw_1500_gpu600.rcwファイルの末尾に次のコマンドを追加します
.pbi
0x01e00400,0x1800d000を書き込む
ブロックコピー 0xa,0x400,0x1800d000,0x9435
。終わり

CCSR書き込みコマンド:
DCFG にあるブート ロケーション ポインター下位アドレス (BOOTLOCPTRL) レジスタでブート ロケーション ポインターを 0x1800d000 に設定します。
ブロックコピーコマンド:
ブロックコピー 0x0a,0x400,0x00100000,0x9400
ソース: I2C EEPROM = 0xa
送信元アドレス: 0x400
宛先アドレス: OCRAM (0x100000)
ブロックサイズ: BL2バイナリのサイズ(バイト単位)


$ ビットバック rcw

$ bitbake atf -c cleansstate

$ ビットベイクATF

build_ls1028ardb/tmp/deploy/images/ls1028ardb/atf/ にある atf イメージ bl2_flexspi_nor.pbl と fip_uboot.bin を取得します。

LS1028ARDBのU-BootでI2Cを使用してEEPROMをプログラミングする
=> i2cプローブ
有効なチップアドレス: 00 50 52 53 57 66 67 77 7C
=> i2c 書き込み 0xa0000000 0x50 0.2 0x11c
=> i2c 読み取り 0x50 0.2 0x114 0xc0000000
=> i2c 書き込み 0xa0000000 0x50 0x400.2

标记 (1)
无评分
版本历史
最后更新:
‎11-21-2025 06:38 PM
更新人: