2 xiaobu1990 xiaobu1990 于 2014.11.06 23:49 提问

spi驱动实时性如何实现

linux内核中的spi驱动一般都不考虑实时性,都是将message挂到spi控制器的queue上,然后调用
queue_work或者采用类似方法。

现在有个问题:现在有一款spi接口的芯片,希望对该芯片的spi写操作发下去之后能立即写入该芯片中,而不是需要经过某种调度方法之后才生效,与此同时,要保证其他spi接口芯片能正常工作。

那么就可以从2个方面考虑,修改sdk中spi驱动,或者放弃sdk中spi实现方法,重新做一套接口。

目前我想到的修改sdk的方法就是在将message添加到spi控制器queue的时候判断该消息优先级,如果高,则插入queue链表最前面,因为每次spi控制器从queue上取消息都是取第一个位置上的来处理,处理后就删掉,这样执行该message的等待时间就只有前一条消息的执行时间,理论上说这个时间最多也就是将fifo填满的时间,是us级的。

不知道各位还有没有什么比较好的方法,还请指教!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!