0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Petalinux中应该如何确认dev目录下设备的对应关系?

YCqV_FPGA_EETre 来源:FPGA开发圈 作者:Terry Ni 2021-03-02 14:34 次阅读

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

反编译设备树

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

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

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

例如:

f8fcbe0e-74d1-11eb-8b86-12bb97331649.png

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

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

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

f9e82614-74d1-11eb-8b86-12bb97331649.png

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

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

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

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

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

总结

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

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

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

责任编辑:haq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1592

    文章

    21210

    浏览量

    592190

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

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

收藏 人收藏

    评论

    相关推荐

    STM32CubeIDE使用签名脚本,为什么DEBUG目录找不到对应的bin?

    STM32CubeIDE使用签名脚本(STM32CubeMP13封装 - 入门指南 - stm32mpu (stmicroelectronics.cn)) 然后构建,打印显示构建成功,但是DEBUG目录找不到
    发表于 03-11 07:57

    AD2S1210采用SPI通信时,波特率和f -SCLK的频率是什么对应关系呢?

    ,DSP的SPI波特率通过SPIBRR设置,请问波特率和f -SCLK的频率是什么对应关系呢? 当DSP的LSPCLK为37.5MHz时,此处的SPIBRR值应该为多少呢? 感谢专家解答
    发表于 12-06 07:48

    i.MX6ULL——ElfBoard ELF1板卡 之文件系统目录的介绍

    /sbin 包含通常只应由超级用户使用的重要管理命令 /sys 设备驱动模型的总线、驱动、设备都可以sysfs中找到对应的节点 /tm
    发表于 11-24 09:59

    【ELF 1开发板试用】+ RGB LED及按键的控制

    灯及其设备名的对应关系如下: 通过Linux指令,可对这些设备进行相应的控制。 那么这些设备处于什么位置呢? 这3个
    发表于 11-21 11:11

    下设备智能远程控制方案

    下设备的智能远程控制是指通过网络技术和传感器设备,实现对井下设备进行数据监测、故障诊断和远程控制操作的方法。目前,随着物联网技术的发展,井下设备的智能化水平不断提高,但仍存在一些问题
    的头像 发表于 10-30 17:29 310次阅读

    如何给R128FreeRTOS下配置/data目录

    脚本,通过函数 function make_data_image() 会创建对应的分区。 4、挂载目录 分区已经建好的话,剩下就是通过littlefs将区分挂载到目录下了。
    发表于 10-23 15:34

    YOLOv8实现任意目录下命令行训练

    当你使用YOLOv8命令行训练模型的时候,如果当前执行的目录下没有相关的预训练模型文件,YOLOv8就会自动下载模型权重文件。这个是一个正常操作,但是你还会发现,当你在参数model中指定已有
    的头像 发表于 09-04 10:50 582次阅读
    YOLOv8实现任意<b class='flag-5'>目录下</b>命令行训练

    Linux设备目录结构dtb格式

    要的。 设备目录结构 dtb 格式 /sys/firmware/devicetree 以目录结构程现的 dtb 文件, 根节点对应 base 目录
    的头像 发表于 07-30 15:25 403次阅读
    Linux<b class='flag-5'>设备</b>树<b class='flag-5'>目录</b>结构dtb格式

    AMD Xilinx SoC:定制PetaLinux中的FSBL

    客户为AMD Xilinx SoC创建了PetaLinux工程。需要定制PetaLinux中的FSBL
    的头像 发表于 07-10 17:05 589次阅读

    Linux中/dev/tty、/dev/tty0和/dev/console之间的区别在哪?

    在Linux系统中,/dev/tty、/dev/tty0和/dev/console是一些特殊的设备文件,经常用于控制台和命令行界面的操作。
    的头像 发表于 06-21 09:06 1746次阅读

    验证和确认的区别和关系

      两个在质量管理和验证过程中经常使用的术语。以下是它们的区别和关系,包括维基百科的定义、应用和范围: 验证(Verification):根据维基百科的定义,验证是一种评估活动,旨在确认产品、系统
    的头像 发表于 06-19 10:59 3215次阅读

    Linux驱动学习笔记:阻塞/非阻塞IO

    在应用程序中,使用open函数打开一个`/dev`目录下的一个设备文件时,默认是以阻塞的方式打开。
    发表于 06-12 16:22 397次阅读
    Linux驱动学习笔记:阻塞/非阻塞IO

    HarmonyOS低代码开发-已有工程添加Visual

    ; Page 。 2.弹出的对话框,输入Visual name,单击 Finish 。创建Visual后,会在工程自动生成低代码的目录结构,如下图所示: pages >
    发表于 05-24 16:01

    LS1046A minicom:无法打开/dev/ttyACM0:没有那个文件或目录如何解决?

    目录”。它以引导加载程序模式连接,LED D8 闪烁。 我点击重置按钮时执行通常的过程后,它没有连接到 tty 串行端口,而是被检测到或作为引导加载程序连接。 Minicom串口设置
    发表于 05-24 13:20

    使用CodeWarrior_V11.1目录下新建项目,移植项目时产生警告的原因?

    我使用CodeWarrior_V11.1目录下新建项目,没有产生警告,但是当我将项目移动到新目录时,有警告生成:Invalid project path: Include path
    发表于 04-04 07:14