關於linux driver

我們生活周遭存在太多太多的 embedded system ,過去 embedded system 有專屬的 OS,現在 linux 也可以應用在嵌入式環境,不過本版將廣泛討論所有嵌入式系統不只 linux 喔,歡迎有這方面經驗或有興趣的朋友一同進來討論。

版主: chester

關於linux driver

文章iknowfish » 週二 12月 27, 2005 2:04 pm

各位先進

小弟背景,是數位ic design

不過,老師叫我研究,FPGA嵌入式系統 使用Excalibur EPXA1

可是後來發現,要寫linux driver

因為,我們是先用verilog完成數位硬體,然後在fpga板上實現

再來,就是針對硬體寫driver了

不過,小弟c語言,很破,看了一本"Linux device drive 2/e" O'REILLY出版的

裡面有好多好深的c語言,不曉得要從那邊小手

不知有沒有先進在研究linux driver 撰寫?

說一下經驗吧
iknowfish
可愛的小學生
可愛的小學生
 
文章: 6
註冊時間: 週二 12月 27, 2005 1:55 pm

文章adrian » 週二 12月 27, 2005 3:03 pm

基本上, 那一本Linux Device Driver就可以讓您學到很多東西了. 但您如果真的想要學會如何在Linux撰寫驅動程式的話, 強烈建議務必要有OS一定程度的觀念.

還有務必了解Linux Device Driver幾個entry point, 譬如: init, open, read, write這幾個基本的routine (當然還有很多routine, 書上有提及), 每一routine各司其職, 需了解每一個routine該做那些事情, 有了這些觀念, Linux Device Driver較容易上手.

如果有時間的話, 不妨可把那本書的每一範例搞懂且跑過, 可讓您對Linux Device Driver有更一步了解且會有一定程度的提升, 這點真的很重要喔!!XD

像小弟開始學的時候, OS觀念並不是很好, 就這樣跌跌撞撞學Linux Device Driver, 起初不知如何著手, 也是因為有跑書本裡的範例, 覺得那裡不清楚, 就想辦法搞懂, 漸漸地就對Linux Device Driver有觀念, 也覺得蠻有趣的. 加油囉~~~學Driver並不難, 唯有恆心就會有收穫喔!!XD.... ;-)
What a fascinating Linux it is!
adrian
可愛的小學生
可愛的小學生
 
文章: 33
註冊時間: 週六 10月 08, 2005 2:51 pm
來自: 台南

Re: 關於linux driver

文章pokkys » 週三 12月 28, 2005 1:03 am

iknowfish 寫:各位先進

小弟背景,是數位ic design

不過,老師叫我研究,FPGA嵌入式系統 使用Excalibur EPXA1

可是後來發現,要寫linux driver

因為,我們是先用verilog完成數位硬體,然後在fpga板上實現

再來,就是針對硬體寫driver了

不過,小弟c語言,很破,看了一本"Linux device drive 2/e" O'REILLY出版的

裡面有好多好深的c語言,不曉得要從那邊小手

不知有沒有先進在研究linux driver 撰寫?

說一下經驗吧


首先2/e是寫2.4版的,如果你用2.6 kernel請看3/e,說道下手喔,還是照書的進度。但是一般會先玩char device,他有一個scull範例,你先把程式碼看懂再來看其他的,因為char device是最簡單的。他那個範例也是整本最簡單的。

然而他的C並不是深奧,他有講他是用C來實現物間導向,所以看起來很"難看"。又用了很多gcc-ext的語法,可能不是一般C的讀本有辦法教你的。有些老師會在你看這個之前先讓你C讀過一次。C如果真的不行,只好卡關,沒有弄熟的話,因為根本無法前進。我也正在看,也是一個頭兩個大,共勉之。
pokkys
可愛的小學生
可愛的小學生
 
文章: 31
註冊時間: 週六 10月 09, 2004 8:52 pm

文章訪客 » 週三 12月 28, 2005 9:28 pm

嗯嗯,我os是裝red hat9所以kernel是2.4
訪客
 

文章訪客 » 週三 12月 28, 2005 9:38 pm

請問各位,你們看linux driver,是為了,以後自已作的硬體去寫嗎?

譬如,小弟我,是為了以後幫實驗室同學寫Video硬體去寫driver

不知,各位是如何?
訪客
 

文章temlin » 週五 12月 30, 2005 9:40 am

小弟也正在苦讀linux device drivers.2e
所以手邊/包包中隨時有一本c/c++.linux kernel...參考資料
雖然修過rtes.用過uclinux.玩過一點driver...
還是有點吃力
請問樓上幾位大大.因小弟是2.6版
歐萊理有出.3e嗎
另請教.小弟心中的疑惑
玩driver要不要買塊板子ㄋ
謝謝
temlin
可愛的小學生
可愛的小學生
 
文章: 3
註冊時間: 週五 12月 30, 2005 9:27 am

文章訪客 » 週五 12月 30, 2005 9:49 am

adrian 寫:基本上, 那一本Linux Device Driver就可以讓您學到很多東西了. 但您如果真的想要學會如何在Linux撰寫驅動程式的話, 強烈建議務必要有OS一定程度的觀念.


如果要寫2.6的Driver,可以去找LDD 3/e來看。如果要補強OS的基本工,可以再把Linux Kernel Development 2/e找來看,就可以相輔相成了。
訪客
 

文章aprotoss » 週五 12月 30, 2005 4:04 pm

LDD 2/e for 2.4 kernel 有中文版...
LDD 3/e for 2.6 kernel 沒中文版...

若無法立即購買(二本都不便宜)...
可以參考:
http://www.tldp.org/LDP/lkmpg/2.4/html/
http://www.tldp.org/LDP/lkmpg/2.6/html/

(看網址就知道版本的差別了!)

不過還是建議可以買一下,比較方便,
再者,要學LDD,多少也要了解OS運作,
及Linux kernel基本觀念!
才能事半功倍,不然光是個oops..就搞死人了! orz...

小弟也正在學,大家一起加油^^

p.s
小弟認為不見得一定要有板子,
不過有板子,更能接近實務,做起來也真實些...
但真的要好的開發板,都不便宜...(少說十張小朋友是跑不掉的...)
而且,還要考慮OS porting的問題!
這就又是個大問題了!
頭像
aprotoss
懵懂的國中生
懵懂的國中生
 
文章: 224
註冊時間: 週一 12月 01, 2003 2:11 am

文章iknowfish » 週日 1月 01, 2006 2:15 pm

請問各位大大
也是作linux device driver的研究嗎?

你們指導老師沒提供板子嗎?

我們老闆是提供一塊Excalibur EPXA1 是altera的板子

而且,他們還提供一個OS耶,download還蠻簡單的

不用自已porting OS

小弟認為,即然要作driver,就先暫時不管porting os的事,因為那也會花很多時間

小弟還有半年時間,因為國科會的追星計畫後期就要我寫driver了>.<
iknowfish
可愛的小學生
可愛的小學生
 
文章: 6
註冊時間: 週二 12月 27, 2005 1:55 pm


回到 embedded system

誰在線上

正在瀏覽這個版面的使用者:沒有註冊會員 和 1 位訪客

cron