linux设备网口节点路径,在Petalinux中应该如何确认dev目录下设备的对应关系?

通常Kernel一加载起来,大家能在/dev目录下可以看到一大堆的设备。这些设备都是Kernel加载初始化过程中,由内核和驱动创建出来的。那么哪个设备才是我真正要用的设备。下面就几个常用的外设来和大家一起梳理一下。

反编译设备树

首先第一步是要获得完整的设备树信息。通过将 dtb 文件反编译成 dts 文件,你就可以获得最终的设备树文件了。方法是使用dtc小工具,把在你 petalinux 工程下image/linux/system.dtb 文件反编译成 dts 文件。命令如下:

dtc -I dtb -O dts -osystem.dts system.dtb

有了最终的 dts 文件,就相当于我们已经有一个所有设备的清单。在这个清单中,我们可以看到每个设备在kernel 中都会有一个对应的地址。这个地址就可以和你 Vivado 工程中设置的地址一一对应。

例如:

02095e6cb91bcebf83d704abe88d62e6.png

查看启动信息,确认设备节点

在 Kernel 启动过程中,设备驱动如果能成功完成初始化,一般会打印出对应的设备名称。例如,如果在 VIVADO 工程中使能了 PS 侧的 UART0,那么你可以在 kernel 启动完成之后,通过 dmesg 指令来查找 UART0 被注册成了哪个串口设备。

所以如果使用的是自己的硬件平台,那么尽量不要使用预设的名称,这样可以避免导入多余的设备树信息从而导致编译失败或者最终功能不正确。

c802bce2b94e0fe8dfde165de91f0aa3.png

debadd213567db15821c86d690499f5a.png

查看设备初始化信息,确认设备节点

如果驱动在初始化工程中没有打印出设备名称的话,怎么才能知道对应的设备是哪个呢?比如I2C设备,用dmesg并没有找到VIVADO工程中使能的I2C对应的是哪个设备。

abfca823bb6f5f43dc9662955fd8bd16.png

然后在 /dev 下,你可以看到多达9个的 i2c 设备。

fbc1b8baa81c012e0eed14b4dc3381c7.png

这个时候,我们可以去/sys/bus/i2c/device目录下来确认每个 I2C 设备对应的节点

b9cf1d66b66984c0c04af5e2e3c6536f.png

进入我们要确认的 I2C 设备,比如 I2C-0 这个设备,再用 ls -l 的指令,就可以看到这个设备对应的是设备树中具体的哪个节点了。

a12873fd2e5700872c8e34b57362cc16.png

总结

用户需要使用某个设备的时候可以通过本文介绍的两种方法,结合设备树信息就可以明确的找到对应的设备了。

原文标题:开发者分享 | Petalinux中如何确认 dev 下设备的对应关系

文章出处:【微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

责任编辑:haq

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值