問題は、Segger コネクタから JTAG アダプタ ボードへの接続にありました。デバッグ セッションの前にコントローラをリセットできませんでした。今は解決しました。
こんにちは、
しかし、サンプルコードをデバッグすると、フラッシュ後にPCはメイン関数ではなくランダムなRAMの場所に移動します。
わかりました。奇妙に思えます。コアはその中にロードされた命令を実行します。ランダムなものではありません。
SW 内でその RAM 位置への何らかの分岐 (ジャンプ) を実行する必要があります。また、分岐を実行するには、コア レジスタで RAM の場所を定義する必要があります。
ステップごとにデバッグを行うと、RAM への分岐がどこで発生しているか、またその前提条件も正確に確認できます。
しかし、PC はメインで停止せず、ランダムな RAM の場所に移動してそこで停止します。S32k311 の別のサンプル コードを試してみましたが、同じ出力が得られました。
はい、メインに到達しない場合は、メインブレークポイントで停止しません。
別の例でも同じ結果が得られるため、EVB を使用する場合はボード上のジャンパー設定に問題がある可能性があります。
必要なすべての HW 設定が記載されているスタートガイドが EVB に付属しています。
しかし、起動時のデバッグを行うと、問題がどこにあるかが簡単にわかります。
よろしくお願いいたします。
ピーター
参考までにgdbサーバログをご覧ください。