STM32
直播中

绝代双骄

11年用户 1094经验值
私信 关注
[问答]

使用buildroot构建根文件系统,运行qt的example的时候遇到的疑问求解

我使用buildroot构建根文件系统,在运行qt的example的时候出现了以下错误:
openat(AT_FDCWD, "/dev/galcore", O_RDWR) = -1 ENOENT (No such file or directory)openat(AT_FDCWD, "/dev/graphics/galcore", O_RDWR) = -1 ENOENT (No such file or directory)clock_nanosleep(CLOCK_REALtiME, 0, {tv_sec=1, tv_nsec=0}, 0xbe8ec8d0) = 0write(2, "[     1] Failed to open device: "..., 72) = 72
我加载了galcore.ko但是/dev/下面确实没有galcore和graphics/galcore:
# dmesg | grep galcore[    9.490473] galcore: loading out-of-tree module taints kernel.# ls /dev/galcore*ls: /dev/galcore*: No such file or directory我使用tslib测试触摸,使用modetest测试LCD,都是正常的,为什么我的qt就是无法正常运行呢?

回帖(1)

回头太晚

2024-9-22 17:53:37
根据您提供的错误信息,问题似乎在于Qt示例程序无法找到名为 "/dev/galcore" 和 "/dev/graphics/galcore" 的设备文件。这可能是因为这些设备文件没有被正确创建或挂载。

以下是一些建议来解决这个问题:

1. 确保您的内核支持所需的设备驱动。检查内核配置(通常是 .config 文件),确保与您的硬件相关的设备驱动已经启用。

2. 检查设备驱动是否已正确加载。您可以使用以下命令查看已加载的内核模块:

   ```
   lsmod | grep galcore
   ```

   如果没有列出 "galcore" 模块,您可以尝试手动加载它:

   ```
   insmod galcore.ko
   ```

3. 创建设备文件。如果设备驱动已加载,但设备文件仍然不存在,您可以尝试手动创建它们。首先,确保您有适当的权限(可能需要root权限):

   ```
   sudo su
   ```

   然后,创建设备文件:

   ```
   mknod /dev/galcore c
   mknod /dev/graphics/galcore c
   ```

   其中 `` 和 `` 是设备的主次设备号。您可以从设备驱动的文档或源代码中找到这些信息。

4. 确保设备文件具有正确的权限。您可以使用以下命令设置适当的权限:

   ```
   chmod 666 /dev/galcore
   chmod 666 /dev/graphics/galcore
   ```

5. 重新运行Qt示例程序,看看问题是否已解决。

如果问题仍然存在,请检查设备驱动的日志和文档,以获取更多关于如何正确配置和使用设备的详细信息。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分