娇小w搡bbbb搡bbb,《第一次の人妻》,中国成熟妇女毛茸茸,边啃奶头边躁狠狠躁视频免费观看

《設(shè)備樹 — dtb到device node的轉(zhuǎn)換(三)》

發(fā)布者:悠閑之旅最新更新時間:2025-02-07 來源: cnblogs關(guān)鍵字:設(shè)備樹  device  node  S5PV210 手機(jī)看文章 掃描二維碼
隨時隨地手機(jī)看文章

1.內(nèi)核中對一個設(shè)備節(jié)點的表示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
struct device_node {
    const char *name;                    //節(jié)點的名字
    const char *type;                    //device_type屬性的值
    phandle phandle;                     //對應(yīng)該節(jié)點的phandle屬性
    const char *full_name;               //節(jié)點的名字, node-name[@unit-address]從“/”開始的,表示該node的full path
    struct fwnode_handle fwnode;
  
    struct  property *properties;        // 節(jié)點的屬性
    struct  property *deadprops;    /* removed properties 如果需要刪除某些屬性,kernel并非真的刪除,而是掛入到deadprops的列表 */
    struct  device_node *parent;         // 節(jié)點的父親
    struct  device_node *child;          // 節(jié)點的孩子(子節(jié)點)
    struct  device_node *sibling;        // 節(jié)點的兄弟(同級節(jié)點)
#if defined(CONFIG_OF_KOBJ)              // 在sys文件系統(tǒng)表示
    struct  kobject kobj;       
#endif
    unsigned long _flags;
    void    *data;
#if defined(CONFIG_SPARC)
    const char *path_component_name;
    unsigned int unique_id;
    struct of_irq_controller *irq_trans;
#endif
};

  從這里我們就可以看到一個設(shè)備節(jié)點的大概組織形式了。通過下面這三個組織成一個樹形結(jié)構(gòu)。

1
2
3
struct  device_node *parent;         // 節(jié)點的父親
struct  device_node *child;          // 節(jié)點的孩子(子節(jié)點)
struct  device_node *sibling;        // 節(jié)點的兄弟(同級節(jié)點)

 

  device_node結(jié)構(gòu)體中有properties, 用來表示該節(jié)點的屬性

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
struct property {
    char    *name;                //屬性名字
    int length;                   //value的長度
    void    *value;               //屬性值
    struct property *next;        //指向統(tǒng)一節(jié)點的下一個屬性
#if defined(CONFIG_OF_DYNAMIC) || defined(CONFIG_SPARC)
    unsigned long _flags;
#endif
#if defined(CONFIG_OF_PROMTREE)
    unsigned int unique_id;
#endif
#if defined(CONFIG_OF_KOBJ)
    struct bin_attribute attr;
#endif
};

  

2.舉例說明

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
/dts-v1/;
/memreserve/ 0x4ff00000 0x100000;
/ {
    model = 'YIC System SMDKV210 based on S5PV210';
    compatible = 'yic,smdkv210', 'samsung,s5pv210';
  
    #address-cells = <1>;
    #size-cells = <1>;
         
    chosen {
        bootargs = 'console=ttySAC2,115200n8 root=/dev/nfs nfsroot=192.168.0.101:/home/run/work/rootfs/';
    }; 
  
    memory@30000000 {
        device_type = 'memory';
        reg = <0x30000000 0x20000000>;
    }; 

};


  下圖表示上面的根節(jié)點和其里面的兩個子節(jié)點。

   接下來向里面填充屬性值

 

  首先是把根節(jié)點里的4個屬性進(jìn)行填充

  在添加上其它兩個節(jié)點的屬性后如下。

 


關(guān)鍵字:設(shè)備樹  device  node  S5PV210 引用地址:《設(shè)備樹 — dtb到device node的轉(zhuǎn)換(三)》

上一篇:ARM---搭建開發(fā)板的開發(fā)環(huán)境(x210v3s)
下一篇:android camera(三):camera V4L2 FIMC

小廣播
設(shè)計資源 培訓(xùn) 開發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號

 
EEWorld服務(wù)號

 
汽車開發(fā)圈

 
機(jī)器人開發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號 京ICP備10001474號-1 電信業(yè)務(wù)審批[2006]字第258號函 京公網(wǎng)安備 11010802033920號 Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
主站蜘蛛池模板: 马龙县| 庆安县| 广元市| 清水县| 永仁县| 岳池县| 林西县| 浙江省| 凤山县| 深泽县| 云林县| 石城县| 来宾市| 湘潭县| 略阳县| 通化市| 莒南县| 治县。| 会理县| 克拉玛依市| 新化县| 保山市| 南阳市| 南汇区| 芜湖县| 吉安县| 邵东县| 通河县| 上杭县| 霍邱县| 章丘市| 万安县| 昌黎县| 长寿区| 益阳市| 蓬溪县| 来安县| 玉环县| 马鞍山市| 新闻| 乌兰县|