一.Linux驅動的代碼重用有很多的方法,可以采用標準的C程序的方法將要重用的代碼放在其他的文件(在頭文件中聲明)中。如果要使用某些功能,include相應的頭文件即可,也可以是另外一種動態重用的方式,也是一個Linux驅動可以使用另外一個Linux驅動中的資源。蜂鳴器是?S3C6410?開發板上帶的一個硬件設備。可以通過向寄存器寫入特定的值來控制蜂鳴器 發出尖叫聲。學會了pwm的驅動實驗,本實驗將linux驅動區分成了多個實現文件。學會了編寫Makefile文件。知道了linux驅動模塊的依賴。通過實驗學會了linux驅動常用的代碼重用方式及強行卸載linux驅動的方法。PWM驅動的實現方式不同于LED,PWM驅動由多個文件組成。大多數Linux驅動的標準實現方式都是這種。一個復雜的驅動不會把所有代碼都放在一個文件中。相關的代碼會放在相應的文件中,在編譯Linux驅動時將這些文件進行聯合編譯。當開發一個Linux驅動時,在init、exit等函數中發生錯誤時,Linux驅動可能會安裝失敗。甚至使用rmmod命令也無法正常地來將LINUX驅動卸載。這時就需要將相應的Linux驅動的內存地址修改,實現對Linux驅動的卸載。
二.Linux驅動代碼的重用有兩種方式,第一種是靜態方式,就是通過include相應的頭文件,采用標準C程序的方式。另一種被稱為動態重用,使得一個Linux驅動可以使用另一個Linux驅動中的資源。
三.強行卸載Linux驅動。情況1:由于Linux驅動模塊的初始化函數進行了某些操作而崩潰,從而導致初始化函數無法正常返回。這種情況的表現是當前Linux驅動模塊沒有被任何其他的Linux驅動模塊使用,但卻顯示已經被引用了一次。請況2:卸載函數被阻塞。
蜂鳴器驅動。原理:通過脈沖來控制蜂鳴器。先將pwm.c和pwm_fun.c文件編譯成pwm.o和pwm_fun.o,然后將這兩個*.o文件鏈接成pwm_driver.o,最后生成ko文件?
http://i.cnblogs.com/EditPosts.aspx?opt=1
?