Я хочу использовать существующий API/модуль ядра для создания абстракции уровня пакетов для приложения пользовательского пространства для передачи «пакетов» через интерфейс UART.
Итак, целью является ядро модуль, который делает следующее
Использует другой модуль для чтения байтов UART (я не уверен, что мне следует использовать, я вижу «usbserial» доступен, но не уверен, что его можно расширить таким образом). Или, может быть, мне следует использовать файловую систему?
После чтения определенного количества байтов выполните некоторые вычисления, например crc, введите и т. д. И затем передает пакет в программу пользовательского пространства.
Программа пользовательского пространства может использовать механизм опроса для получения уведомлений, а затем прочитать весь пакет.< /p>
Как мне построить такое? У меня возникли проблемы с соединением частей, и google/chatgpt не помогает. Любой пример, который делает что-то подобное, был бы потрясающим, спасибо!
edit:
Под пакетом я подразумеваю внутреннюю структуру данных, не имеющую ничего общего с каким-либо другим протоколом.
Я хочу использовать существующий API/модуль ядра для создания абстракции уровня пакетов для приложения пользовательского пространства для передачи «пакетов» через интерфейс UART. Итак, целью является ядро модуль, который делает следующее [list] [*]Использует другой модуль для чтения байтов UART (я не уверен, что мне следует использовать, я вижу «usbserial» доступен, но не уверен, что его можно расширить таким образом). Или, может быть, мне следует использовать файловую систему?
[*]После чтения определенного количества байтов выполните некоторые вычисления, например crc, введите и т. д. И затем передает пакет в программу пользовательского пространства.
[*]Программа пользовательского пространства может использовать механизм опроса для получения уведомлений, а затем прочитать весь пакет.< /p>
[/list] Как мне построить такое? У меня возникли проблемы с соединением частей, и google/chatgpt не помогает. Любой пример, который делает что-то подобное, был бы потрясающим, спасибо! edit: Под пакетом я подразумеваю внутреннюю структуру данных, не имеющую ничего общего с каким-либо другим протоколом.
Как написать драйвер ядра Linux для UART?
Через UART я получаю непрерывный и асинхронный поток данных: главная задача здесь — не пропустить какие-либо данные. p>
Я использую serdev ( для получения входящих данных внедрение получения_buf в драйвере....
Я пытаюсь поднять модуль UART WiFi на Ubuntu. Модуль использует в командах, аналогичных ESP32. Нет конкретных драйверов от поставщика; Только sdio.
Я не нахожу много информации об этом. Все драйверы Wi -Fi, кажется, заботятся только о интерфейсе...
Мое приложение C/C++ использует сторонние библиотеки, которые выполняют системные вызовы.
Я хотел бы перехватить определенные системные вызовы, чтобы библиотеки вызывали мою версию. Я не хочу изменять их исходный код.
Я обнаружил kprobes, но мне...
Мое приложение C/C++ использует сторонние библиотеки, которые выполняют системные вызовы.
Я хотел бы перехватить определенные системные вызовы, чтобы библиотеки вызывали мою версию. Я не хочу изменять их исходный код.
Я обнаружил kprobes, но мне...
Для кода, упомянутого в сообщении, это функция __nv_cudaEntityRegisterCallback, внедренная компилятором nvcc, которая регистрирует имя/символ ядра на стороне хоста ((void (*)(double*, double*, double* , int))vecAdd) с символом _Z6vecAddPdS_S_i на...