Menu Close

设备树中的特殊节点

此文章介绍了根节点下的三个特殊子节点。

相关参考文章:SOC 教学教案

 

aliases

打开system-top.dts后,我们可以在第19至27行之间看到aliases节点的内容。

  aliases{
         ethernet0 = &gem0;
         i2c0 = &i2c_2;
         i2c1 = &i2c0;
         i2c2 = &i2c1;
         serial0 = &uart0;
         serial1 = &uart1;
         spi0 = &qspi;
  };

aliases节点的主要目的是定义节点的别名,其最终目的是使访问节点更加容易。注意这里所指的不是在设备树中访问节点。

 

chosen

chosen节点通常拥有两个属性:“bootargs”和“stdout-path”。在system-top.dts中的第15至18行之间我们可以看到此节点的内容。

  chosen{
         bootargs = “console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rw rootwait”;
         stdout-path = “serial0:115200n8”;
  };

在 chosen 中,stdout-path = “serial0:115200n8”,表示标准输出设备使用串口 serial0。在 system-top.dts 中,serial0 是一个指向 uart0 的别名;“115200” 表示串口的波特率为 115200,其中 “n” 表示没有校验位,且 “8” 表示拥有 8 数据位。

 

memory

memory节点在system-top.dts中的第28至31行,主要用于处理内存。如下所示。

  memory{
         device_type = “memory”;
         reg = <0x0 0x20000000>;
  };

注意这个节点主要帮助指定系统内存的基地址和系统内存大小。“reg = <0x0 0x20000000>” 把起始地址设为了 0x0,并且把 0x20000000 设为了大小(相当512MB)。此节点通常只有这两个属性,且 device_type 的属性值将被设为 “memory”。

Posted in 教材与教案

发表评论

相关链接