精华内容
下载资源
问答
  • Linux设备树的初步接触 1. 编译设备树 # 在Linux kernel的源目录下: make make ARCH=arm CROSS_COMPILE=arm-xxxxx-linux- dtbs 2. 反编译设备树 # 在Linux kernel的源目录下(在其他目录也行): scripts/dtc/dtc -I ...
    【版权申明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权) 
    

    Linux设备树的一些命令

    1. 编译设备树

    # 在Linux kernel的源目录下:
    make ARCH=arm CROSS_COMPILE=arm-xxxxx-linux- dtbs
    

    2. 反编译设备树

    # 在Linux kernel的源目录下(在其他目录也行):
    scripts/dtc/dtc -I dtb -O dts xxxx.dtb -o xxxx.dts 
    

    3. kernel起来后查看device tree的信息

    cd /proc/device-tree/
    
    /sys/firmware/devicetree/base # ls
    	#address-cells                 led
    	#size-cells                    media
    	aliases                        memory
    	chosen                         model
    	clock@12010000                 name
    	compatible                     soc
    	cpus                           syscounter
    interrupt-controller@10300000
    

    4. 设备树 与 设备驱动总线平台 的联系

    /sys/devices/platform # ls
    	120D6100.led      media             soc
    	Fixed MDIO bus.0  power             syscounter
    	alarmtimer        regulatory.0      uevent
    
    /sys/devices/platform # cd 120D6100.led
    /sys/devices/platform/111f0024.led # ls
    	driver_override  of_node          subsystem
    	modalias         power            uevent
    
    /sys/devices/platform/111f0024.led # cd of_node/
    /sys/firmware/devicetree/base/led # ls
    	compatible  name        reg
    
    /sys/firmware/devicetree/base/led # cat compatible 
    ybk_led
    
    /sys/firmware/devicetree/base/led # cat name 
    led
    
    /sys/firmware/devicetree/base/led # cat reg
    $
    

    这里要说明的是如果设备下面有of_node,就证明这个platform_device是通过设备树传参来创建的。否则不是通过设备树传参创建的.

    展开全文
  • Linux 查看PCI设备命令---lspci

    千次阅读 2020-01-21 14:31:59
    Linux 查看PCI设备命令—lspci 选项与参数: -v :显示更多的 PCI 接口装置的详细信息 -vv :比 -v 还要更详细的信息 -n :直接观察 PCI 的 ID 而不是厂商名称 查看一般详细信息 lspci -v 查看网卡详细信息:...

    Linux 查看PCI设备命令—lspci

    • 选项与参数:
    -v :显示更多的 PCI 接口装置的详细信息
    -vv :比 -v 还要更详细的信息
    -n :直接观察 PCI 的 ID 而不是厂商名称
    
    • 查看一般详细信息
    lspci -v
    
    • 查看网卡详细信息:
    lspci -s 04:00.0 -vv
    
    -s :后面接的是每个设备的总线、插槽与相关函数功能
    
    或:
    
     lspci -n -d 8086:3002 -vvv
    
    -vv
        使得 lspci 以过冗余模式显示更详细的信息 (事实上是 PCI 设备能给出的所有东西)。这些数据的确切意义没有在此手册页中解释,如果你想知道更多,请参照 /usr/include/linux/pci.h 或者 PCI 规范。
    -n
        以数字形式显示 PCI 生产厂商和设备号,而不是在 PCI ID 数据库中查找它们。
    -x
        以十六进制显示 PCI 配置空间 (configuration space) 的前64个字节映象 (标准头部信息)。此参数对调试驱动和 lspci 本身很有用。
    -xxx
        以十六进制显示所有 PCI 配置空间的映象。此选项只有 root 可用,并且很多 PCI 设备在你试图读取配置空间的未定义部分时会崩溃 (此操作可能不违反PCI标准,但是它至少非常愚蠢)。
    -b
        以总线为中心进行查看。显示所有 IRQ 号和内存地址,就象 PCI 总线上的卡看到的一样,而不是内核看到的内容。
    -t
        以树形方式显示包含所有总线、桥、设备和它们的连接的图表。
    -s [[<bus>]:][<slot>][.[<func>]]
        仅显示指定总线、插槽上的设备或设备上的功能块信息。设备地址的任何部分都可以忽略,或以“*”代替 (意味着所有值)。所有数字都是十六进制。例如:“0:”指的是在0号总线上的所有设备;“0”指的是在任意总线上0号设备的所有功能块;“0.3”选择 了所有总线上0号设备的第三个功能块;“.4”则是只列出每一设备上的第四个功能块。
    -d [<vendor>]:[<device>]
        只显示指定生产厂商和设备 ID 的设备。 这两个 ID 都以十六进制表示,可以忽略或者以“*”代替 (意味着所有值)。
    -i <file>
        使用 <file> 作为 PCI ID 数据库而不是使用默认的 /usr/share/hwdata/pci.ids。
    -p <dir>
        使用 <dir> 作为包含 PCI 总线信息的目录而不是使用默认的目录 /proc/bus/pci。
    -m
        以机器可读的方式转储 PCI 设备数据 (支持两种模式:普通和冗余),便于脚本解析。
    -M
        使用总线映射模式,这种模式对总线进行全面地扫描以查明总线上的所有设备,包括配置错误的桥之后的设备。请注意,此操作只应在调试时使 用,并可能造成系统崩溃 (只在设备有错误的时候,但是不幸的是它们存在),此命令只有 root 可以使用。同时,在不直接接触硬件的 PCI 访问模式中使用 -M 参数没有意义,因为显示的结果 (排除 lspci 中的 bug 的影响) 与普通的列表模式相同。
    --version
        显示 lspci 的版本。这个选项应当单独使用。
    
    展开全文
  • linux 设备树

    千次阅读 2017-09-01 22:19:36
    linux 设备树参考地址 http://blog.csdn.net/green1900/article/details/45646095 http://www.cnblogs.com/xiaojiang1025/p/6131381.html http://blog.csdn.net/21cnbao/article/details/84575461.为什么要使用...

    linux 设备树


    参考地址
    http://blog.csdn.net/green1900/article/details/45646095
    http://www.cnblogs.com/xiaojiang1025/p/6131381.html
    http://blog.csdn.net/21cnbao/article/details/8457546


    1.为什么要使用设备树(Device Tree)?

    在以前的内核源码中,存在大量对板级细节信息描述的代码,这些代码充斥在/arch/arm/plat-xxx和/arch/arm/mach-xxx目录,对内核而言这些platform设备、resource、i2c_board_info、spi_board_info以及各种硬件的platform_data绝大多数纯属垃圾冗余代码。为了解决这一问题,ARM内核版本3.x之后引入了原先在Power PC等其他体系架构已经使用的Flattened Device Tree。DTS不是arm的专利

    在使用了设备树后,对于同一SOC的不同主板,只需更换设备树文件.dtb即可实现不同主板的无差异支持,而无需更换内核文件。


    2.设备树的的组成和结构

    设备树可以描述的信息包括了
    1. CPU的数量和类别、
    2. 内存基地址和大小、
    3. 总线和桥、
    4. 外设连接、
    5. 中断控制器和中断使用情况、
    6. GPIO控制器和GPIO使用情况、
    7. Clock控制器和Clock使用情况。
    需要注意的是,设备树对于可热插拔的热备不进行具体描述,它只描述用于控制该热插拔设备的控制器

    2.1设备树的组成

    设备树包含了DTC(device tree compiler) , DTS(device tree resource) 和 DTB(device tree blob),简单来说,dts是源码,dtc是编译器,dtb是生成的可执行文件
    此处输入图片的描述

    2.1.1 DTS和DTSI

    .dts和.dtsi是一种ASCII文本的设备树描述,此文本格式非常适合人们阅读,基本上,一个.dts对应一种ARM设备,放在arch/arm/boot/dts目录,由于一个soc对应好多个不同的开发板,每个开发板有一个.dts,所以这些dts势必有共同部分,为了减少代码的屯余,设备树将这些共同部分提炼保存在dtsi中,供不同的dts使用,dtsi文件类似于c语言的头文件
    

    2.1.2 DTC

    DTC为编译工具,它可以将.dts文件编译成.dtb文件。DTC的源码位于内核的scripts/dtc目录,内核选中CONFIG_OF,编译内核的时候,主机可执行程序DTC就会被编译出来

    2.1.3 DTB

    DTB设备由DTC编译后的二进制格式的设备树描述,可以由linux内核解析,uboot这样的bootloader也可以识别.dtb,有两种使用方式,一种是bootloader启动内核过程中会先读取dtb到文件中;第二种是把dtb和zImage打包在一起做成一个印象文件,firefly-3399就是采用这种方式,打包生成了boot.img

    2.1.4 绑定(bingding)

    对于Device Tree中的结点和属性具体是如何来描述设备的硬件细节的,一般需要文档来进行讲解,文档的后缀名一般为.txt。这些文档位于内核的Documentation/devicetree/bindings目录,其下又分为很多子目录

    2.1.5 Bootloader 使用dtb

    在Uboot中,可以从NAND、SD或者TFTP等任意介质将.dtb读入内存,假设.dtb放入的内存地址为0x71000000,之后可在Uboot运行命令fdt addr命令设置.dtb的地址,如:
    U-Boot> fdt addr 0x71000000
    fdt的其他命令就变地可以使用,如fdt resize、fdt print等
    对于ARM来讲,可以透过bootz kernel_addr initrd_address dtb_address的命令来启动内核,即dtb_address作为bootz或者bootm的最后一次参数,第一个参数为内核映像的地址,第二个参数为initrd的地址,若不存在initrd,可以用 -代替,第三个就是dtb地址

    2.2设备树框架

    设备树用树状结构描述设备信息,它有以下几种特性
    1. 每个设备树文件都有一个根节点,每个设备都是一个节点。
    2. 节点间可以嵌套,形成父子关系,这样就可以方便的描述设备间的关系。
    3. 每个设备的属性都用一组key-value对(键值对)来描述。
    4. 每个属性的描述用;结束


    3. 设备树语法

    设备树是一颗树,书上的每个节点由节点和属性组成,属性是键值对

    下面这个是rk3399-fpga.dts

    #include "rk3399.dtsi"  //包含了公共部分
    / {
            model = "Rockchip RK3399 FPGA Board";
            compatible = "rockchip,fpga", "rockchip,rk3399"; //根节点兼容性分析,下面具体分析
            chosen {
                    bootargs = "init=/init console=uart,mmio32,0xff1a0000";
            };
            memory@00000000 { //子节点  memory@00000000节点名
                    device_type = "memory";
                    reg = <0x0 0x00000000 0x0 0x20000000>;
            };
    };
    &uart2 { //使用了引用
            status = "okay";
            clocks = <&xin24m>, <&xin24m>;
    };
    

    3.1根节点兼容性

    compatible = "rockchip,fpga", "rockchip,rk3399";
    上面是根节点的兼容属性,定义了整个系统(设备级别)的名称,通过这个属性就可以判断出它启动的是什么设备。它的组织形式是&lt;manufacture&gt;&lt;model&gt;,在实际中一般包括两个或两个以上的兼容字符串,上面第一个是"rockchip,fpga",第二个是"rockchip,rk3399",我们来看第二个,manufacture是板子级别的名字,“rockchip”代表的是瑞芯微公司,model是芯片级别的,“rk3399”是瑞芯微公司一个soc的名称
    

    我们从源码中找出rk3399的两个dts,可以看出第一个兼容字符串的model不同,第二个完全相同

    rk3399-firefly-linux.dts
    compatible = "rockchip,rk3399-firefly-linux", "rockchip,rk3399";
    rk3399-fpga.dts
    compatible = "rockchip,fpga", "rockchip,rk3399";

    3.2节点名

    理论个节点名只要是长度不超过31个字符的ASCII字符串即可,Linux内核还约定设备名应写成形如[@]的形式,其中name就是设备名,最长可以是31个字符长度。unit_address一般是设备地址,用来唯一标识一个节点
    Linux中的设备树还包括几个特殊的节点,比如chosen,chosen节点不描述一个真实设备,而是用于firmware传递一些数据给OS,比如bootloader传递内核启动参数给内核

    chosen{
        bootargs = "console=ttySAC2,115200";
        stdout-path=&serial_2;
    };

    3.3引用

    当我们找一个节点的时候,我们必须书写完整的节点路径,这样当一个节点嵌套比较深的时候就不是很方便,所以,设备树允许我们用下面的形式为节点标注引用(起别名),借以省去冗长的路径。这样就可以实现类似函数调用的效果

    3.KEY

    在设备树中,键值对是描述属性的方式,比如,Linux驱动中可以通过设备节点中的”compatible”这个属性查找设备节点
    inux设备树语法中定义了一些具有规范意义的属性,包括:compatible, address, interrupt等,这些信息能够在内核初始化找到节点的时候,自动解析生成相应的设备信息。此外,还有一些Linux内核定义好的,一类设备通用的有默认意义的属性,这些属性一般不能被内核自动解析生成相应的设备信息,但是内核已经编写的相应的解析提取函数,常见的有 “mac_addr”,”gpio”,”clock”,”power”。”regulator” 等等。

    3.1.compatible

    设备节点中对应的节点信息已经被内核构造成struct platform_device。驱动可以通过相应的函数从中提取信息。主要有三种方法提取信息

        1、compatible属性是用来查找节点
        2、通过节点名查找指定节点
        3、节点路径查找指定节点

    看一个使用compatible提取属性的例子

    #dts
        gpio_demo: gpio_demo {
            status = "okay";
            compatible = "firefly,rk3399-gpio";                  
        };
    #驱动代码
    static struct of_device_id firefly_match_table[] = {
        { .compatible = "firefly,rk3399-gpio",}, //完全相同
        {}, //最后一个成员一定是空,因为相关的操作API会读取这个数组直到遇到一个空。
    };

    3.2address

    • #address-cells,用来描述子节点”reg”属性的地址表中用来描述首地址的cell的数量
    • #size-cells,用来描述子节点”reg”属性的地址表中用来描述地址长度的cell的数量。
            pinctrl: pinctrl {
                    compatible = "rockchip,rk3399-pinctrl";
                    #address-cells = <0x2>;
                    #size-cells = <0x2>;
                    gpio0: gpio0@ff720000 {
                            compatible = "rockchip,gpio-bank";
                            reg = <0x0 0xff720000 0x0 0x100>;
                            //前两个数字表示一个地址0x0 0xff720000
                            //后两个数字表示一个地址跨度 0x100
                    };
                ...
        }

    3.3interrupts

    一个计算机系统中大量设备都是通过中断请求CPU服务的,所以设备节点中就需要在指定中断

    • interrupt-controller 一个空属性用来声明这个node接收中断信号,即这个node是一个中断控制器
    • #interrupt-cells,是中断控制器节点的属性,用来标识这个控制器需要几个单位做中断描述符,用来描述子节点中”interrupts”属性使用了父节点中的interrupts属性的具体的哪个值。一般,如果父节点的该属性的值是3,则子节点的interrupts一个cell的三个32bits整数值分别为:<中断域 中断 触发方式>,如果父节点的该属性是2,则是<中断 触发方式>
    • interrupt-parent,标识此设备节点属于哪一个中断控制器,如果没有设置这个属性,会自动依附父节点的
    • interrupts,一个中断标识符列表,表示每一个中断输出信号

    3.4gpio

    • gpio-controller,用来说明该节点描述的是一个gpio控制器
    • #gpio-cells,用来描述gpio使用节点的属性一个cell的内容,即 `属性 = <&引用GPIO节点别名 GPIO标号 工作模式>
    firefly-gpio = <&gpio0 12 GPIO_ACTIVE_HIGH>;          /* GPIO0_B4 */
    firefly-irq-gpio = <&gpio4 29 IRQ_TYPE_EDGE_RISING>;  /* GPIO4_D5 */  

    4.DTB的加载过程

    参考地址
    http://blog.csdn.net/green1900/article/details/45646095
    此处输入图片的描述
    http://blog.csdn.net/lichengtongxiazai/article/details/38941913
    此处输入图片的描述

    总的归纳为:

    ① kernel入口处获取到uboot传过来的.dtb镜像的基地址

    ② 通过early_init_dt_scan()函数来获取kernel初始化时需要的bootargs和cmd_line等系统引导参数。

    ③ 调用unflatten_device_tree函数来解析dtb文件,构建一个由device_node结构连接而成的单向链表,并使用全局变量of_allnodes保存这个链表的头指针。

    ④ 内核调用OF的API接口,获取of_allnodes链表信息来初始化内核其他子系统、设备等。


    5.API调用

    #来查找在dtb中的根节点
    unsigned long __init of_get_flat_dt_root(void)
    
    # 根据deice_node结构的full_name参数,在全局链表of_allnodes中,查找合适的device_node
    struct device_node *of_find_node_by_path(const char *path)
    
    #若from=NULL,则在全局链表of_allnodes中根据name查找合适的device_node
    struct device_node *of_find_node_by_name(struct device_node *from,const char *name)
    
    #根据设备类型查找相应的device_node
    struct device_node *of_find_node_by_type(struct device_node *from,const char *type)
    
    # 根据compatible字符串查找device_node
    struct device_node *of_find_compatible_node(struct device_node *from,const char *type, const char *compatible)
    
    #根据节点属性的name查找device_node
    struct device_node *of_find_node_with_property(struct device_node *from,const char *prop_name)
    
    #根据compat参数与device node的compatible匹配,返回匹配度
    int of_device_is_compatible(const struct device_node *device,const char *compat)
    
    #获得父节点的device node
    struct device_node *of_get_parent(const struct device_node *node)
    
    #读取该设备的第index个irq号
    unsigned int irq_of_parse_and_map(struct device_node *dev, int index)
    
    #读取该设备的第index个irq号,并填充一个irq资源结构体
    int of_irq_to_resource(struct device_node *dev, int index, struct resource *r)
    
    #获取该设备的irq个数
    int of_irq_count(struct device_node *dev)
    

    展开全文
  • Linux查看所有磁盘和挂载点命令lsblk,并显示设备目录

    Linux查看所有磁盘和挂载点命令lsblk,并显示设备目录树

    展开全文
  • linux设备树详解

    千次阅读 2018-02-08 15:15:26
    linux设备树详解注:由于内核版本的演变,设备树成了任何使用较高版本linux系统的设备平台所必须文件,然国内相关技术文档严重不足,本文是国外技术专栏的翻译,原文链接:...本文使用Xilli...
  • uboot 使用fdt命令查看设备树

    千次阅读 2019-03-13 10:39:01
    首先驱动设备树的地址,如果使用tftp下载,可以在tftp下载时指定地址。如果是存在nand flash可以将...使用fdt header 命令可以查看设备树的头部信息。 使用fdt print 命令可以查看全部的设备树信息。 如果在fdt...
  • 在说linux基本命令之前,让我们来回顾一下linux的目录结构 下面来分别说一下根目录下中每个目录的作用 /bin: 是Binary的缩写,里面是用户二进制文件,这个目录存放着最经常使用的命令,如ls,cat等. /sbin: s就是...
  • Linux设备树是什么?

    千次阅读 多人点赞 2021-01-28 11:13:35
    随着Linux的不断发展,基本上现在所有的驱动程序都是基于设备树的,而设备树到底是什么?有什么作用,Linux内核怎么通过设备树知道外设适配的。文本介绍了设备树、以及分享了一些设备树的基本语法、一些基本属性等,...
  • Linux 设备树的使用技巧

    千次阅读 2017-05-21 16:32:55
    Linux内核从3.x开始引入设备树的概念,用于实现驱动代码与设备信息相分离。在设备树出现以前,所有关于设备的具体信息都要写在驱动里,一旦外围设备变化,驱动代码就要重写。引入了设备树之后,驱动代码只负责处理...
  • 设备树简介   在内核源码中,存在大量对板级细节信息描述的代码。这些代码充斥在/arch/arm/plat-xxx和/arch/arm/mach-xxx目录,对内核而言这些platform设备、resource、i2c_board_info、spi_board_info以及各种...
  • 【Linux驱动开发】Linux设备树详解

    千次阅读 2019-12-05 10:49:25
    设备树(Device Tree),将这个词分开就是“设备”和“树”,描述设备树的文件叫做 DTS(Device Tree Source),这个 DTS 文件采用树形结构描述板级设备,也就是开发板上的设备信息,比如 CPU 数量、 内存基地址、IIC ...
  • linux内核设备树及编译

    万次阅读 多人点赞 2018-01-16 16:44:14
    1、设备树的概念  在内核源码中,存在大量对板级细节信息描述的代码。这些代码充斥在/arch/arm/plat-xxx和/arch/arm/mach-xxx目录,对内核而言这些platform设备、resource、i2c_board_info、spi_board_info以及...
  • ARM Linux设备树

    千次阅读 2016-04-03 11:04:36
    ARM设备树起源 在过去的ARM Linux中,arch/arm/plat-xxx和arch/arm/mach-xxx中充斥着大量的垃圾代码,很多代码只是在描述板级细节,而这些板级细节对于内核来讲,不过是垃圾,如板上的platform设备、resource、i2c...
  • 硬件平台:tiny4412 系统:linux-4.4 文件系统:busybox-1.25 编译器: arm-none-linux-gnueabi-gcc (gcc version 4.8.3 ...一、设备树文件中添加 (/work/linux-4.4.0/linux-4.4/arch/arm/boot/dts/exynos4412-tin
  • 【ZYNQ_LINUX设备树分析

    千次阅读 2018-01-30 16:21:19
    目前使用的内核中有zed 的设备树,每次编译设备树命令为: zynq-zed.dts /*  * Copyright (C) 2011 - 2014 Xilinx  * Copyright (C) 2012 National Instruments Corp.  *  * This software is licensed ...
  • linux设备树

    千次阅读 2016-04-27 21:51:22
    Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the ass”,引发ARM Linux社区的地震,随后ARM社区进行了一系列的重大修正。在过去的ARM Linux中,arch/arm/...
  • linux kernel设备树的编译和反编译

    千次阅读 2018-04-11 17:33:53
    在使用Nvidia TX2平台时使用到设备树的编译和反编译命令,记录如下:1.设备树的编译命令有以下两种方式:(1)将设备树文件拷贝到内核源码的arch/*(处理器平台)/boot/dts/*(厂家)/目录下, 执行make dtbs (2)dtc ...
  • ARM Linux 3.x的设备树(Device Tree)

    万次阅读 多人点赞 2013-01-01 17:32:36
    本文部分案例和文字英文... 更多精华文章请扫描下方二维码关注Linux阅码场 1. ARM Device Tree起源 Linus Torvalds在2011年3月17日的ARM Linux邮件列表宣称“this whole ARM thing is a f*cking pain in the a...
  • Linux常用命令总结

    万次阅读 多人点赞 2021-08-15 21:30:03
    Linux常用命令总结 目录Linux常用命令总结服务器关机相关命令2.系统目录结构介绍3.文件操作相关命令4.文件的基本属性5.文件的内容查看6.Vim7.进程相关命令 服务器关机相关命令 关机指令为:shutdown ; sync # 将...
  • linux设备树(设备驱动)

    千次阅读 2019-04-18 14:25:04
    一:设备树的简单概念 设备树:由一系列的节点,属性组成,节点本身包含子节点(属性:成对出现的名称和值) 设备树可描述的信息:(原先大多数被编码在内核中) 1:CPU的数量和类,2:内存基地址和大小 ,3:...
  • linux设备树编译器DTC

    万次阅读 2017-01-11 14:04:40
    linux设备树编译器DTC   参考文件: \kernel\Documentation\devicetree\booting-without-of.txt   1. 设备树的文件组织结构 DT的文件组织结构如图 *.dts作为目标设备汇总的设备组织结构,它会include其他一些...
  • 01-Linux设备树系列-基本语法

    千次阅读 2018-09-04 12:08:06
    设备树使用 本页面介绍了如何为新机器编写设备树。它旨在提供设备树概念的概述以及它们如何用于描述机器。有关设备树数据格式的完整技术说明,请参阅 ePAPR v1.1规范.ePAPR规范比本页面介绍的基本主题包含更多详细...
  • linux 设备树及节点引用

    千次阅读 2016-07-20 21:59:11
    1、ARM Linux社区为什么要引入设备树 Linux之父Linus Torvalds闲来无事,在翻看ARM Linux代码的时候,有一天终于忍不住了。他在2011年3月17日的ARM Linux邮件列表中说道:“This whole ARM thing is a f*cking ...
  • Linux常用命令大全(非常全!!!)

    万次阅读 多人点赞 2019-07-25 16:40:12
    Linux常用命令大全(非常全!!!) 最近都在和Linux打交道,感觉还不错。我觉得Linux相比windows比较麻烦的就是很多东西都要用命令来控制,当然,这也是很多人喜欢linux的原因,比较短小但却功能强大。我将我了解...
  • Linux超全命令总结,看这一篇就够了,建议小伙伴们先收藏后阅读!!
  • linux设备树dts移植详解

    千次阅读 2017-06-03 17:16:10
    摘 要:设备树的引入减少了内核为支持新硬件而需要的改变,提高代码重用,加速了Linux 支持包的开发,使得单个内核镜像能支持多个系统。作为U-Boot 和Linux 内核之间的动态 接口,本文阐述了设备树的数据存储格式...
  • 最新 Linux 命令总结 大全

    千次阅读 多人点赞 2021-07-02 19:35:43
    今天,带来一篇 Linux 命令总结的非常全的文章,也是我们平时工作中使用率非常高的操作命令命令有点多,建议小伙伴们可以先收藏后阅读。 目录1. 基本命令2. 关机3. 文件和目录4. 文件搜索5. 挂载一个文件系统6. ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 64,752
精华内容 25,900
关键字:

linux查看设备树命令

linux 订阅