LinuxDev 板


LINE

四軸快要做完(用到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變差就是 --



※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 90.41.58.242
※ 文章網址: https://webptt.com/m.aspx?n=bbs/LinuxDev/M.1455284459.A.EB8.html ※ 編輯: wtchen (90.41.58.242), 02/12/2016 21:43:28
1F:推 askacis: 一隻driver註冊I2C/SPI子系統,這兩個IP的IRQ應也是分開 02/12 22:24
2F:→ askacis: 所以可以在driver裡面卡同步機制去sync資料 02/12 22:25
3F:推 cobrasgo: 第一個可以透過hardware watchdog,如果硬體有的話 02/17 08:30
4F:→ cobrasgo: 第二個的話你沒有一個rtos應該不容易做到 02/17 08:31
5F:→ wtchen: 用Preempt RT kernel也不行嗎?我現在用這個 02/17 17:50
我的設計是這樣: i2c : 4 devices spi : 2 devices 如果單純用程式控制不透過i2c/spi driver,用mmap讀寫address, 可以把modules的delay降到最低 可是如果要用i2c/spi driver,有兩種作法 一種是用程式作sync(我個人不喜歡這種作法,沒啥挑戰性) program -> i2c module -> program (-> spi modules -> program) -> i2c module (有括號是因為spi裝置不需要頻率太高的讀取) 一種是另加一個module作sync program -> module[->i2c module(-> spi module) -> i2c module] 也就是說程式只看的到sync module這個 "四軸驅動程式", sync module直接跟i2c/spi modules溝通 所有的控制都在sync module裏面完成,包括雜訊處理跟姿態運算。 我真正想做的是這個,但我不清楚在Preempt RT Linux的架構下能不能做到
6F:→ wtchen: 其實我不太懂watchdog跟用script監控有啥分別 02/17 17:51
我不是很懂watchdog的必要性 如果我在rc.local裏面加個script執行我要的程式,像這樣: #!/bin/bash while true; do ps cax | grep QUADCOPTER > /dev/null if [ $? -eq 0 ]; then echo "Process is running." else echo "Process is not running." /home/pi/work/build/src/QUADCOPTER -> 我的程式 fi sleep 10 done 看起來似乎也能達成我要的效果 只是不知道跟watchdog比起來哪種比較好 (RPi有支援watchdog,我很想用看看,只是不知道有沒比較好) ※ 編輯: wtchen (86.200.247.70), 02/17/2016 18:10:17







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:BabyMother站內搜尋

TOP