XMC 1300:ハードフォルトの理由を取得する方法

Tip / ログイン to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは
EVAL_IM_FLEX_ADAPTER_V1 SPIとEEPROMを含む DAVE™ でXMC1300用のプログラムを作成します。
タイマー割り込みを有効にすると、プログラムがハードフォルトハンドラにブレークするので、その理由を知りたいです。
誰かが私にこれの理由を得る方法をステップバイステップのチュートリアルを与えてもらえますか?
CFSR Registerを見てみる必要があることはわかっていますが、方法がわかりません。

よろしくお願いします、

ルイ

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/XMC/XMC-1300-How-to-get-the-reason-for-hard-fault/td-p/673779

0 件の賞賛
1 解決策
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @louishoppe

XMC 1300 には m0 が Arm® Cortex® つあり、CFSR (Configurable fault status register) または HFSR(Hard fault status register) レジスタがありません。

そのため、上記のレジスタを使用して Arm® Cortex® m0 のハード フォールトをデバッグすることはできません。

あなたが言及したように、あなたのプログラムはタイマー割り込みを有効にするとハードフォルトハンドラにブレークします。

したがって、以下の手順に従ってください。

1)デバッグを開始し、タイマー割り込み機能を有効にする開始時にブレークポイントを設定することをお勧めします。

2)次に、ブレークポイントに達するまでプログラムを実行します。

3)次に、ハード障害の原因となっているラインに到達するまでステップインします。

4)IPSRレジスタを観察することで確認できます(0x3の値はハードフォルトを示します)

以下のガイドでは、「障害処理」セクションのハード障害の潜在的な原因について説明します。

6EDL_SPI_LINK : https://developer.arm.com/documentation/dui0497/a/the-cortex-m0-processor/fault-handling?lang=en

これがお役に立てば幸いですし、さらに質問がある場合はお知らせください。

よろしくお願いいたします
プラディープ

 

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/XMC/XMC-1300-How-to-get-the-reason-for-hard-fault/m-p/674772

元の投稿で解決策を見る

0 件の賞賛
2 返答(返信)
Translation_Bot
Community Manager
Community Manager
Community Manager

こんにちは @louishoppe

XMC 1300 には m0 が Arm® Cortex® つあり、CFSR (Configurable fault status register) または HFSR(Hard fault status register) レジスタがありません。

そのため、上記のレジスタを使用して Arm® Cortex® m0 のハード フォールトをデバッグすることはできません。

あなたが言及したように、あなたのプログラムはタイマー割り込みを有効にするとハードフォルトハンドラにブレークします。

したがって、以下の手順に従ってください。

1)デバッグを開始し、タイマー割り込み機能を有効にする開始時にブレークポイントを設定することをお勧めします。

2)次に、ブレークポイントに達するまでプログラムを実行します。

3)次に、ハード障害の原因となっているラインに到達するまでステップインします。

4)IPSRレジスタを観察することで確認できます(0x3の値はハードフォルトを示します)

以下のガイドでは、「障害処理」セクションのハード障害の潜在的な原因について説明します。

6EDL_SPI_LINK : https://developer.arm.com/documentation/dui0497/a/the-cortex-m0-processor/fault-handling?lang=en

これがお役に立てば幸いですし、さらに質問がある場合はお知らせください。

よろしくお願いいたします
プラディープ

 

 

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/XMC/XMC-1300-How-to-get-the-reason-for-hard-fault/m-p/674772

0 件の賞賛
Translation_Bot
Community Manager
Community Manager
Community Manager

ご回答ありがとうございます。 XMC 1300ではそれについて何も見つからなかったのはそのためだと思います。 知っておくと良いです。
私はすでにブレークポイントでコードを進めてきましたが、Systimerの割り込みイベントを待っている間は常にクラッシュしました。 コードのいくつかの(ランダムな)行を削除すると、正常に機能しました。 ADC、LCDディスプレイ、周辺機器などに対するすべての定期的な割り込みに追いつくことができなかったため、スタックオーバーフローに入った TESTBOARD_150PC_OUT になります。 linker_script.ld のstack_sizeを 2048 に増やすと、問題は解決しました。

とにかく、あなたの助けに感謝します。

ご挨拶、ルイ

smartconx_target@Q!w2e3r4t5y6u7i8o9p0||/t5/XMC/XMC-1300-How-to-get-the-reason-for-hard-fault/m-p/674782

0 件の賞賛