Red de conocimiento informático - Conocimiento informático - Qué aprender sobre los controladores integrados de Linux

Qué aprender sobre los controladores integrados de Linux

1. Escribir controladores de dispositivos Linux requiere que los ingenieros tengan una muy buena base de hardware y comprendan los métodos de lectura y escritura de SRAM, Flash, SDRAM y discos, las interfaces de UART, I2C, USB y otros dispositivos. , así como sondeos, interrupciones, el principio de DMA, cómo funciona el bus PCI y la unidad de gestión de memoria (MMU) de la CPU, etc.

2. Escribir controladores de dispositivos Linux requiere que los ingenieros tengan una muy buena base en lenguaje C y puedan usar de manera flexible estructuras, punteros, punteros de función y aplicaciones y versiones de memoria dinámica en lenguaje C.

3. Escribir controladores de dispositivos Linux requiere que los ingenieros tengan una determinada base del kernel de Linux. Aunque no se requiere que los ingenieros realicen una investigación en profundidad sobre varias partes del kernel, al menos deben comprender la interfaz entre ellas. controlador y el kernel. Especialmente para dispositivos complejos como dispositivos de bloque, dispositivos de red, dispositivos Flash y dispositivos de puerto serie, la arquitectura del controlador definida por el propio kernel es muy compleja.

4. Escribir controladores de dispositivos Linux requiere que los ingenieros tengan una muy buena base en sincronización y control de concurrencia multitarea, porque los bloqueos de giro, mutex, semáforos, colas de espera y otras funciones de concurrencia y sincronización se utilizan ampliamente en El mecanismo de sincronización. El desarrollo de controladores de Zhu, You y Peng es bastante bueno.