NXPサポートの皆様、
現在、TRACE32を使用してS32K312デバイスのデバッグを行っています。
S32K312は2つのコア(コア0とコア1)で構成されています。Core 0は問題なくデバッグできますが、Core 1で動作するコードはデバッグできません。
添付のスクリーンショットに示すように、Core 1によって実行されるソースコードにブレークポイントを設定しました。またカウンター変数を追加しましたが、その値がどんどん増えているのがわかり、コードが実際に実行されていることを示しています。しかし、ブレークポイントには到達しない。
Core 0とCore 1の両方を適切にデバッグするためにTRACE32の設定方法についてアドバイスいただけますか?
S32K312のマルチコアデバッグに必要な追加設定や初期化手順があれば、ご教示いただけると幸いです。
これが私のファイルcmmです
;--------------------------------------------------------------------------------
;@Title:S32KXXCVB-176(FLASH)のS32K312-M7デモ脚本
;@Description:
;プロセッサ内部のフラッシュにふるいデモアプリケーションをプログラムし、
;デモデバッグシナリオを設定します。
;このスクリプトはアプリケーションのフラッシュテンプレートとして使用できます。
;前提条件:
;* デバッグケーブルをJ205に接続
;または
;Combiprobe/uTraceをJ10に接続してください
;@Keywords:ARM、Cortex-M7、フラッシュ
;@Author:STK
;@Board:S32KXXCVB-176
; @Chip:S32K312-M7
;@Copyright:(C) 1989-2021 Lauterbach GmbH、TRACE32(R)のみでの使用許可
;--------------------------------------------------------------------------------
;$Id: s32k312_sieve_flash.cmm 17943 2021-07-12 15:34:31Z skrausse $
;WinCLEAR(ウィンクリア)
;--------------------------------------------------------------------------------
;デバッガを初期化して起動します
再セット
SYStem.RESet
SYStem.CPU S32K312-M7
;SYStem.CPU MWCT2016S-M7
SYStem.CONFIG.DEBUGPORTTYPE JTAG
もしCOMBIPROBE()||UTRACE()
(
SYStem.CONFIG.CONNECTOR MIPI20T
)
SYStem.オプション DUALPORT ON
SYStem.MemAccess DAP
SYStem.JtagClock 10MHz
Trace.DISable
システムシステム
;内部SRAMのECC init
DO C:\T32\demo\arm\hardware\s32k3\scripts\init_sram.cmm
;--------------------------------------------------------------------------------
;フラッシュプログラミング
;Prepare Flash プログラミング(宣言)
DO ~~/demo/arm/flash/s32k3.cmm PREPAREONLY
フラッシュ。ChangeType 0x10016000--0x1003FFFF NOP
フラッシュ.エレーズ.オール
FLASH.すべてを再プログラム
(
データ.LOAD.intelhex "project.hex"
;Dタ。LOAD.auto *
;Dタ。LOAD.s1record
;IVTヘッダーの追加
;Dタ。Set 0x00400000++0xF0 %Long 0x0 ;0 のイニットテーブル
;Dタ。設定0x00400000 %Long 0x5aa55aa5;マジックナンバー
;Dタ。設定0x00400004 %Long 0x00000001;ブート設定ワード(M7-0を有効にする)
;Dタ。0x0040000C %Long ADDRESSに設定してください。オフセット(__nvic_base);M7-0 アプリケーションコア Start adddress
;Dタ。セット0x00400024 %Long 0x00000000;LC設定アドレス
)
FLASH.ReProgram OFF
; --------------------------------------------------------------------------------
システムアップ
壊す
Data.LOAD.Elf "project.elf"/nocode
Go.direct main
システムモードアタッチ
TrOnchip.Set CORERESET OFF
; --------------------------------------------------------------------------------
窓をいくつか開ける
モード.Hll
再開まで今しばらくお待ちください。
こんにちは、@NghiaLX308さん
本当にS32K312の話をしているのですか?これは単一コアデバイスだからです:
よろしくお願いいたします。
ルーカス
こんにちは、 @lukaszadrapaさん。
申し訳ありません、それは私の間違いでした。
MCUは S32K322。
私のリポジトリには2つのバージョンがあります。1つはS32K324用でTrace32のインスタンスを2つ開きます。もう1つはS32K396用の非常にシンプルなもので、Trace32のインスタンスを1つだけ使用し、さらにコア間を切り替えるための2つのスクリプトがあります。これらのスクリプトを参考にして、独自の解決策を開発できます。
よろしくお願いいたします。
ルーカス
わかった。
ルカ・ザドラパさん、ありがとうございます。