Linux設備驅動進階學習專欄彙總(強烈建議收藏)

作為一個驅動開發工程師,你一定不甘於僅僅只會使用各外設驅動的開發,而不知各外設子系統的內部實現。本專欄則主要是各外設子系統學習專欄的分類與彙總。經過一段時間的文章編寫,筆者完成了一部分Linux內核各外設子系統的學習文章,本章我把之前的學習文檔進行整理分類。

本次專欄主要分為基礎篇、設備驅動模型篇、各外設子系統設計分析篇進行說明 。本專欄彙總的內容主要是對LINUX設備驅動各子系統內部的設計實現進行分析說明,因此需要讀者具備一定的設備驅動開發能力,且希望學習與理解外設子系統的內部設計與實現流程。

本專欄彙總的文章是我近一年對LINUX內核各外設子系統實現的分析文檔,主要基於我自己的理解進行說明,裡面難免存在一些錯誤的表述,還請大家斧正。

基礎篇

針對Linux設備驅動而言,設備驅動模型貫徹始終,當我們徹底理解了設備驅動模型後,再學習各外設子系統的學習就比較容易。而設備驅動模型則依賴於SYSFS文件系統,因此我們有必要熟悉SYSFS文件系統的內容;而學習SYSFS文件系統,則需要理解VFS的概念,因此基礎篇主要涉及VFS、SYSFS文件系統的介紹,對於想要提高自己的同學,還是可以簡要熟悉一下的。這部分主要提供瞭如下幾篇文章。


LINUX VFS系統專欄

該專欄偏重於代碼的分析,主要基於linux 3.10內核分析的,不建議大家詳細看了,大概看下前三章就可以了(好久沒有看,這部分我也忘的差不多了。。。)。


Linux sysfs文件系統分析專欄

該專欄主要介紹sysfs文件系統的實現,而設備驅動模型則大部分藉助sysfs文件系統實現的,因此這部分內容可以詳細看下。


設備驅動模型篇

本篇章主要介紹LINUX設備驅動模型,理解了設備驅動模型,則可以很好的理解各外設子系統的設計與實現,因此這部分內容建議詳細看看。

LINUX設備驅動模型專欄


各外設子系統設計分析篇

在對上面兩個篇章內容有了理解後,那就開始進入外設子系統的學習,該篇章主要涉及platform 、字符設備、混雜設備、RTC子系統、IIC子系統、SPI子系統、MMC子系統、MTD子系統、NAND子系統、UART子系統、TTY子系統、MII BUS子系統、INPUT子系統、LED子系統、HWMON子系統、GPIO子系統、PWM子系統、PINCTRL子系統、REGULATOR子系統、CCF子系統、REGMAP子系同等。


LINUX Platform分析

LINUX字符設備相關的分析專欄


LINUX IIC子系統分析專欄

LINUX SPI子系統分析專欄

LIUNX MMC 子系統分析專欄

LINUX MII management/MDIO總線子系統專欄


LINUX MTD子系統專欄


LINUX NAND FLASH子系統專欄

LINUX TTY子系統專欄


LINUX UART子系統專欄


LINUX INPUT子系統專欄


LINUX HWMON子系統專欄

LINUX GPIO子系統專欄

LINUX LED子系統專欄

LINUX PWM子系統專欄

LINUX PINCTRL子系統專欄

LINUX REGMAP子系統專欄

LINUX CCF子系統專欄

LINUX REGULATOR子系統專欄

以上就是我這僅一年時間完成的LINUX外設子系統分析專欄的主要內容,這一年的學習也使我收穫很多,希望對大家有所幫助。


分享到:


相關文章: