キャッシュをイネーブルしてデバッグ(ステップ実行)すると、上手くデバッグ出来ない、デバッグが止まってしまいます。キャッシュを使わない時や、TCM(Tightly Coupled Memory)のメモリーだけを使っている時は、キャッシュは使用されないので、ステップ実行は問題なく実行出来ます。
キャッシュが働いている時に、デバッグを開始すると、止まってしまうんです。これは、デバッガーの設定がキャッシュを使用するように設定されていないからです。
今回は、i.MXRT1050-EVKBのオンボードICE機能を使うときの設定方法をご紹介します。
特に、Quad SPI フラッシュROMから直接実行したり、OC-RAMやSDRAMを使う時で、キャッシュをイネーブルにしている時は、この設定をして見てください。
デバッグコンフィグレーション設定


このデバッガー設定内に”Additional options”という項目があると思います。
このオプション設定には、通常、
–no-packed –cachelib libm7_cache.so
となっていると思いますが、IDEのバージョンやサンプルコード、スクラッチから開発している場合には、2つ目のcacheオプションが設定されていないことがあります。
その場合には、–cachelib libm7_cache.soを付け足してください。

はい、これだけです。
デバッガーのキャッシュ処理に関連したデバッガー用のライブラリを設定します。最新のMCUXpresso IDEのサンプルでは、設定されているかと思います。
キャッシュを使用しない場合、この設定で動作が重くなってしまいます。
まとめ
i.MXRT1050のデバッグ時に、キャッシュを使用している場合には、デバッガー設定内でキャッシュ処理に関連したライブラリを追加設定してあげる必要があります。
キャッシュを使用しない場合には、要らない設定です。