【问题标题】:Checking simple char device read/write functions in LINUX在 LINUX 中检查简单的字符设备读/写功能
【发布时间】:2012-02-14 11:51:18
【问题描述】:

我是 linux 内核编程的新手。我写了一个简单的内核模块和字符设备。我定义了设备的 open()、release()、read() 和 write() 方法。我用 insmod 初始化我的模块并用 rmmod 删除它,一切正常。现在我想检查设备的 read() write() 方法。你能告诉我如何编写一个应该实现我的字符设备的读/写方法的用户程序吗?谢谢。

【问题讨论】:

    标签: c linux linux-kernel linux-device-driver


    【解决方案1】:

    当你有一个字符设备并且你想检查你的 readwrite 系统调用的实现时,你可以做的第一个测试是:

    • 使用echo shell 命令写入:echo 42 > /dev/char_device
    • 使用cat 命令或使用head 命令(或dd)读取指定数量的字节,并在必要时使用od -x 转换为十六进制:head -8 /dev/char_device | od -x

    现在用C写程序,用fopen打开文件,用freadfwrite读写数据;您也可以使用readwrite 系统调用,但freadfwrite 是包装readwrite 的标准C 库函数。

    【讨论】:

      【解决方案2】:

      如果尚未自动创建设备文件,则必须在 /dev 中创建设备文件。然后您可以编写一个程序来打开和读取/写入该文件。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-01-10
        • 1970-01-01
        • 2017-11-23
        • 2019-03-10
        • 2014-01-23
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多