基於mini6410的linux驅動學習總結(一 驅動程序介紹)
1、什麼是驅動程序?
使硬件工作的軟件。
2、驅動分類
1)字符設備驅動
2)網絡接口驅動
3)塊設備驅動
2.1 字符設備
字符設備是一種按字節來訪問的設備,字符驅動則負責驅動字符設備,這樣的驅動通常實現open, close,read和write 系統調用。
2.2塊設備
1)在大部分的Unix 系統, 塊設備不能按字節處理數據,只能一次傳送一個或多個長度是512字節( 或一個更大的2 次冪的數)的整塊數據。
2)而Linux則允許塊設備傳送任意數目的字節。因此, 塊和字符設備的區別僅僅是驅動的與內核的接口不同。
2.3 網絡接口
任何網絡事務都通過一個接口來進行, 一個接口通常是一個硬件設備(eth0), 但是它也可以是一個純粹的軟件設備, 比如回環接口(lo)。一個網絡接口負責發送和接收數據
報文。
3、驅動程序安裝
1)模塊方式(已知J)
2)直接編譯進內核
直接編譯進內核
1)Kconfig
2)Makefile
例:將helloWorld編譯進內核