日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux内核编程11期:设备树(device tree)

發布時間:2023/12/10 linux 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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版本)已上傳網盤,已購課學員請及時下載觀看學習。

課程的詳細目錄如下:

  • 為什么要引入 device tree?
  • 如何編譯和運行 device tree?
  • 使用設備樹接口編寫platform驅動
  • SoC芯片架構:總線和片選
  • SoC芯片架構:橋接(bridge)
  • SoC芯片架構:extend bus
  • device tree 基本語法:node
  • device tree 基本語法:property
  • 設備樹實例分析:CPU node
  • 設備樹實例分析:memory node
  • 設備樹實例分析:外設(PrimeCell)
  • 設備樹實例分析:中斷控制器
  • 設備樹實例分析:中斷映射
  • 設備樹實例分析:時鐘(clock)
  • extend bus(上):I2C 設備
  • extend bus(下):內存映射設備
  • 設備樹實例分析:GPIO
  • 設備樹實例分析:pinmux(上)
  • 設備樹實例分析:pinmux(下)
  • dts 和 dtsi 文件的分離
  • property 的 overwrite
  • dtb 二進制文件格式
  • platform device 自動展開分析(上)
  • platform device 自動展開分析(下)
  • I2C 設備的自動展開
  • 哪些 node 會自動展開為平臺設備?
  • 設備樹節點解析:CPU node
  • 設備樹節點解析:memory node
  • 設備樹節點解析:chosen node(上)
  • 設備樹節點解析:chosen node(下)
  • 設備樹節點解析:aliases node
  • 設備樹節點解析:獲取 IRQ number
  • 設備樹節點解析:獲取 Register 地址
  • 設備樹節點解析:GPIO
  • Device Binding and Guidelines
  • 本期課程已發布到CSDN學院:https://download.csdn.net/course/detail/37149https://download.csdn.net/course/detail/37149

    總結

    以上是生活随笔為你收集整理的Linux内核编程11期:设备树(device tree)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。