Я пытаюсь подключиться к микроконтроллеру из своего Linux-сервера через последовательный порт RS232.Linux с помощью драйвера изнутри драйвера
Я написал драйвер и реализовал протокол b/n pc и microcontroller, который использует устройство tty (/ dev/ttyS0), уже присутствующее в ядре в качестве модуля (например, посредством вызова open, close и т. Д.).). Однако, когда я пытаюсь скомпилировать, он говорит, что не может найти ссылку на open, write, read и т. Д.
Как я могу использовать только существующий драйвер устройства внутри драйвера? Есть что-то еще, что мне нужно включить?
Если нет, то как я могу использовать последовательный порт легко изнутри драйвера?
#include <linux/module.h>
#include <linux/kernel.h>
#include <linux/fs.h>
#include <linux/uaccess.h>
#include <linux/init.h>
#include <linux/slab.h>
#include <linux/cdev.h>
#include <linux/spinlock.h>
#include <linux/termios.h>
#include <linux/fcntl.h>
#include <linux/unistd.h>
Драйвер PPP делает это, используя так называемую «последовательную линейную дисциплину», которая представляет собой некоторую магию ttyS .... Технически можно открыть fds и сделать syscalls на них из контекста ядра. Но зачем вам это делать? – datenwolf