AR# 46911

EDK 14.1 Zynq-7000 - 2 つ目の CPU コアのスタブを作成する方法

説明

2 つ目の CPU コアのスタブを作成するにはどうすればよいでしょうか。

ソリューション


このアンサーにリンクされている Tcl スクリプト (stub.tcl) を使用すると 2 つ目の CPU コアのスタブが作成されます。2 つ目の CPU コアは wfe (イベント待機) 命令を実行し、1 つ目の CPU コアが起動するのを待機します。

1 つ目のプロセッサが 2 つ目のコアを起動させる必要がある場合は、ロケーション 0xFFFFFFF0 に目的の pc 値を書き込み、sev (イベント送信) 命令を送信する必要があります。

これがないと、このシリコンの rev1 の JTAG モードではブート ROM にバグがあるため、Linux がブートしない可能性があります。このため、フラッシュからのブートなしに Linux が直接 RAM にロードされる場合は、このステップが必要です。

2 つ目の CPU コアが実行するアセンブリ コードは次のとおりです。

0xFFFFFF00: mvn r0, #15
0xFFFFFF04: mov r1
0xFFFFFF08: str r1, [r0]
0xFFFFFF0C: wfe
0xFFFFFF10: ldr r2, [r0]
0xFFFFFF14: cmp r2, r1
0xFFFFFF18: beq 0xc
0xFFFFFF1C: mov pc




stub.tcl

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
stub.tcl 723 Bytes TCL

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

マスター アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
52540 Zynq-7000 SoC - よく寄せられる質問 (FAQ) N/A N/A

関連アンサー レコード

Answer Number アンサータイトル 問題の発生したバージョン 修正バージョン
47567 Zynq-7000 SoC、ブート - JTAG からブートしたときに CPU1 のプログラム カウンター (PC) が無効なアドレスを示している N/A N/A
AR# 46911
日付 03/02/2013
ステータス アクティブ
種類 一般
デバイス