作者juichangkuo (..)
看板LinuxDev
标题Re: [问题] Linux serial port 回应速度最小化
时间Fri Dec 21 13:04:50 2012
把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
1F:推 leolarrel:怕的是UART 的中断不保证是最先被优先处理的,中断优先 12/22 00:34
2F:→ leolarrel:权的问题 12/22 00:35
3F:推 godspeedlee:我有找到一个irqtune,不过只能给x86用...0rz 12/22 10:10