OTFADを適用する際のJ-FlashとMCUXpress IDEの違いは何ですか?
現在、RT1010 EVKを使ってOTFADの設定をテストしています。
OTFADの設定とファームウェアのダウンロードには、MCUXpress SPTプログラムを使用しました。
設定済みのEVKのブートモードをFlexSPIブートモードに設定しました。
その後のJTAGアクセスについて質問があります。
JTAGのセキュリティ設定は設定していませんが、J-Flashプログラムはターゲットに接続します。ただし、その後フラッシュメモリの読み書きはできません。
しかし、MCUXpress IDEで元のプロジェクトを構築し、「Debug & Download?」のような機能を使ってダウンロードすると、OTFADが設定されていないバージョンをダウンロードできます。
この2つのプログラムの違いを知りたいです。
なぜJ-Flashではアクセスできないのですか?
では、なぜIDEで可能なのでしょうか?
1. なぜJ-FlashでFlashにアクセスできないのか?
J-Flashは独自のフラッシュアルゴリズムとJ-Link構成に依存しています。i.MX RTデバイス上の外部フラッシュの場合、プログラミングツールは通常、まずオンチップRAMにフラッシュドライバアルゴリズムを読み込み実行する必要があります。このRAM常駐コードは、FlexSPIの初期化、消去操作、およびプログラミングを担当します。
現在のJ-Flashプロジェクトで使用されているSEGGER Flash Loader、JLinkScript、FlexSPI LUT、またはFCB構成がSPT設定後のデバイス状態と一致しない場合、デバッガはコアに接続できるものの、外部フラッシュを確実に読み取ったり消去したりプログラムできなくなることがあります。
2. なぜMCUXpresso IDEからまだFlashにアクセスできるのか?
MCUXpresso IDEのダウンロードおよびデバッグフローは、単なるJTAGベースの外部フラッシュへの書き込み以上のものです。代わりに、完全なターゲット初期化およびRAM常駐フラッシュドライバ手順を実行します。
i.MX RTデバイスの内部RAMにFlashドライバをダウンロードします。→
FlexSPIインターフェースを初期化します。→
アプリケーション画像をセグメントごとにバッファし、Flash消去やプログラムAPIを呼び出します。
同様に、LinkServer は .cfx ファイルを使用します。フラッシュドライバーをリセットしてダウンロードを行い→フラッシュドライバー→プログラムシーケンスを実行します。
その結果、MCUXpresso IDEは、J-Flashプロジェクトが現在のOTFADやFlexSPIの状態に正しく設定されていなくても、フラッシュの初期化や消去・プログラム操作を正常に実行できる可能性があります。
よろしくお願いいたします。
シェリー