こんにちは
Segger J-Link デバッガーを使用して S32K344-WB ボードにコードをフラッシュする際に問題が発生しています。Segger J-Link に対して何らかの設定を行う必要がありますか、またはリンカー ファイルで何かを変更する必要がありますか?間違った PC 値とその他のレジスタ値を取得しているためです。
はい、添付しております。
これは RTD の Siul2_Dio_Ip の例であり、SEGGER J-Link デバッグ構成を追加しました。RTD 6.0.0 と S32DS 3.6.6 に基づいています。
よろしくお願いします、
ジュリアン
すべての構成ファイルを含む、上記のスナップショットからの完全なサンプル プロジェクトを共有していただけますか?startup.sなどのファイルを確認したいのですが、system.cおよびリンカーファイル
こんにちは@ganavi1さん、
ログから、HSE がインストールされておらず、デバイスがロックされていないことがわかります。
また、追加の設定は必要ありません。念のため、J-Link Plus プローブを S32K344-WB でテストしたところ、期待どおりに動作しました。Siul2_Dio の例をテストしました:
RTD の例、または WB パッケージを使用してみてください。
問題が解決しない場合は、SEGGER にお問い合わせください:チケット | SEGGER - The Embedded Experts 。
よろしくお願いします、
ジュリアン
現在、 J-Link Commander を使用してターゲットに接続できますが、 S32 Design Studioを介したフラッシュは正しく機能しません。リセット後に PC やレジスタの値が間違っていたり、アプリケーションが正しく起動しなかったりするなどの問題が発生しています。
現時点では、 SEGGER J-Link Baseのみが利用可能です。接続をクロスチェックするための別のデバッガーや EVB がありません。
SEGGER J-Link ファームウェアおよびソフトウェア バージョンが更新されました(S32DS で必要な V9.16)。さらなる分析のためにデバッグ ログ ファイルを共有します。
S32K344-WB ボードに特定のJ-Link または S32DS 構成が必要かどうかをお知らせください。
SWD経由でターゲットに接続する
ConfigTargetSettings() の開始
ConfigTargetSettings() 終了 - 787us かかりました
InitTarget() 開始
SDA_APが検出されました
必要に応じてデバイスのロックを解除しています...
デバイスはロックされていません。ロック解除手順を行わずに続行します。
デバッグ アクセスがすでに有効になっているかどうかを確認しています...
デバッグ アクセスはまだ有効になっていません。デバッグ アクセス シーケンスの有効化を実行しています...
デバッグアクセスが有効
HSE ファームウェアがインストールされているかどうかを確認しています...
HSEファームウェアがインストールされていません
Cortex-M7_0とCortex-M7_1がロックステップモードで動作しているかどうかを確認する
ロックステップモードが有効
InitTarget() 終了 - 16.5ms かかりました
ID 0x6BA02477 の SW-DP が見つかりました
DPIDR: 0x6BA02477
CoreSight SoC-400 以前
AP マップの検出をスキップしました。手動で構成された AP マップが見つかりました。
AP[0]: MEM-AP (IDR: 未設定、ADDR: 0x00000000)
AP[1]: APB-AP (IDR: 未設定、ADDR: 0x00000000)
AP[2]: MEM-AP (IDR: 未設定、ADDR: 0x00000000)
AP[3]: AHB-AP (IDR: 未設定、ADDR: 0x00000000)
AP[4]: AHB-AP (IDR: 未設定、ADDR: 0x00000000)
AP[5]: AHB-AP (IDR: 未設定、ADDR: 0x00000000)
AP[6]: MEM-AP (IDR: 未設定、ADDR: 0x00000000)
AP[7]: MEM-AP (IDR: 未設定、ADDR: 0x00000000)
AP[4]: ROMBASE読み取りをスキップしました。CoreBaseAddrはユーザーが手動で設定します
AP[4]: コア発見
CPUIDレジスタ: 0x411FC272。実装者コード: 0x41 (ARM)
キャッシュ: L1 I/Dキャッシュあり
Cortex-M7 r1p2、リトルエンディアンが見つかりました。
FPUnit: 8 つのコード (BP) スロットと 0 つのリテラル スロット
ROM テーブル スキャンはスキップされました。ユーザーが手動で設定した CoreBaseAddr: 0x40250400
I-Cache L1: 8 KB、128 セット、32 バイト/ライン、2 ウェイ
DキャッシュL1: 8 KB、64セット、32バイト/ライン、4ウェイ
SetupTarget() 開始
ECC RAM を初期化しています...
RAMコードアドレス: 0x20000000
RAM初期化アドレス: 0x20000010
RAM初期化サイズ: 0x00007FF0
初期化パターン: 0xDEADBEEF
ECC RAMが正常に初期化されました
ECC RAM を初期化しています...
RAMコードアドレス: 0x20000000
RAM初期化アドレス: 0x20400000
RAM初期化サイズ: 0x00004000
初期化パターン: 0xDEADBEEF
ECC RAMが正常に初期化されました
SetupTarget() 終了 - 22.2 ミリ秒かかりました
メモリゾーン:
ゾーン: 「デフォルト」 説明: デフォルトのアクセスモード
Cortex-M7 が識別されました。
J-Link>mem32 0x00400000, 16
00400000 = 5AA55AA5 00000001 00000000 00400800
00400010 = 00000000 00400800 00000000 00400800
00400020 = 00000000 00000000 00000000 00000000
00400030 = 00000000 00000000 00000000 00000000
00400040 = 00000000 00000000 00000000 00000000
00400050 = 00000000 00000000
J-Link>デバイス情報の実行
J-Link>エミュリストを表示
J-Link[0]: 接続: USB、シリアル番号: 59306081、製品名: J-Link、ニックネーム:
J-Link>mem32 0x4007C000, 16
メモリを読み取ることができませんでした。
J-Link>
こんにちは@ganavi1さん、
設定は問題ないようです。
J-Flash や J-Link コマンダーなどを使用して、正しく接続してフラッシュできますか?SEGGER には、K3 用の独自の Wiki ページがあります: NXP S32K3xx - SEGGER Knowledge Base 。
接続を試みる前に、MCU に何がプログラムされていたかご存知ですか?デバイスにはセキュリティまたはライフサイクルが設定されていますか?
接続をテストするための別のデバッガーまたは EVB をお持ちでしょうか?
最後に、デバッグ プローブと S32DS の両方に最新の SEGGER ファームウェアがインストールされているかどうかを確認します。デバッグ時にログ ファイルを共有できます。
よろしくお願いします、
ジュリアン
こんにちは
これは私のデバッグ構成です
S32プラットフォーム用のS32 Design StudioのIDEバージョン
バージョン: 3.5
ビルドID: 240924 (アップデート 14)
こんにちは@ganavi1さん、
これはおそらくデバッグ構成の問題です。まず、K344-WB と SEGGER プローブ間の接続をテストするために、空のクリーンなプロジェクトを作成してみてください。正しいアプリケーション (.elf) とデバイス名およびスクリプトが選択されていることを確認します。デバッグ構成は次のようになります。
よろしくお願いします、
ジュリアン
こんにちは!
S32K344-WB ボードでは、プロジェクトでカスタム メモリ マッピングを使用しない限り、通常、リンカー ファイルを変更する必要はありません。間違った PC 値とレジスタ値の原因として最も多いのは、間違ったコアの選択、誤ったリセット モード、デバッグ認証の欠落など、デバッガーの設定です。J-Link が正しい Cortex-M7 コア用に設定されていることを確認し、接続時に「リセットと停止」を使用し、リセット ベクターとスタック ポインターがフラッシュで適切に定義されていることを確認します。これはリンカーの問題ではなく、構成の問題です。