Lamento no haber podido encontrar esta respuesta en este sitio o en este sitio web. Tengo un ARM SoC (host) que necesita comunicarse con el periférico que tiene un controlador ARM Micro mediante UART. Linux se ejecuta sobre ARM SoC. A continuación están mis preguntas.
-
Desde el lado del host, si quiero escribir o leer datos, entiendo que tenemos que hacer: (Los pasos a continuación son de la "Guía de programación en serie para sistemas operativos POSIX": Michael R. Sweet) fd = abierto ("/ dev / ttyS0", O_RDWR | O_NOCTTY | O_NDELAY); fcntl (fd, F_SETFL, FNDELAY); Modo crudo hay otras cosas que entiendo
Debajo están las cosas que no entiendo: 1.1 ¿También necesito configurar el puerto serie del host en el espacio de usuario? Por ejemplo, la configuración de la velocidad en baudios, el tamaño de los caracteres, la comprobación de paridad, el control del flujo del hardware, etc., o el controlador de Linux se encargará de ello. No estoy seguro de dónde se debe manejar, el espacio del usuario o el espacio del controlador o U-Boot. 1.2 Además, quiero saber dónde se codificarán las cosas relacionadas con los registros ARM UART de SoC, ¿está en U-Boot o en algún otro lugar? En AVR, generalmente accedemos directamente a los registros.
-
Ahora, el periférico del controlador ARM es de un proveedor. ¿Necesitamos escribir un controlador para ello o el proveedor lo proporcionará y tenemos que integrarlo? En caso afirmativo, explíquelo a un nivel muy alto sobre cómo debemos integrarlo. Presencia de código en U-Boot, espacio del controlador.
Una cosa más, entiendo que el código que usamos para controlar los periféricos se llama código de controlador y está presente en el espacio del kernel de Linux del host. ¿Cuál es el nombre del código para acceder a los registros UART de SoC (host) o cualquier otro registro en SoC? donde esta presente U-Boot, espacio del controlador o en otro lugar.
Entiendo que los expertos que están respondiendo esta pregunta habrían obtenido este conocimiento de algunos documentos, leer el código y hacer las cosas de manera práctica. Sería genial si puedo obtener sugerencias para los tres, pero incluso si obtengo los documentos de referencia, me sentiré feliz.