S32K344 - LPUART Tx Send Hard Fault

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

S32K344 - LPUART Tx Send Hard Fault

ソリューションへジャンプ
1,475件の閲覧回数
DiaDev
Contributor III

Hi,

I'm working on an S32K platform using FreeRTOS. I have two tasks (UartTask1 and UartTask2) that frequently call debug_log() to send messages over UART.

Logging structure:

  • debug_log() formats the message and enqueues it into a FreeRTOS queue.

  • A dedicated uart_log_task() dequeues and sends each message using Lpuart_Uart_Ip_AsyncSend().

  • UART TX completion is confirmed using a callback that sets a uart_tx_done flag.

  • A small vTaskDelay() is added after UART transmission in the log task — no queue overflow is observed.

Issue:
Every time UART starts sending, only a few characters are printed or sometimes garbage, and then the system hits a hard fault.

This happens consistently during UART transmission, not before.

Key finding:
When I isolate UART and test it outside of the logging system (no queue, no multiple tasks), it works fine. So the UART driver itself seems okay.

Question:

  • What could be causing this crash in the multitask logging setup?

  • Is it possible that a shared/static buffer (like tx_data) is getting overwritten or accessed before TX completes?

  • Are there specific precautions for using Lpuart_Uart_Ip_AsyncSend() with FreeRTOS and multiple tasks?

Any help or suggestions would be greatly appreciated.

Thanks in advance!


I have attached snippet code and lpuart config.

タグ(2)
0 件の賞賛
返信
1 解決策
1,420件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

try to identify a cause of hard fault. You can refer to: How To Debug A Fault Exception On ARM Cortex-M(V7M) MCU(S32K3XX)
Maybe just increasing stack, heap size can help.

BR, Petr

元の投稿で解決策を見る

0 件の賞賛
返信
1 返信
1,421件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

try to identify a cause of hard fault. You can refer to: How To Debug A Fault Exception On ARM Cortex-M(V7M) MCU(S32K3XX)
Maybe just increasing stack, heap size can help.

BR, Petr

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2131479%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ES32K344%20-%20LPUART%20Tx%20%E9%80%81%E4%BF%A1%E3%83%8F%E3%83%BC%E3%83%89%E9%9A%9C%E5%AE%B3%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2131479%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%3CP%3E%E7%A7%81%E3%81%AF%20FreeRTOS%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%20S32K%20%E3%83%97%E3%83%A9%E3%83%83%E3%83%88%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0%E3%81%A7%E4%BD%9C%E6%A5%AD%E3%81%97%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%80%82UART%20%E7%B5%8C%E7%94%B1%E3%81%A7%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E9%80%81%E4%BF%A1%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AB%20debug_log()%20%E3%82%92%E9%A0%BB%E7%B9%81%E3%81%AB%E5%91%BC%E3%81%B3%E5%87%BA%E3%81%99%202%20%E3%81%A4%E3%81%AE%E3%82%BF%E3%82%B9%E3%82%AF%20(UartTask1%20%E3%81%A8%20UartTask2)%20%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E3%83%AD%E3%82%B0%E6%A7%8B%E9%80%A0%3A%3C%2FSTRONG%3E%3C%2FP%3E%3CUL%3E%3CLI%3E%3CP%3Edebug_log()%20%E3%81%AF%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E3%83%95%E3%82%A9%E3%83%BC%E3%83%9E%E3%83%83%E3%83%88%E3%81%97%E3%80%81FreeRTOS%20%E3%82%AD%E3%83%A5%E3%83%BC%E3%81%AB%E3%82%A8%E3%83%B3%E3%82%AD%E3%83%A5%E3%83%BC%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3E%E5%B0%82%E7%94%A8%E3%81%AE%20uart_log_task()%20%E3%81%AF%E3%80%81Lpuart_Uart_Ip_AsyncSend()%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E5%90%84%E3%83%A1%E3%83%83%E3%82%BB%E3%83%BC%E3%82%B8%E3%82%92%E3%83%87%E3%82%AD%E3%83%A5%E3%83%BC%E3%81%97%E3%80%81%E9%80%81%E4%BF%A1%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3EUART%20TX%20%E3%81%AE%E5%AE%8C%E4%BA%86%E3%81%AF%E3%80%81uart_tx_done%20%E3%83%95%E3%83%A9%E3%82%B0%E3%82%92%E8%A8%AD%E5%AE%9A%E3%81%99%E3%82%8B%E3%82%B3%E3%83%BC%E3%83%AB%E3%83%90%E3%83%83%E3%82%AF%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E7%A2%BA%E8%AA%8D%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3E%E3%83%AD%E3%82%B0%20%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%A7%E3%81%AF%E3%80%81UART%20%E9%80%81%E4%BF%A1%E5%BE%8C%E3%81%AB%E5%B0%8F%E3%81%95%E3%81%AA%20vTaskDelay()%20%E3%81%8C%E8%BF%BD%E5%8A%A0%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%E3%82%AD%E3%83%A5%E3%83%BC%E3%81%AE%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%95%E3%83%AD%E3%83%BC%E3%81%AF%E7%99%BA%E7%94%9F%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%3CSTRONG%3E%E5%95%8F%E9%A1%8C%EF%BC%9A%3C%2FSTRONG%3E%3CBR%20%2F%3E%20UART%E3%81%8C%E9%80%81%E4%BF%A1%E3%82%92%E9%96%8B%E5%A7%8B%E3%81%99%E3%82%8B%E3%81%9F%E3%81%B3%E3%81%AB%E3%80%81%E6%95%B0%E6%96%87%E5%AD%97%E3%81%97%E3%81%8B%E5%8D%B0%E5%88%B7%E3%81%95%E3%82%8C%E3%81%AA%E3%81%8B%E3%81%A3%E3%81%9F%E3%82%8A%E3%80%81%E6%99%82%E3%81%AB%E3%81%AF%E6%96%87%E5%AD%97%E5%8C%96%E3%81%91%E3%81%97%E3%81%9F%E3%82%8A%E3%81%97%E3%81%A6%E3%80%81%E3%81%9D%E3%81%AE%E5%BE%8C%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%8C%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3E%E3%83%8F%E3%83%BC%E3%83%89%E3%83%95%E3%82%A9%E3%83%BC%E3%83%AB%E3%83%88%3C%2FSTRONG%3E%E3%80%82%3C%2FP%3E%3CP%3E%E3%81%93%E3%82%8C%E3%81%AF%E5%B8%B8%E3%81%AB%E8%B5%B7%E3%81%93%E3%82%8B%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3E%E3%81%9D%E3%81%AE%E9%96%93%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3EUART%20%E9%80%81%E4%BF%A1%E3%80%81%E4%BB%A5%E5%89%8D%E3%81%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E4%B8%BB%E3%81%AA%E8%AA%BF%E6%9F%BB%E7%B5%90%E6%9E%9C%3A%3C%2FSTRONG%3E%3CBR%20%2F%3E%20UART%E3%82%92%E5%88%86%E9%9B%A2%E3%81%97%E3%81%A6%E3%83%86%E3%82%B9%E3%83%88%E3%81%99%E3%82%8B%E3%81%A8%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3E%E4%BC%90%E6%8E%A1%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%81%AE%E5%A4%96%E5%81%B4%3C%2FSTRONG%3E%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%EF%BC%88%E3%82%AD%E3%83%A5%E3%83%BC%E3%82%84%E8%A4%87%E6%95%B0%E3%81%AE%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%AF%E4%B8%8D%E8%A6%81%EF%BC%89%3CSPAN%3E%26nbsp%3B%3C%2FSPAN%3E%3CSTRONG%3E%E5%A4%A7%E4%B8%88%E5%A4%AB%3C%2FSTRONG%3E%E3%80%82SO%E3%80%81UART%20%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E8%87%AA%E4%BD%93%E3%81%AF%E5%95%8F%E9%A1%8C%E3%81%AA%E3%81%84%E3%82%88%E3%81%86%E3%81%A7%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E8%B3%AA%E5%95%8F%EF%BC%9A%3C%2FSTRONG%3E%3C%2FP%3E%3CUL%3E%3CLI%3E%3CP%3E%E3%83%9E%E3%83%AB%E3%83%81%E3%82%BF%E3%82%B9%E3%82%AF%20%E3%83%AD%E3%82%B0%E8%A8%AD%E5%AE%9A%E3%81%A7%E3%81%93%E3%81%AE%E3%82%AF%E3%83%A9%E3%83%83%E3%82%B7%E3%83%A5%E3%81%8C%E7%99%BA%E7%94%9F%E3%81%99%E3%82%8B%E5%8E%9F%E5%9B%A0%E3%81%AF%E4%BD%95%E3%81%A7%E3%81%97%E3%82%87%E3%81%86%E3%81%8B%3F%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3ETX%20%E3%81%8C%E5%AE%8C%E4%BA%86%E3%81%99%E3%82%8B%E5%89%8D%E3%81%AB%E3%80%81%E5%85%B1%E6%9C%89%2F%E9%9D%99%E7%9A%84%E3%83%90%E3%83%83%E3%83%95%E3%82%A1%20(tx_data%20%E3%81%AA%E3%81%A9)%20%E3%81%8C%E4%B8%8A%E6%9B%B8%E3%81%8D%E3%81%95%E3%82%8C%E3%81%9F%E3%82%8A%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%95%E3%82%8C%E3%81%9F%E3%82%8A%E3%81%99%E3%82%8B%E5%8F%AF%E8%83%BD%E6%80%A7%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3C%2FLI%3E%3CLI%3E%3CP%3EFreeRTOS%20%E3%81%A8%E8%A4%87%E6%95%B0%E3%81%AE%E3%82%BF%E3%82%B9%E3%82%AF%E3%81%A7%20Lpuart_Uart_Ip_AsyncSend()%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%99%E3%82%8B%E5%A0%B4%E5%90%88%E3%80%81%E7%89%B9%E5%88%A5%E3%81%AA%E6%B3%A8%E6%84%8F%E4%BA%8B%E9%A0%85%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FP%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%E3%81%94%E5%8D%94%E5%8A%9B%E3%82%84%E3%81%94%E6%8F%90%E6%A1%88%E3%81%8C%E3%81%94%E3%81%96%E3%81%84%E3%81%BE%E3%81%97%E3%81%9F%E3%82%89%E3%80%81%E3%81%9C%E3%81%B2%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CP%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%EF%BC%81%3C%2FP%3E%3CP%3E%3CBR%20%2F%3E%E3%82%B9%E3%83%8B%E3%83%9A%E3%83%83%E3%83%88%20%E3%82%B3%E3%83%BC%E3%83%89%E3%81%A8%20lpuart%20%E6%A7%8B%E6%88%90%E3%82%92%E6%B7%BB%E4%BB%98%E3%81%97%E3%81%BE%E3%81%97%E3%81%9F%E3%80%82%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2134852%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%20translate%3D%22no%22%3ERe%3A%20S32K344%20-%20LPUART%20Tx%20Send%20Hard%20Fault%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2134852%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3E%E3%81%93%E3%82%93%E3%81%AB%E3%81%A1%E3%81%AF%E3%80%81%3C%2FP%3E%0A%3CP%3E%E3%83%8F%E3%83%BC%E3%83%89%E9%9A%9C%E5%AE%B3%E3%81%AE%E5%8E%9F%E5%9B%A0%E3%82%92%E7%89%B9%E5%AE%9A%E3%81%97%E3%81%A6%E3%81%8F%E3%81%A0%E3%81%95%E3%81%84%E3%80%82%3CSPAN%3E%E5%8F%82%E7%85%A7%3A%3C%2FSPAN%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2FS32K-Knowledge-Base%2FHow-To-Debug-A-Fault-Exception-On-ARM-Cortex-M-V7M-MCU-S32K3XX%2Fta-p%2F1595570%22%20target%3D%22_self%22%3E%20Arm%20Cortex-M(V7M)%20MCU(S32K3XX)%3C%2FA%3E%3CBR%20%2F%3E%20%E3%81%AE%E3%83%95%E3%82%A9%E3%83%BC%E3%83%AB%E3%83%88%E4%BE%8B%E5%A4%96%E3%82%92%E3%83%87%E3%83%90%E3%83%83%E3%82%B0%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%20%E3%82%B9%E3%82%BF%E3%83%83%E3%82%AF%E3%82%84%E3%83%92%E3%83%BC%E3%83%97%E3%82%B5%E3%82%A4%E3%82%BA%E3%82%92%E5%A2%97%E3%82%84%E3%81%99%E3%81%A0%E3%81%91%E3%81%A7%E3%82%82%E5%8A%B9%E6%9E%9C%E3%81%8C%E3%81%82%E3%82%8B%E3%81%8B%E3%82%82%E3%81%97%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%0A%3CP%3EBR%E3%80%81%E3%83%9A%E3%83%88%E3%83%AB%3C%2FP%3E%3C%2FLINGO-BODY%3E