У меня есть домашняя работа по написанию модуля в ядре 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;
}