update nucleo last kernels how descargar como change linux-kernel driver uart parity

linux-kernel - nucleo - linux kernel version



Protocolo de 9 bits en UART en Linux incorporado (2)

Estoy tratando de forzar un protocolo de 9 bits en un UART en Linux incorporado. Actualmente estoy probando esto en el tablero am335x_evm. Estoy planeando hacer esto usando la paridad de palo. Idealmente, esperaba no tener que modificar realmente ninguno de los códigos del controlador omap-serial.c.

El motivo del protocolo de 9 bits es admitir algún hardware heredado que lo use. El bit de paridad debe ser 1 para la parte de dirección del mensaje, 0 para la parte de datos y luego 1 para el byte de terminación.

Estaba planeando tener un proceso ejecutándose en el espacio de usuario que interactuaría con el UART a través de llamadas al sistema estándar (abrir, escribir, leer, ioctl, tcsetattr, etc.). Configuraría el UART para habilitar la paridad y establecer la paridad del stick. Luego establecería la paridad en par y llamaría a write () para enviar mis datos de dirección. Luego establecería la paridad en 0 y enviaría los datos. Mi preocupación es si cambio la paridad de 1 a 0, ¿cuándo eso afecta? Si UART no termina de enviar todos los datos de dirección, ¿se aplicará el cambio de paridad a los datos no enviados?


La forma correcta es configurar cs9 en su puerto serie (y posiblemente sin paridad), siempre que el hardware y el controlador lo admitan.

Buscaré un enlace para ti ...


Terminé escribiendo mi propio controlador de 9 bits. Fue la solución más fácil y eficiente.