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
    +关注

    关注

    1656

    文章

    22292

    浏览量

    630423

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    【OK3506-S12Mini试用评测(三)】虚拟机修改设备

    要实现引脚复用功能,核心操作是修改镜像设备树(DTS)文件,具体步骤可按以下详细指引操作,确保配置准确适配开发板与镜像版本: 一、定位 DTS 文件路径 首先需进入镜像对应的文件目录
    发表于 11-19 17:21

    `lv_obj_tree.h` **LVGL v9** 的位置和作用

    lv_obj_tree.h LVGL v9 的位置和作用如下: 文件路径 lv_obj_tree.h 位于 LVGL 源码的 src/core/ 目录下,完整路径是: lvgl/src
    发表于 11-13 15:49

    蜂鸟e203移植要从哪些方面入手,bsp哪里修改引脚对应关系,约束文件?

    蜂鸟e203移植要从哪些方面入手,bsp哪里修改引脚对应关系,约束文件,跪求大神
    发表于 11-10 07:11

    飞凌嵌入式ElfBoard ELF 1板卡-Linux系统基础入门-目录相关shell命令

    被删除示例:rm删除命令命令:rm英文全拼:remove功能:删除文件目录,不管目录是否非空。参数:rm [选项] 文件/目录选项说明-f强制删除文件或目录-i删除文件或
    发表于 09-29 10:12

    如何在不直接使用 HCI UART 的情况下为 CYSBSYSKIT-DEV 01 设置Bluetooth®地址?

    大家好 1我想了解使用控制器套件 UART 设置Bluetooth®地址的方法。 我们想在不直接使用 HCI UART 的情况下设置地址。 我的发现是 a) 论坛建议使用 SFLASH 更新
    发表于 06-25 06:45

    智慧矿山场景:聚徽嵌入式工控一体机如何实现井下设备无人化操控

    矿山开采领域,传统的人工开采模式面临着效率低、安全风险高、人力成本上升等诸多问题。随着科技的飞速发展,智慧矿山建设成为矿业转型升级的关键方向,而井下设备的无人化操控则是智慧矿山的重要标志之一
    的头像 发表于 05-20 13:20 486次阅读

    在任何平台上使用PetaLinux的先决条件

    本篇文章介绍了在任何平台上使用 PetaLinux 的先决条件。PetaLinux 是一种嵌入式 Linux 软件开发套件 (SDK),主要用于基于 FPGA 的系统级芯片 (SoC) 设计或 FPGA 设计。
    的头像 发表于 04-24 10:40 1210次阅读
    在任何平台上使用<b class='flag-5'>PetaLinux</b>的先决条件

    请问S32K344,DMA的各个channel是否与LPSPI 0~6有固定的对应关系

    请问S32K344,DMA的各个channel是否与LPSPI 0~6有固定的对应关系? 我将DMA_IP_HW_CH_5 配置为LPSPI0 TX,DMA_IP_HW_CH_5=
    发表于 03-31 06:13

    从零开始驯服Linux(一):ZYNQ-Linux启动文件构建全解析

    默认,按回车键继续,结果如下图所示: 图 1.1.1 安装SDK再次确认是否将SDK安装在/opt/petalinux/2020.2 目录下,默认为“Y”,也就是“是”,按回车键继续往下执行,显示要输入
    发表于 03-20 16:48

    请问stm32mp257如何修改设备树并加载驱动?

    1、重新编译kernel容易报错,重新编译设备树也会报错。 2、加载驱动,编译环境应该对应,加载不成功。 3、想知道整体比方说,修改下IO,修改下设备树,加入一个应用程序。整体跑
    发表于 03-07 08:05

    在下载的源码进入bsp目录下的一个板子执行menuconfig报错,怎么解决?

    在下载的源码进入bsp目录下的一个板子执行menuconfig报错,如下: Kconfig:3:warning: ignoring unsupported character
    发表于 03-07 06:35

    DLP4710EVM I2C指令的LED current数值和GUI里的mA数是什么对应关系呢?

    1.能否编写程序,烧录光栅,然后利用SDK里的函数,设置光栅的投射时间,I2C命令是什么呢? 2.I2C指令的LED current数值和GUI里的mA数是什么对应关系呢?
    发表于 02-26 06:16

    AI Cube进行yolov8n模型训练,创建项目目标检测时显示数据集目录下存在除标注和图片外的其他目录如何处理?

    AI Cube进行yolov8n模型训练 创建项目目标检测时显示数据集目录下存在除标注和图片外的其他目录怎么解决
    发表于 02-08 06:21

    晶振AED设备的应用

        晶振AED设备的应用   晶振,这一看似微小的电子元件,却在AED(自动体外除颤器)设备扮演着至关重要的角色。随着AED地图导
    的头像 发表于 01-06 11:18 748次阅读

    ub933驱动程序是基于I2c编写的,请问驱动程序应该放在内核drivers目录下的哪个子目录里?

    ub933驱动程序是基于I2c编写的,请问驱动程序应该放在内核drivers目录下的哪个子目录里,驱动注册时应该使用什么函数?
    发表于 12-13 06:03