[Help] 無 /sys/class/gpio 目錄? [論壇 - 新手村]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

« 1 (2)


回覆: [Help] 無 /sys/class/gpio 目錄?
會員二級
註冊日期:
2016/4/18 12:29
所屬群組:
已註冊使用者
等級: 5
HP : 0 / 116
MP : 15 / 324
EXP: 67
離線
http://shyuanliang.blogspot.tw/2012/08/linux-gpio-driver-guide.html

Sysfs entries configuration有介紹

有人知道打開後的步驟嗎?
linux底層的部份怎麼跟實體IO溝通
謝謝

3/10 17:15:54
應用擴展 工具箱
回覆: [Help] 無 /sys/class/gpio 目錄?
會員二級
註冊日期:
2013/11/7 9:24
所屬群組:
已註冊使用者
等級: 7
HP : 0 / 166
MP : 25 / 1650
EXP: 65
離線
ubuntu_net2016 寫到:
http://shyuanliang.blogspot.tw/2012/08/linux-gpio-driver-guide.html

Sysfs entries configuration有介紹

有人知道打開後的步驟嗎?
linux底層的部份怎麼跟實體IO溝通
謝謝


http://shyuanliang.blogspot.tw/2012/08/linux-gpio-driver-guide.html 可以看到我之前提過的,你必需針對硬體的腳位是處理driver的初始化設計,一般至少必需包含pin assign/input or output/normal high or normal low等等,上面那篇中有大約提到重點。而這些完成了,只是driver層(也就是你說的linux底層,是屬於kernel space)的工作,至於User Space的控制,則是標題的/sys/class/gpio界面,它就只是一個比較單純的控制界面,可以read/write等等。

所以問題回到最初,你有pin腳的定義嗎?如果沒有,那後續的工作就沒有可能了...

3/10 17:54:19
應用擴展 工具箱
回覆: [Help] 無 /sys/class/gpio 目錄?
會員二級
註冊日期:
2016/4/18 12:29
所屬群組:
已註冊使用者
等級: 5
HP : 0 / 116
MP : 15 / 324
EXP: 67
離線

http://shyuanliang.blogspot.tw/2012/08/linux-gpio-driver-guide.html 可以看到我之前提過的,你必需針對硬體的腳位是處理driver的初始化設計,一般至少必需包含pin assign/input or output/normal high or normal low等等,上面那篇中有大約提到重點。而這些完成了,只是driver層(也就是你說的linux底層,是屬於kernel space)的工作,至於User Space的控制,則是標題的/sys/class/gpio界面,它就只是一個比較單純的控制界面,可以read/write等等。

所以問題回到最初,你有pin腳的定義嗎?如果沒有,那後續的工作就沒有可能了...

這部份可以取得,目前gpio剛好有兩種模式一個是直接從CPU GPIO出來,一個走i2c
User Space跟一些GPIO、MCU大約略懂,但linux跟GPIO、MCU就連結不上了Orz
簡單的說一個問題,透過menuconfig打開/.../gpio後,user space就可以讓程式R/W,
而其中程式碼寫在kernel裡,所以應該有一個動作將menuconfig跟程式碼(.o)做連結(僅為猜測,有錯還請指正)
但中間完全不懂,如有方向或資料還請各位先進幫忙
先謝謝各位

3/13 15:20:15
應用擴展 工具箱
回覆: [Help] 無 /sys/class/gpio 目錄?
會員二級
註冊日期:
2013/11/7 9:24
所屬群組:
已註冊使用者
等級: 7
HP : 0 / 166
MP : 25 / 1650
EXP: 65
離線
ubuntu_net2016 寫到:

這部份可以取得,目前gpio剛好有兩種模式一個是直接從CPU GPIO出來,一個走i2c
User Space跟一些GPIO、MCU大約略懂,但linux跟GPIO、MCU就連結不上了Orz
簡單的說一個問題,透過menuconfig打開/.../gpio後,user space就可以讓程式R/W,
而其中程式碼寫在kernel裡,所以應該有一個動作將menuconfig跟程式碼(.o)做連結(僅為猜測,有錯還請指正)
但中間完全不懂,如有方向或資料還請各位先進幫忙
先謝謝各位


你可能需要兩個方向的資訊來滿足你的需求:
1/如何編譯kernel
-> 透過這個步驟的了解,你可以選擇把driver編在kernel image中,或者是把它獨立編譯成.ko檔,再以insmod的方式手動或自動載入。過程中,你會看到 make menuconfig的運作原理,就會知道這個動作如何把你的原始碼加到編譯的參數中,有了以上的動作,就可以產出你要的kernel image或者是XXXX.ko了。

2/如何修改driver
-> 這裡不說撰寫而說修改,是因為原始的kenel中已有GPOI的程式碼,如果在步驟1中你已經可以明確的掌握檔案的路徑和生成的方式,就一定可以取得正確的現有原始碼來進行複製及修改,至於driver的寫法,有它標準的框架,可參考坊間的書藉,會比在網上看一堆零散的資料來得更有系統。

畢竟GPIO的功能可以很單純,也可以很複雜,要看你的實際應用案例,才能決定它的難度。建議你先有一些根基再來發問,否則這些東西不是可以靠簡單的討論就能馬上學會。

BR,
Mark Chang

3/13 16:05:57
應用擴展 工具箱
回覆: [Help] 無 /sys/class/gpio 目錄?
會員二級
註冊日期:
2016/4/18 12:29
所屬群組:
已註冊使用者
等級: 5
HP : 0 / 116
MP : 15 / 324
EXP: 67
離線
Mark Chang

真的很感謝您的指導,因為目前連個方向都沒有才有此問題
如Mark所說正想辦法打根基找方向
感謝回復

BR,
ubuntu_net2016

3/13 16:19:54
應用擴展 工具箱

« 1 (2)

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.