[問題] 四軸程式化或模組化的問題

作者: 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