首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux:未在/dev目录中创建看门狗节点。

linux:未在/dev目录中创建看门狗节点。
EN

Stack Overflow用户
提问于 2018-07-05 06:50:51
回答 1查看 1.8K关注 0票数 2

我想在我的应用程序中使用一个看门狗计时器。

我正在使用yocto在msm8953平台上构建系统。

根据.dtsi文件中的兼容字段,在.defconfig文件(即CONFIG_MSM_WATCHDOG_V2 = y)中配置了相应的驱动程序,我将得到以下dmesg:

代码语言:javascript
复制
[ 0.270444] msm_watchdog b017000.qcom,wdt: wdog absent resource not present
[ 0.270845] msm_watchdog b017000.qcom,wdt: MSM Watchdog Initialized

但是,在/dev目录中没有创建看门狗节点。

我还将看门狗和WATCHDOG_CORE驱动程序配置为Kconfig文件中的默认配置,但/dev目录中仍然不存在看门狗节点。

编辑1:添加默认值为Y在/驱动器/看门狗/Kconfig

menuconfig看门狗

看门狗计时器支持

默认Y

中频看门狗

配置WATCHDOG_CORE

bool "WatchDog计时器驱动核心“

默认Y

EN

回答 1

Stack Overflow用户

发布于 2018-07-06 05:51:39

我找到了来自这里的代码。我的答案是基于这个代码。

设备驱动程序可以在/dev/sys上生成节点。所以我们必须同时检查/sys/dev

关于/sys上的节点

有许多函数可以在/sys上创建节点。其中一个函数是device_create_file()。在这段代码中,如果调用init_watchdog_work(),调用device_create_file() (看门狗的节点),则将由此代码创建disable

代码语言:javascript
复制
error = device_create_file(wdog_dd->dev, &dev_attr_disable);

您可以在msm看门狗目录中找到disable节点。您可以使用find找到msm看门狗目录。

代码语言:javascript
复制
find /sys -name '*watchdog*'

即使您的代码与不同,您也可以看到device_create_file()在看门狗驱动程序中被调用。因此,您可以像我说的那样找到一个节点。

关于/dev上的节点

通常,您可以使用device_create()/dev上创建一个节点。如果调用device_create(),则在/dev上创建节点,否则将不创建该节点。

旋转器驱动程序在/dev上创建msm_rotator节点。

代码语言:javascript
复制
#define DRIVER_NAME "msm_rotator"
...
msm_rotator_dev->device = device_create(msm_rotator_dev->class, NULL,
                    msm_rotator_dev->dev_num, NULL,
                    DRIVER_NAME);

如果在代码中调用了device_create(),则可以在/dev上找到节点。如果函数未被调用,则/dev上没有节点。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51184957

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档