https://community.nxp.com/t5/i-MX-RT-Crossover-MCUs/RT1170-debugging-when-application-is-built-for-S...および RT1170_BriefOverview_v210.pdf に記載されている手順に従いました。
大量のヘッドメモリを必要とするアプリを開発中です。
提供されている手順に従い、RT1170_BriefOverview_v210.pdf に記載されている変更を加えて hello world をフラッシュすると、デバッグ モードで SDRAM を使用できるようになります。
しかし、この変更後、SDRAM はコードの保存にも使用されるようになりました。
私のアプリケーションでは、コードをフラッシュ メモリに保存し、BOARD_SDRAM をヒープ セクションとスタック セクションにのみ使用したいと考えています。
アプリケーションをフラッシュ メモリにフラッシュし、そのアプリケーションはヒープ セクションとスタック セクションに BOARD_SDRAM を使用します。
SOのために必要な変更についてご指導ください。
NXP サポートの手順 ( RT1176 で CM4 コア プロジェクトを SDRAM に移動する方法と[RT1170] SDRAM 内でデュアル コア プロジェクトをデバッグする方法) に従って、RT1170 EVKB にマルチコア プロジェクトをロードできました。
SDRAM から実行できるようになったら、マスター/Core M7 プロジェクトで、[プロジェクト設定] -> [C/C++ ビルド] -> [設定] -> [マネージド リンカー スクリプト] に移動し、[アプリケーションを RAM にリンク] 設定を無効にしました。
その後、バイナリをフラッシュし、リセット時にアプリケーションのフラッシュが使い果たされ、M4 アプリケーションがフラッシュから SDRAM に正常にコピーされることを確認できました。
こんにちは@sibrain-himanshu さん、
NXP MIMXRTシリーズにご興味をお持ちいただきありがとうございます。
問題の根本的な原因は、このステップ6の使用にあります。
Gavin_Jia_0-1766372562128.png
これにより、イメージ全体が実行のために RAM にロードされ、非 XIP イメージを生成するオプションになります。
アプリケーション シナリオでは、SDRAM を有効にして構成した後、MCUXpresso IDE でヘッド/スタックを適切に構成するだけで済みます。
Gavin_Jia_1-1766372653435.png
Gavin_Jia_2-1766372682763.png
よろしくお願いします、
ギャビン
こんにちは@Gavin_Jia
手順 6 に加えて、提案された変更と、プリプロセッサの「XIP_BOOT_HEADER_DCD_ENABLE=1」マクロを実行した後、ファームウェアは SDRAM で動作するようになりました。
しかし、私のアプリケーションは C++ で書かれているので、最初は hello world C アプリと同じ変更を加えましたが、うまくいきませんでした。
SO、C++ プリプロセッサ マクロに「USE_SDRAM」および「XIP_BOOT_HEADER_DCD_ENABLE=1」マクロを追加し、動作しました。
C++ プリプロセッサ マクロ。
sibrainhimanshu_0-1766399596062.png
C プリプロセッサ マクロ。
sibrainhimanshu_1-1766399629380.png
助けてくれてありがとう。