Как открыть файл устройства по пути: / dev / targetdev? - PullRequest
0 голосов
/ 02 ноября 2019

У меня есть домашняя работа по написанию модуля в ядре Linux. Я объявил 2 функции для драйвера символов (открыть и прочитать). И я могу нормально работать с командой "sudo cat". Но когда я использовал файл user_test.c для тестирования этого модуля, он не работает. Он не может открыть файл устройства в "/ dev / targetdev". (В моем случае targetdev = "vchar_dev"). Пожалуйста, помогите мне исправить это. Спасибо!

//code in module file
static int vchar_driver_open(struct inode *inode, struct file *flip){
 printk("Open successfully\n");
 return 0;
}

//code in user_test.c
#define DEVICE_NODE "/dev/vchar_dev"


int open_chardev() {
    int fd = open(DEVICE_NODE, O_RDWR);
    if(fd < 0) {
        printf("Can not open the device file\n");
        exit(1);
    }
    return fd;
}
...