Re: [問題] 怎麼用raspberry pi學kernel or driver

看板LinuxDev作者 (jimmytseng)時間10年前 (2014/03/27 12:56), 編輯推噓2(200)
留言2則, 2人參與, 最新討論串2/5 (看更多)
※ 引述《shihyu (shihyu)》之銘言: : 我最近買塊raspberry pi , 不過目前只會燒錄image 到sd card : 網路上找資料都偏應用程式, 不知道怎麼用raspberry pi 學kernel or driver? : 想請問一下應該要怎麼學? 有相關資料可以參考? : 謝謝 看來你是想透過raspberry pi去學embedded linux ? 那我推薦你幾個步驟 1. 學會使用cross compile toolchains。用交叉編譯出helloworld.ko,放在raspberry上載入此模組,有成功就代表你跨入第一步 2. 學會設定kernel的組態檔(make config/menuconfig),並不是說去了解kernel每個設定是在幹嘛,然後自行去挑選設定, 來達到kernel的最佳化,有能力這樣幹的人,不是狂熱分子就是在賣產品的公司了,你要找的是,依造需求看哪個kernel版本 適合raspberry pi或BCM2835這個chip、看有沒有高手分享raspberry的kernel組態檔、你要寫的driver,kernel有沒有支援 或是說有沒有把相關設定打開 3. 交叉編譯kernel (編譯一次時間滿久的) 4. driver有很多種,透過linux提供的API內去驅動硬體也是driver,直接去讀寫硬體的register達到驅動硬體也是driver 推薦你先從bootloader(推薦u-boot)下手,因為從bootloader的code去了解怎樣從基本I/O或是一些interface去驅動硬體 可以避免閱讀有OS架構的driver來搞混你(此步驟請搭配硬體spec效果更好) 5. 再來就是透過linux的規範去寫出在linux跑的driver,這就要看滿大量的文件了,你可以從外接I2C或是GPIO的裝置 開始下手,關於這個網路上也滿多教學 (推薦去買個I2C介面的RTC回來寫driver) -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 61.218.53.60 ※ 文章網址: http://www.ptt.cc/bbs/LinuxDev/M.1395896171.A.409.html

04/27 09:25, , 1F
PUSH
04/27 09:25, 1F

05/30 23:02, , 2F
對我很有幫助……謝謝您。
05/30 23:02, 2F
文章代碼(AID): #1JCwzhG9 (LinuxDev)
文章代碼(AID): #1JCwzhG9 (LinuxDev)