LINUX驅動筆記 目錄


筆記參考了宋寶華老師的《Linux設備驅動開發詳解:基於最新的Linux 4.0內核》以及韋東山老師的嵌入式驅動教程

筆記開發環境:

單板:第一章到第八章使用TINY4412-1611;第九章及之后章節使用iTOP4412_SCP精英版

編譯工具鏈:arm-linux-gcc-4.3.2

內核版本:linux-3.5-20170221

busybox版本:busybox-1.20.0

 

重要知識點會使用加粗字體

 

1、驅動基礎系統調用過程

2、點亮LED字符驅動框架;完成init()和exit();完成write()、open()和release();LED字符驅動完整代碼

3、中斷分析以及按鍵中斷內核中斷分析;等待隊列;按鍵中斷字符驅動程序;中斷的底半部機制;中斷共享

4、poll()、select()和epoll()poll()函數;select()函數;epoll()函數;poll()、select()和epoll()的區別;驅動程序的poll()函數

5、並發控制:並發與競態;中斷屏蔽;原子操作;自旋鎖;信號量;互斥體;互斥體和自旋鎖的選擇

6、異步通知:應用程序異步通知signal();驅動程序異步通知fasync()

7、內核定時器內核定時器的使用方法;完整代碼

8、輸入子系統輸入子系統分層;input.c分析;input_dev;input_handler;input_dev和input_handler的連接過程;總結;更改key.c為輸入子系統

9、總線設備驅動模型platform_device;platform_driver;platform_bus_type;總結;更改led.c為總線設備驅動

10、LCD的framebuffer設備驅動fb_info;fb_ops;framebuffer驅動調用流程

11、三星平台framebuffer驅動平台驅動使用的結構體;platform_driver;platform_device;關系總結;s3cfb_lcd

12、使用PWM調整LCD背光亮度用戶空間調整背光亮度;PWM子系統;三星平台驅動分析

13、GPIO子系統gpio_direction_output()分析;內核中GPIO的使用函數;LED驅動優化

14、i2c子系統i2c框架分析;核心層提供的注冊函數;i2c-s3c2410.c文件分析;設備驅動層程序編寫過程

15、電容觸摸屏驅動電容觸摸屏檢測原理;電容觸摸屏控制芯片驅動分析;自己實現觸摸屏驅動

16、USB驅動USB固件和USB傳輸方式;Linux USB設備驅動模型;USB數據傳輸;USB鼠標設備驅動

17、塊設備驅動塊設備概念和讀寫過程;塊設備框架分析;塊設備驅動編寫步驟

18、Nand Flash驅動和Nor Flash驅動Nand Flash驅動分析;MTD子系統框架分析;Nor Flash驅動分析;Nand Flash驅動和Nor Flash驅動編寫

19、eMMC驅動框架分析MMC簡介;MMC框架分析;MMC驅動框架總結

20、網卡框架分析、虛擬網卡驅動和DM9621驅動分析網絡設備驅動的結構;網絡設備驅動分析;虛擬網卡驅動編寫過程及代碼;DM9621驅動分析

21、RTC驅動RTC設備驅動分析;修改內核支持RTC

22、DMA驅動DMA簡介;DMA Engine介紹和DMA設備驅動步驟;DMA設備驅動程序

23、uevnet機制和U盤自動掛載uevent機制;編輯mdev.conf實現U盤自動掛載

24、V4L2框架主要結構體分析和虛擬攝像頭驅動編寫V4L2框架主要結構體分析核心層提供的注冊函數;v4l2_device和video_device的file_operations分析;v4l2.c的init()函數分析;數據傳輸和控制結構體分析;虛擬攝像頭驅動vivi.c虛擬機測試;ioctl()執行過程和v4l2_ioctl_ops必需函數指針的確定;數據的獲取過程;虛擬攝像頭驅動程序編寫過程

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM