驅動學習實戰一:
編寫簡單的驅動:
利用:lsmod rmmod insmode這個三個常見命令
驅動學習實戰二:
register_chrdev詳解(#include ) 老介面的函式
static inline int register_chrdev(unsigned int major, const char *name,const struct file_operations *fops)
引數: 1.major主裝置號
引數2: 名字 總結: 主次裝置號 +name = 人 +名字
引數3: struct file_operations *fops這個是應用和驅動的介面 也就是核心
主要的作用是核心驅動人員向核心提供的介面。
寫檔案之前先看。
lsmod 檢視當前註冊的驅動
cat /proc/devices 虛擬檔案系統
驅動學習是實戰三:
register_chrdev內部將我們要註冊的驅動的資訊,儲存在對應的位置
cat /proc/deviecs 檢視核心中已經註冊過的字元裝置驅動(塊裝置驅動)
/proc檔案系統是核心 利用資料結構虛擬出來的檔案系統
驅動學習實戰:學驅動的思維
1.在自己的思想中建立整體的框架
2.整體是乙個什麼樣子的 ,誰呼叫誰,誰被誰呼叫 誰的作用是什麼
3.在核心中找到相應的核心源**,自己進行修改
4.你寫的每一句**心裡必須清楚明白,不能似懂非懂
5.自己寫的**首先會先猜測,到底是那種可能,然後實驗來驗證這種可能
6.驅動人員的主要工作量:file_operations及其元素填充,註冊驅動
http基礎實戰
了解http的基礎知識,能看懂chrome下網路的情況 下面是tcp ip協議的一些東西,今天就只用了解應用層的http就夠了。我們在網上瀏覽網頁,會傳送乙個http請求給伺服器,服務端識別了這個http請求會返回乙個http響應給客戶端。就是乙個請求,響應的模式。那麼,http請求和http響應包...
測試驅動開發 TDD 實戰體驗
環境 需求 我們有這樣子的乙個需求 客戶需要乙個長方形,能夠給長方形設定寬和高,並且能夠計算面積 1.編寫測試用例class rectangle public void setheight double height public class rectangletest 2.執行測試用例 就會看到測...
Linux驅動開發實戰的步驟
對於乙個嵌入式工程師來說,正確的開發驅動的步驟是什麼?總結如下 1.閱讀裝置的datasheet spec和開發板的原理圖,重點搞清楚裝置的連線,驅動電源,驅動時鐘,資料的讀寫方式,初始化流程。2.寫驅動程式,分兩步分 1 參考linux的其他驅動原始碼,充分借鑑和復用。如果沒有復用的原始碼,先想清...