xiaobu1990 2014-11-06 15:49 采纳率: 0%
浏览 1747

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级的。

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

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 Matlab问题解答有两个问题
    • ¥50 Oracle Kubernetes服务器集群主节点无法访问,工作节点可以访问
    • ¥15 LCD12864中文显示
    • ¥15 在使用CH341SER.EXE时不小心把所有驱动文件删除了怎么解决
    • ¥15 gsoap生成onvif框架
    • ¥15 有关sql server business intellige安装,包括SSDT、SSMS。
    • ¥15 stm32的can接口不能收发数据
    • ¥15 目标检测算法移植到arm开发板
    • ¥15 利用JD51设计温度报警系统
    • ¥15 快手联盟怎么快速的跑出建立模型