arm設備樹基礎知識

文章目錄

  • 前言
  • dts片段
  • 通用屬性介紹
    • 地址大小
    • 中斷
    • phandle
    • compatible
  • mmc節點介紹

前言

arm開發,早晚要了解設備樹

dts片段

interrupt-parent = <0x8005>;
model = "linux,dummy-virt";
#size-cells = <0x02>;
#address-cells = <0x02>;
compatible = "linux,dummy-virt";vmmc_supply: regulator {compatible = "regulator-fixed";regulator-name = "3V3";regulator-min-microvolt = <3300000>;regulator-max-microvolt = <3300000>;regulator-always-on;
};mmc@80000000 {compatible = "arm,pl181", "arm,primecell";reg = <0x00 0x80000000 0x00 0x1000>;interrupts = <0x00 0x0a 0x04>, <0x00 0x0b 0x04>;clocks = <0x8000>;clock-names = "apb_pclk";bus-width = <4>;max-frequency = <5000000>;vmmc-supply = <&vmmc_supply>;wp-gpios = <0x8007 6 0>;cd-gpios = <0x8007 7 1>;
};intc@8000000 {phandle = <0x8005>;reg = <0x00 0x8000000 0x00 0x10000 0x00 0x8010000 0x00 0x10000>;compatible = "arm,cortex-a15-gic";ranges;#size-cells = <0x02>;#address-cells = <0x02>;interrupt-controller;#interrupt-cells = <0x03>;v2m@8020000 {phandle = <0x8006>;reg = <0x00 0x8020000 0x00 0x1000>;msi-controller;compatible = "arm,gic-v2m-frame";};
};pl061@9030000 {phandle = <0x8007>;clock-names = "apb_pclk";clocks = <0x8000>;interrupts = <0x00 0x07 0x04>;gpio-controller;#gpio-cells = <0x02>;compatible = "arm,pl061\0arm,primecell";reg = <0x00 0x9030000 0x00 0x1000>;
};apb-pclk {phandle = <0x8000>;clock-output-names = "clk24mhz";clock-frequency = <0x16e3600>;#clock-cells = <0x00>;compatible = "fixed-clock";
};chosen {linux,initrd-end = <0x00 0x49543a83>;linux,initrd-start = <0x00 0x48000000>;bootargs = "root=/dev/ram0 console=ttyAMA0 init=/linuxrc ignore_loglevel nokaslr";stdout-path = "/pl011@9000000";rng-seed = <0x7970a02d 0x64c75176 0xfe4a335f 0xdade1615 0x97ff89ee 0x6f4b3574 0x15a3ce06 0x15c5d6f8>;kaslr-seed = <0x898db457 0x75d6280>;
};

通用屬性介紹

地址大小

#size-cells = <0x02>;
#address-cells = <0x02>;

這個的意思是,地址和大小需要兩個cell來表示,一個cell是32位
reg = <0x80000000 0x1000>;
這是cell=1的寫法, 0x80000000開始,往后0x1000字節
cell=2時,每個值分成了64位的高低位, 應該是:
reg = <0x00 0x80000000 0x00 0x1000>;

中斷

interrupt-parent = <0x8005>;
interrupts = <0x00 0x07 0x04>;
interrupts-extended = <0x00 0x07 0x04>;

interrupts參數:中斷類型(SGI PPI SPI LPI), 中斷號, 觸發類型(上升/下降沿、高/低電平)
如果指定了interrupt-parent, 那使用interrupts的時候就不用再指定phandle了, 而且所有interrupt都使用那個中斷控制器
如果想為不同的中斷指定不同的控制器, 可以用interrupt-extended, 這個可以指定phandle

phandle

phandle = <0x8000>;
clocks = <0x8000>;
vmmc-supply = <&vmmc_supply>;

引用其他節點,可以通過標簽,也可以通過顯式聲明的phandle引用 (反編譯dtb得到的估計都是值

compatible

compatible = "arm,pl061\0arm,primecell";

兼容性,驅動代碼里會讀設備樹的這個屬性,看自己適不適配

mmc節點介紹

cell=1,32位;cell=2,64位
reg = <0x80000000 0x1000>;
這是cell=1的寫法
cell=2時,每個值分成了64位的高低位
cell=2時,應該是:
reg = <0x00 0x80000000 0x00 0x1000>;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/80801.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/80801.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/80801.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

【C++ 核心知識點面試攻略:從基礎到實戰(上位機開發視角)】

一、命名空間&#xff08;Namespace&#xff09;相關問題 問題1&#xff1a;C引入命名空間的核心目的是什么&#xff1f;如何通過命名空間解決命名沖突&#xff1f; 答案&#xff1a; C引入命名空間的核心目的是 避免全局作用域中的命名沖突&#xff0c;通過將變量、函數、類…

線性代數與數據學習

The Functions of Deep Learning (essay from SIAM News, December 2018) Deep Learning and Neural Nets

phpstorm用php連接數據庫報錯

項目場景&#xff1a; phpstorm用php連接數據庫 問題描述 用php使用mysql_connect 的時候報錯了&#xff0c;沒有這個函數 原因分析&#xff1a; php解釋器問題&#xff0c;后來查資料得知mysql_connct只適用于php5.5以下解釋器。一開始用的7&#xff0c;改成5.3以后還是報…

51c大模型~合集122

我自己的原文哦~ https://blog.51cto.com/whaosoft/13877107 #PHYBench 北大物院200人合作&#xff0c;金牌得主超50人&#xff01;PHYBench&#xff1a;大模型究竟能不能真的懂物理&#xff1f; 本項目由北京大學物理學院朱華星老師、曹慶宏副院長統籌指導。基準設計、…

單片機 + 圖像處理芯片 + TFT彩屏 觸摸滑動條控件

觸摸滑動條控件使用說明 一、項目概述 本項目基于單片機和RA8889/RA6809圖形處理芯片的TFT觸摸屏滑動條控件。該控件支持水平和垂直滑動條&#xff0c;可自定義外觀和行為&#xff0c;并支持回調函數進行值變化通知。 硬件平臺&#xff1a;51/ARM均可(測試時使用STC8H8K64U單…

linux離線安裝zsh

下載zsh 下載倉庫后解壓 下載地址&#xff1a;https://github.com/zsh-users/zsh 離線安裝 安裝方法見INSTALL文件 ./configure --prefix[/usr/local] make make install

機器學習中的數據轉換:關鍵步驟與最佳實踐

機器學習中的數據轉換&#xff1a;關鍵步驟與最佳實踐 摘要 &#xff1a;在機器學習領域&#xff0c;數據是模型的核心&#xff0c;而數據的轉換是構建高效、準確模型的關鍵步驟之一。本文深入探討了機器學習中數據轉換的重要性、常見的數據類型及其轉換方法&#xff0c;以及在…

TDR阻抗會爬坡? 別擔心,不是你的錯,你只是不夠了解TDR!

在背板系統或任何長走線設計里&#xff0c;你大概都碰過這畫面&#xff1a; TDR 曲線一開始乖乖在 92 Ω&#xff0c;但越往末端、阻抗越爬越高&#xff0c;來到最高 97 Ω&#xff0c;心里瞬間涼半截 &#x1f612; &#xff0c;「難不成... 板廠又翻車了嗎&#xff1f;」 然…

在另外一臺可以科學下載的電腦用ollama下載模型后,怎么導入到另外一臺服務器的ollama使用

環境&#xff1a; Win10專業版 Ubuntu20.04 問題描述&#xff1a; 在另外一臺可以科學下載的電腦用ollama下載模型后&#xff0c;怎么導入到另外一臺服務器的ollama使用&#xff0c;原電腦win10上的ollama下載的模型,復制到ubuntu20.04的ollama上推理 解決方案&#xff1a;…

Ethan獨立開發產品日報 | 2025-04-27

1. CreateWise AI 旨在提升你工作效率的AI播客編輯器 人工智能播客編輯器&#xff0c;讓你的播客制作速度提升10倍&#xff01;它可以自動去除口頭語和沉默&#xff0c;生成節目筆記和精彩片段&#xff0c;還能一鍵制作適合社交媒體分享的短視頻——所有這些功能都只需一次點…

解決 shadui組件庫Popover 點擊后會消失

react用了shadui組件庫 <Popover><PopoverTrigger><div className"text-operation-item" onClick{props.callback}><img src{props.imgSrc} width{20} height{20} /></div></PopoverTrigger><PopoverContent className"…

SVC電氣設備作用

SVC&#xff08;Static Var Compensator&#xff0c;靜止無功補償器&#xff09;是一種基于電力電子技術的動態無功補償裝置&#xff0c;屬于靈活交流輸電系統&#xff08;FACTS&#xff09;的核心設備之一。它通過快速調節電網中的無功功率&#xff0c;改善電能質量、穩定系統…

黑馬點評商戶查詢緩存--緩存更新策略

ShopTypeServiceImpl類 代碼 package com.hmdp.service.impl;import cn.hutool.json.JSONUtil; import com.hmdp.dto.Result; import com.hmdp.entity.ShopType; import com.hmdp.mapper.ShopTypeMapper; import com.hmdp.service.IShopTypeService; import com.baomidou.myba…

C 語言函數指針與指針函數詳解

一、引言 在 C 語言的編程世界中&#xff0c;函數指針和指針函數是兩個既強大又容易混淆的概念。它們為 C 語言帶來了更高的靈活性和可擴展性&#xff0c;廣泛應用于回調函數、動態鏈接庫、狀態機等多種場景。深入理解和掌握函數指針與指針函數&#xff0c;對于提升 C 語言編程…

HTML5 新特性詳解:語義化標簽、表單與音視頻嵌入

前言 HTML5作為當前Web開發的核心技術&#xff0c;為開發者提供了更強大、更語義化的工具集。本文將深入探討HTML5的三大核心特性&#xff1a;語義化標簽、增強的表單功能以及原生的音視頻支持&#xff0c;幫助開發者構建更現代化、更易維護的網頁應用。 一、HTML5語義化標簽…

利用HandlerMethodArgumentResolver和注解解析封裝用戶信息和Http參數

獲取用戶身份信息詳情注解 import java.lang.annotation.ElementType; import java.lang.annotation.Retention; import java.lang.annotation.RetentionPolicy; import java.lang.annotation.Target;/*** 獲取用戶身份信息詳情注解*/ Retention(RetentionPolicy.RUNTIME) Tar…

OpenCV 圖形API(52)顏色空間轉換-----將 NV12 格式的圖像數據轉換為 RGB 格式的圖像

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 將圖像從 NV12 (YUV420p) 色彩空間轉換為 RGB。該函數將輸入圖像從 NV12 色彩空間轉換到 RGB。Y、U 和 V 通道值的常規范圍是 0 到 255。 輸出圖…

哈工大李治軍《操作系統》進程同步與信號量筆記

1.什么是信號量&#xff1f; 定義&#xff1a;記錄一些信息&#xff08;即量&#xff09;&#xff0c;并根據這個信息決定睡眠還是喚醒&#xff08;即信號&#xff09;。睡眠和喚醒只是一個信號&#xff08;相當于0和1&#xff09;。 2.問題&#xff1a;一種資源的數量是8&am…

MySQL 的索引類型有哪些?

MySQL 中的索引是提高查詢性能的重要工具&#xff0c;它通過構建數據結構來加速數據檢索。MySQL 支持多種索引類型&#xff0c;每種類型適用于不同的場景。以下是 MySQL 中主要的索引類型及其特點&#xff1a; 1. B-Tree 索引&#xff08;默認類型&#xff09; 結構&#xff1…

基于Qt5的藍牙打印開發實戰:從掃描到小票打印的全流程

文章目錄 前言一、應用案例演示二、開發環境搭建2.1 硬件準備2.2 軟件配置 三、藍牙通信原理剖析3.1 實現原理3.2 通信流程3.3 流程詳解3.4 關鍵技術點 四、Qt藍牙核心類深度解析4.1 QBluetoothDeviceDiscoveryAgent4.2 QBluetoothDeviceInfo4.3 QBluetoothSocket 五、功能實現…