MIMXRT1170-EVKBマルチコアの例の質問... これは、低レベルの(Linuxではない)マルチコアデバイスでの私の最初の経験なので、これは愚かな質問かもしれません... 「Getting Started with MCUXpresso SDK for MIMXRT1170-EVKB」のセクション 6.4 と 6.5 (Rev.0 — 31 December 2022)、これはSDKTOP/boards/evkbmimxrt1170/multicore_examples/hello_worldを指します。私はSDK-2-16-100_MIMXRT1170-EVKBを使用しています。また、EVKBの20ピンヘッダーにJLinkプログラマーを取り付けています。 私は初めてcm4 / cm7アプリケーションをビルド/ロード/実行することができましたが、指示が私には意味をなさないため、指示に完全には従わなかった(両方のコアでgdb / loadを実行する必要がありました)。 セクション 6.4 では、各アプリケーションを "ビルド" すると述べています。いいです;しかし、セクション6.5には次のように書かれています。プライマリ コア デバッガーは、プライマリ コア アプリケーションと補助コア アプリケーションの両方の SoC フラッシュ メモリへのフラッシュ処理を処理します。".それでよろしいですか。私は、何かを動作させるために、各コアに対して「ロード」操作(gdbを使用)を実行する必要があることがわかりました。 また、CM4のコードにマイナーチェンジをしてみましたが、プログラミングにはなっていないようです。gdbの "load"もプログラミング前にすべてを消去しますか? ここでのご意見はいただければ幸いです。 ありがとうございます Re:MIMXRT1170-EVKBマルチコアの例の質問... さて、今はわかったと思います... @Pavel_Hernandez、PDFは非常に便利でしたが、スレッドはIDEで押すべきボタンを指示する一連の命令にすぎません。物事を本当に理解しようとすると、あまり良くありません。 CM4の画像は、実際には「.core1_code」と呼ばれるセクションとしてCM7の画像に組み込まれていることがわかりました。CM7 のビルドは、以前にビルドされた CM4 イメージに依存するため、CM7 のビルド手順の 1 つは、CM4 イメージを CM7 のメモリ マップに組み込むことです。これは、cm4を使用してgdbで「ロード」を行うときに、実際のSPIフラッシュスペースにプッシュされていなかった理由を説明しています。私はこれが行われる方法があまり好きではありませんが、それは問題ありません。少なくとも今は理解しています。 どうもありがとう、大きな助け! Re:MIMXRT1170-EVKBマルチコアの例の質問... こんにちは、私の名前はPavelです、そして私はあなたのケースをサポートします、私はこれがデュアルコアプロセスについての詳細を理解するのに役立つことができるこのアプリのノートを見つけました、章2.1.2を参照してください詳細なブートフロー。
似たような議論がいくつかあり、理解するのに役立つかもしれません。 "..プライマリ コア デバッガーは、プライマリ コア アプリケーションと補助コア アプリケーションの両方の SoC フラッシュ メモリへのフラッシュ処理を処理します。"
i.MX RT1170 デュアルコアアプリケーション
たぶん、この他のスレッドはあなたがIDEでそれをテストするのを助けるかもしれません。
JLINKを使用してRT1170デュアルコアをデバッグする方法 - NXP Community
よろしくお願いいたします パベル Re:MIMXRT1170-EVKBマルチコアの例の質問... まあ、これで問題が解決したとは言いたくありませんが、両方のコアでコードを実行することができました... 私はgdbがJLINKにフラッシュに書き込むように指示する方法に疑問を持っていたので、jlink gdbサーバーにフックされたgdbを使用する代わりに、各セクションを手動でロードする単純なjlinkスクリプトを作成しました(下記参照)。そのためには、 .elf から読み込み可能な各セクションを抽出する必要がありましたファイルを独自のバイナリファイルに入れます。 作成された各ファイルで、次のスクリプトを実行することができました。 EOEの1 デバイス=MIMXRT1176DVMAA_cm7 スピード4000 si SWDの r h ロードビン elfsect_.flash_config.bin,0x30000400 ロードビン elfsect_.ivt.bin,0x30001000 ロードビン elfsect_.core1_code.bin,0x33fc0000 ロードビン elfsect_.interrupts.bin,0x30002000 ロードビン elfsect_.text.bin,0x30002400 loadbin elfsect_。ARM.bin,0x30008d00 ロードビン elfsect_.init_array.bin,0x30008d08 ロードビン elfsect_.fini_array.bin,0x30008d0c ロードビン elfsect_.data.bin,0x30008d10 行く 出口 CM7をロードすると、うまくいきました。jlinkサーバーはダウンロードを確認したと言っていましたが、検証は失敗していたようです。 誰かが(NXPサポート)これを説明できますか? Re:MIMXRT1170-EVKBマルチコアの例の質問... 詳細情報... gdbで「load」を実行した後、JLinkGDBServerCLExeウィンドウに次のエラーが表示されることに気づきました... エラー:ターゲットの準備中にタイムアウトしました。RAMCodeは時間内に応答しませんでした。 RAMCode 側の Prepare() を実行できませんでした フラッシュ情報の決定中にエラーが発生しました (Bank @ 0x30000000)
查看全文