Я новичок в драйверах для Linux и начал с написания приложения для USB-устройства на основе cdc-acm в Linux. Поэтому я использовал драйвер cdc_acm. USB-устройство, которое я использую, имеет 2 конечные точки Bulk (чтение и запись) и одну конечную точку прерывания.
Теперь мой вопрос заключается в том, работают ли все эти конечные точки с одним и тем же файлом /dev/ttyACM0, и как вызов записи в этот файл tty преобразуется в вызов acm_write_bulk fops?
Если я запишу данные для запуска функции USB в файл ttyACM0, будут ли данные отправлены через конечную точку массовой рассылки? Или как мне отправить данные на массовую конечную точку непосредственно из пользовательского пространства. Должен ли я писать какой-либо поддерживающий драйвер в пространстве ядра? Точно так же, как мне прочитать данные из конечной точки прерывания в пользовательском пространстве?
Я ценю вашу помощь заранее.