[问题] 四轴程式化或模组化的问题

楼主: wtchen (没有存在感的人)   2016-02-12 21:40:57
四轴快要做完(用到SPI+I2C+GPIO),正在想要怎么启动所有硬件才好。
现在有两个方案:
一个就是用程式启动,在rc.local里设定开机后自动加载,
(程式不经由任何module直接控制SPI/I2C/GPI)
可是这边有一个问题是,如果程式无故crash(虽然现在没遇到过)
我需要一个机制让程式重新启动(当该程式已经不在执行状态时)
请问有无建议?
程式我已经差不多写好了,借由RT linux kenel的帮助
latency可以稳定缩小到1ms内(控制周期为4ms,这样算及格了)
另一个是模组化,变成我要写一个module去控制I2C/SPI/GPIO modules
我不知道这要怎么做到,我自己的理解是,
这好像用一个module去控制两个usb device一样,
手上的书有提到都是分别控制I2C/SPI的,没提到合在一起怎么解决。
因为I2C的control要随着SPI读到的数据改变,所以一定要有一个module两边都能沟通
不知道这两种方案孰优孰劣,板上先进可否指教?
用第2种方案我有点怕因为module化而使latency变差就是
作者: askacis (ASKA)   2016-02-12 22:24:00
一只driver注册I2C/SPI子系统,这两个IP的IRQ应也是分开所以可以在driver里面卡同步机制去sync资料
作者: cobrasgo (人鱼线变成鲔鱼线,超帅)   2016-02-17 08:30:00
第一个可以透过hardware watchdog,如果硬件有的话第二个的话你没有一个rtos应该不容易做到
楼主: wtchen (没有存在感的人)   2016-02-17 17:50:00
用Preempt RT kernel也不行吗?我现在用这个其实我不太懂watchdog跟用script监控有啥分别

Links booklink

Contact Us: admin [ a t ] ucptt.com