看板 LinuxDev 關於我們 聯絡資訊
把user space要做的事寫在kernel裡 在uart controller ISR裡檢查PC來的data再做相應處理 uart controller拉interrupt時cpu interrupt沒有被disable cpu速度夠快的話,應該可以在1ms內回應 但不知道你的應用架構允不允許這麼做 ※ 引述《godspeedlee (妳,我可以)》之銘言: : 問題: : 我的實驗是這樣的 : 1. PC serial port --> 'A' --> Linux device serial port : 2. PC serial port <-- 'A' <-- Linux device serial port : 1. PC 先送 'A' 給 Linux device,2. Linux device 收到 : 'A' 後馬上回傳給 PC : 就是不斷重複 1-2 的步驟而已,小弟希望 Linux device : 從收到 'A' 到回傳 'A' 給 PC 這之間的時間間隔越小越好, : 也就是下面的 delay 越小越好 : ___[PC TX FRAME]___ : delay ___[LINUX DEVICE TX FRAME]___ : 目前用了以下方法也只能減少到 3.8ms 左右(用示波器觀察), : 希望能壓到 1ms <=,不知道各位先進有沒有什麼密技?現在 : 小弟只剩進 kernel mode 這一招了(P.S process 已經以 : root 權限執行) : (1) nice -20,效果不大 : (2) sched_setscheduler() 代入最高 priority,並且設定為 : SCHED_FIFO,這大概是效果最好的了,因為訊號已經不會抖動 : 感謝各位!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 219.87.150.73
leolarrel:怕的是UART 的中斷不保證是最先被優先處理的,中斷優先 12/22 00:34
leolarrel:權的問題 12/22 00:35
godspeedlee:我有找到一個irqtune,不過只能給x86用...0rz 12/22 10:10