Linux内核编程11期:设备树(device tree)
設備樹(device tree)機制是Linux內核從linux-3.x版本開始引進的一種機制,目的是解決內核源碼的arch/arm目錄下代碼混亂的問題:隨著ARM生態的快速發展,在內核源碼的arch/arm目錄下,存放著幾十種arm芯片和幾百個開發板相關的源文件,很多開發板和處理器的中斷、寄存器等相關硬件資源都在這個目錄下以.c或.h的文件格式定義。而對于內核來說,與這些硬件耦合,會導致內核代碼混亂不堪,每個開發板上運行的內核鏡像都必須單獨編譯配置,無法通用。什么時候Linux內核能像Windows鏡像那樣,無論你的電腦什么配置,一個Windows安裝包,都可以直接下載安裝運行呢?
設備樹機制,實現了Linux內核和硬件平臺的解耦:每個硬件平臺的硬件資源使用一個設備樹文件(xxx.dts)來描述,而不是在arch/arm下以.c 或 .h 文件來定義。Linux內核是一個通用的內核,在啟動過程中,在通過解析設備樹中的硬件資源來初始化某個具體的平臺。
引入設備樹后,很多和內核驅動開發的工作也發生了變化:以往驅動工程師關注的頭文件宏定義、寄存器定義,現在這些基本上不用關注,關注的重點則轉向了如何根據硬件平臺去配置和修改設備樹文件。很多驅動的編程接口也發生了變化,開始慢慢使用device tree提供的編程接口去開發驅動。
本期課程主要面向嵌入式開發人員,分享Linux下驅動開發所需要的設備樹知識和技能,學完本期課程,預期收獲如下:
- 徹底看懂Linux設備樹文件
- 能熟練修改和配置設備樹文件
- 掌握基于設備樹的platform driver驅動編寫方法
- 掌握gpio和pinctrl的配置
- 學習SoC芯片架構、總線機制
- 對設備樹運行機制有系統理解
- 熟練掌握設備樹的編程接口(驅動開發中常用)
本期課程一共35個課時,課程總時長:08小時39分15秒,和本次課程相關的PPT文檔、代碼、流程圖(PDF版本)已上傳網盤,已購課學員請及時下載觀看學習。
課程的詳細目錄如下:
本期課程已發布到CSDN學院:https://download.csdn.net/course/detail/37149https://download.csdn.net/course/detail/37149
總結
以上是生活随笔為你收集整理的Linux内核编程11期:设备树(device tree)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ios信号从4g变成无服务器,苹果信号满
- 下一篇: 华为swot分析2020_科技口译现场: