2153347_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2153347_ja-JP

2153347_ja-JP

S32K322 デュアルコアの J-link によるデバッグ

こんにちは、NXPサポートチームの皆様。

ターゲット: S32K322

デバッガー H/W: J-link/J-trace。


現在、アプリケーションが起動して cm7_0 main に到達し、実行すると IDE がハングします。


core0 と core1 が独立して実行され、core1 をリセットしても core0 はリセットされず、その逆も同様であるデュアル コアのデバッグを行うために専門家の指導が欲しかったです。

core1 アプリケーションにブレークポイントを設定する方法。

現在、下記に添付されているアプリケーションを使用しています。

私がやろうとしているのは、core1 が LED を切り替える間に core0 が UART で SO 通信を行うことです。コードはまだ完全ではありませんが、参照することは可能です。

さらに、UART0 を core0 から初期化し、UART1 を core1 から初期化すると、何か問題が発生するかどうかも知りたいです。

core0 と core1 に異なる GPIO 構成を使用した場合、競合が発生しますか?


よろしくお願いします。



Re: S32K322 Dual Core debugging with J-link

こんにちは@AbdNxpさん

はい、S32DS IDE から J-trace を使用してマルチコア アプリケーションをデバッグできます。

残念ながら、現在 S32K322 HW を持っていません。

ここでは、投稿したスクリーンショットとは異なり、両方のコアが異なるフラッシュ ブロックで動作していることがわかります。

danielmartynek_0-1757078605716.png

S32K324 にアプリケーションをロードしようとしましたが、可能なはずですが、異なるエラーが発生しました。

2 番目のコアのデバッグ構成では、これを無効にする必要があります。

danielmartynek_1-1757078876713.png

しかし、プロジェクトにはそれがあります。


よろしくお願いいたします。

ダニエル



Re: S32K322 Dual Core debugging with J-link

こんにちは、ダニエル。

SO、J-link/J-trace Pro でアプリケーションを実行できるのですか?

何度か試してみましたが、実行できませんでした。


Re: S32K322 Dual Core debugging with J-link

こんにちは@AbdNxpさん

まだ問題を再現できません。

ただし、S32DS IDEs では、この機能は SEGGER プラグインによって提供されることに注意してください。

SEGGER サポートにも問い合わせることをお勧めします。



よろしくお願い申し上げます。

Re: S32K322 Dual Core debugging with J-link

こんにちは、ダニエルさん

プロジェクトを添付しました。

Re: S32K322 Dual Core debugging with J-link

こんにちは@AbdNxpさん

この動作を再現できません。

CM7_1 の 2 番目のデバッグ セッションでは、最初のデバッグ セッションと同じメモリ領域 (0x400000) からコードをデバッグするようです。

CANテストプロジェクトを共有していただけますか?


よろしくお願い申し上げます。


Re: S32K322 Dual Core debugging with J-link

私はすでにグループデバッグを使用していますが、問題はデバッグセッション中に S32DS IDEs がハングしたり応答しなくなったりすることです。

下の画像をご覧ください

AbdNxp_1-1755583551737.png


AbdNxp_0-1755583463815.png

また、CM7_1 のポイントの While(1) ループのどこかにブレークを配置しても、ブレーク ポイントはヒットしません。

Re: S32K322 Dual Core debugging with J-link

こんにちは@AbdNxpさん

S32 Design Studio の SEGGER プラグインはデバッグ グループの起動をサポートしており、複数のコアを同時にプログラムおよびデバッグできます。

https://community.nxp.com/t5/S32K/How-to-Use-Jlink-to-Debug-S32K324-Dual-Core-On-S32KDS3-5/td-p/1924...


... core1 をリセットしても core0 はリセットされず、その逆も同様です。

デュアルコア アーキテクチャにもかかわらず、一方のコアが実行を継続している間にもう一方のコアを個別にリセットすることはできません。この制限は、S32K3xx ファミリの共有リセット アーキテクチャによるものです。リセットイベント情報 は両方のコアに影響するため、デバッグ中に個別のコア リセットを行うことは不可能になります。


さらに、UART0 を core0 から初期化し、UART1 を core1 から初期化すると、何か問題が発生するかどうかも知りたいです。

core0 と core1 に異なる GPIO 構成を使用した場合、競合が発生しますか?


CM7_0 から UART0 を、CM7_1 から UART1 を安全に初期化CAN。この設定は、各コアが重複することなく指定されたペリフェラルにアクセスする限り有効です。

コア間のアクセス制御を強制するには、XRDC (eXtended Resource Domain Controller) を構成できます。

  • CM7_0 と CM7_1 に個別のドメインを作成します。
  • LPUART モジュールや GPIO などのペリフェラルを特定のドメインに割り当てます。
  • これにより、CM7_0 は CM7_1 のリソースにアクセスできなくなり、その逆も同様になります。

よろしくお願いいたします。

ダニエル




Re: S32K322 Dual Core debugging with J-link

この問題は解決しましたか?私もS32K388のデバッグにJ-Linkを使用していた際に、同様の現象に遭遇しました。1コアリンクファイルはデフォルト0x00800000に設定されていますが、PCは実行時に0x402624を表示します(これは0コアのフラッシュアドレスです)#s32k388

Tags (1)
No ratings
Version history
Last update:
Friday
Updated by: