こんにちは、
RTD400とSPD105を使用し、開発ボードはS32K312 144P開発ボードです。
設定を行わずに、テスト対象の UART + DMA プログラムに FCCU モジュールを追加しました。ヘッダーファイルが参照されておらず、コード内でFCCU部分が初期化されていない場合でも、プログラムはClock_Ip_SetWaitStatesで停止します。
テスト対象の SPD モジュール プログラムに uart モジュールを通常どおり追加し (RAM およびフラッシュ インジェクション エラーを含む)、その後、設定を行わずに DMA モジュールを追加しました。ヘッダー ファイルと初期化 Fdma 部分がコード内で参照されていない場合でも、プログラムは Clock_Ip_SetWaitStates() 関数内にあります。その後、ハードウェア エラー割り込みが発生します。
FCCU モジュールを追加せずに UART + DMA のコードをアップロードしましたが、正常に動作しました。ただし、追加後はクロック初期化プログラムにハードウェア エラーが発生します。この原因は何でしょうか? また、この問題はどのように解決できるでしょうか?
同様の問題に遭遇しました。S32K312 のUART 割り込みモードを使用すると動作しますが、Dma_Ip_Init() および Rm_Init() の後にLpuart_Uart_Ip_AsyncSend () またはLpuart_Uart_Ip_AsyncReceive () を実行すると、 HardFault_Handler () に入ります。
サポートをお願いできますか。
こんにちは@ Neo1096
申し訳ございませんが、IAR をサポートすることはできません。変更するには、提供されているリンク ファイルを参照してください。
icf ファイルを提供してもらえますか?IARで使用する必要があります
こんにちは@ Neo1096
問題の原因を見つけました。
これは、S32 DS が提供するリンク ファイルの構成の問題が原因です。
SPD パッケージ内のリンク ファイルを S32 DS 内のリンク ファイルに置き換えると、この問題は解決できます。
SO、さらにテストを行うには、添付ファイルのリンク ファイルを参照してください。
こんにちは@ Neo1096
社内チームが問題を再現し、現在考えられる原因を排除しています。
更新日時: 2025年7月23日。
社内フォーラムからの返信はまだ受け取っていませんので、お待ちください。
更新日:2025年7月15日。
社内フォーラムからの返信はまだ受け取っていませんので、お待ちください。
更新データ:2025年7月7日。
こんにちは@ Neo1096
今朝再度プッシュしましたが、社内フォーラムからはまだ何の返答もありません。
これはバグかもしれません。何か見落としているかどうか、デザインチームに確認する必要があります。
現状では、DMA モジュールを追加すると、クロックの初期化時にハードファルト状態になります。
さまざまなバージョンでテストしましたが、結果は同じでした。
exceptions.cにコードを追加しましたStartup_Code フォルダーの下に、主にエラー注入によって発生したハードウェア エラーを処理するためにあります。その他の部分は変更ありません。
ご提供いただいたプロジェクト「S32K312_SPD104_DMA_UART」をテストしているときに、問題が発生しました。
原因はまだ見つかっていませんが、理論上は「S32K312_SPD104」と同じ設定であれば、このような問題は発生しないはずです。
明日、「S32K312_SPD104」のコードを修正してみます。
しばらく時間がかかります。また、起動ファイルが変更されている可能性があります。
以前アップロードしたコードは実行CAN。FCCU モジュールを個別に追加すると、操作が失敗します。
コードのコピーを2つ再アップロードしました。
正しく実行CANファイルは、SPD104 バージョンに基づいて RAM および FLASH インジェクション エラーをテストします。(S32K312_SPD104)
もう 1 つは正しく実行できません。これは、前のコードにDMA+UART部分を追加し、Clock_Ip_SetWaitStates(); ハードウェア割り込みを入力します(S32K312_SPD104_DMA_UART)
ぜひご覧ください。ありがとう。
こんにちは@ Neo1096
まず、提供されたプロジェクトをテストしましたが、おっしゃった問題は発生しませんでした。CANさらに詳しい情報と、変更が必要かどうかを教えてください。
第二に、SPDバージョン4.0.0に対応するP24は1.0.4のはずです。バージョン1.0.4をインストールしてもう一度お試しください