после НГ планирую плотно заняться расширителем для линукса на stm32. И есть вопросы по архитектуре драйвера. Пока плотно всё не изучал, пока собираю материал.
Я хочу повесить стм32 на юсб. На нём хочу сделать AЦП, CAN, SPI, UART. Кому чё надо сможет сам добавить.
1. При включении драйвер должен создавать как сетевые так и символьные устройства. Для CAN нужен сетевой драйвер. Как этос делано в обычном линуксе и MCP2515. Тогда можно на ненгои шарк натравить и прочие прелести. Если это АПЦ то его делать чреез символьное устройство с ioctl для управления?
Я правильно мыслю? Это возможно? Канал один это юсб. Но нужно несколько драйверов чтобы в этот канал лезло.
2. Как лучше юзать юсб? Колхозить свой протокол над виртуальным компортом, или пистаь всё самому? Какой юникс вай?
В качестве костыльного варианта - имитируй MCP2515, будучи slave. Или тебе принципиален USB?
1. твой драйвер должен одним концом болтать с девайсом, другим - имплементировать соответствующие апишки линукса. для АЦП это IIO подсистема например. 2. лучше сделать девайс с кучей эндпоинтов для разных целей
Обсуждают сегодня