所以我正在通过内核驱动程序编程工作,目前我正在尝试在应用程序和内核驱动程序之间构建一个简单的数据传输.
我使用简单的字符设备作为这两者之间的链接,我已成功将数据传输到驱动程序,但我无法将有意义的数据返回给用户空间.
内核驱动程序如下所示:
#include <linux/init.h>
#include <linux/module.h>
#include <linux/kernel.h> /* printk() */
#include <linux/errno.h> /* error codes */
#include <linux/types.h> /* size_t */
#include <linux/proc_fs.h>
#include <asm/uaccess.h> /* copy_from/to_user */
MODULE_LICENSE("GPL");
//Declarations
int memory_open(struct inode *inode, struct file *filp);
int memory_release(struct inode *inode, struct file *filp);
ssize_t memory_read(struct file *filp, char *buf, size_t count, loff_t *f_pos);
ssize_t memory_write(struct file *filp, char *buf, size_t count, loff_t *f_pos);
void memory_exit(void);
int memory_init(void);
/* Structure that declares the usual file access functions */ …Run Code Online (Sandbox Code Playgroud) linux serial-communication kernel-module linux-device-driver