mt8227LGO 平臺 串口1 rx 端配置問題

平臺 :MT8227LGO

現象: 系統運行測試案例 通過串口1 讀取子設備端不斷髮來的數據,發現程序運行的時候在read 函數阻塞了2分鐘

             左右纔開始正常讀取數據

分析 :1.串口驅動是使用 tty的模式註冊的 所以函數的調用 tty_read -> n_tty_read-> copy_from_read_buf,數據是通過read_buf

這個buf 傳輸的

               2. read_buf 的數據 通過中斷函數mtk_uart_rx_handler 獲取的,通過測試發現兩分鐘內無法讀取數據是由於mtk_uart_irq 中斷沒被觸發也就沒調用mtk_uart_rx_handler 導致阻塞的

 

進一步排查 中斷爲什麼在兩分鐘內沒被觸發

   串口1 的接受模式爲 UART_RX_VFIFO_DMA ,此模式設置導致了此問題,改爲 UART_NON_DMA 即可

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章