小编Col*_*olH的帖子

Linux驱动程序:ioctl还是sysfs?

我正在编写一个驱动程序来控制一些自定义硬件.

在过去(即15年前),我正在这样做ioctls,但现在正在挖掘sysfs作为一种可能的选择.

  • 据我了解,ioctls并没有完全弃用,但sysfs是首选(?)
  • 我需要同时读取/写入值集,即通过一个sysfs条目.我读过这不理想,但必要时可以接受(?)
  • 需要对mutex驱动程序进行" 保护",以便一次只能有一个应用程序写入.(我确实有一些只读'信息'条目,我希望所有人都可以随时访问这些条目).

鉴于上述情况,最好的方法是什么 - ioctl或sysfs?

如果是sysfs,那我该如何实现独占访问?

如果sysfs,那么如果驱动程序没有读/写/ ioctl fops,它是否需要打开/释放?!

(这是一个'私人'司机,所以我不在乎大规模;)但是如果新的方式更适用,那么我可能会抓住它们!)

谢谢.

ioctl linux-device-driver sysfs

13
推荐指数
1
解决办法
4382
查看次数

从 elf/obj 文件中提取字符串变量

我试图从 Linux 程序的 elf 文件中提取特定的字符串变量(即符号),甚至从它来自的 .o 中提取。它在 .rodata 部分,显然我知道符号名称。是否有一系列 objdump 样式的命令和选项可用于转储字符串?

更新:

例如,.map 文件包括:

.rodata.default_environment 0x000000001013f763 0x615 common/built-in.o
                            0x000000001013f763    default_environment
Run Code Online (Sandbox Code Playgroud)

变量本身 - default_environment- 是标准的以空字符结尾的文本字符串。

elf binutils

5
推荐指数
1
解决办法
3525
查看次数

标签 统计

binutils ×1

elf ×1

ioctl ×1

linux-device-driver ×1

sysfs ×1