¿Qué versión de Linux es mejor para el desarrollo integrado?
Luego, aprenda a programar el sistema Linux, que incluye principalmente operaciones de archivos, descriptores de archivos fd, operaciones de archivos de escritura, lectura, apertura y cierre, etc. y luego aprenda el proceso fork(); vfork(); para crear procesos y administrar procesos padre-hijo. La comunicación entre procesos incluye canalizaciones sin nombre, canalizaciones con nombre, colas de mensajes, * * * memoria compartida, semáforos, sockets, etc. Después de dominarlo, debes aprender la exclusión mutua y la sincronización de subprocesos y subprocesos. Cuando los subprocesos comparten recursos de proceso, deben asignar recursos de manera razonable, como los semáforos sem y pthread_mutex. Señal La señal utilizada para detectar la señal. Señales comunes como Ctrl C, interrumpen el proceso en primer plano y eliminan el proceso de interrupción en segundo plano. Si está interesado en las redes, puede aprender de los sockets de red de Linux para lograr la comunicación entre múltiples hosts. Por ejemplo, QQ e IPMSG se ejecutan en sockets de red. Familiarizado con TCP, UDP, TFTP, HTTP y otros protocolos de transmisión en la capa de red. Personalmente, creo que analizar los beneficios es lo que lleva más tiempo. Usted mismo puede crear IPMSG, usuario único, servidor concurrente y servidor de eco.
Si está interesado en la GUI, puede obtener información sobre C y Qt fue adquirida por Nokia y Nokia fue adquirida por Microsoft. Qt soporta muchas plataformas y es muy práctico. C opera principalmente en clases, similar a la estructura en C. El nombre de la clase es { }; // Declarar el nombre de la clase: clase base del método heredado { }; Las clases son la abstracción de la * * * esencia de las cosas, y los objetos son la materialización de la * * * esencia y son instancias de clases. La *naturaleza de un maestro es: enseñar, comer, dormir, etc. , se pueden resumir en una clase y sus personalidades son edad, género, nombre, etc. , pertenece a la categoría de docente.
Después de aprender C y Qt, y con el concepto de orientación a objetos, puede aprender Java y los sistemas Android, y desarrollar software de aplicaciones móviles y juegos, similar a Java y C, elimine la parte del puntero en C, y completamente memoria Las operaciones externas están completamente orientadas a objetos, y Android y Qt son similares, por lo que no entraré en detalles.
Hablemos del resultado final:
La capa inferior utiliza principalmente lenguaje C y ensamblaje de brazo, principalmente el lenguaje estándar ensamblador después de la versión v4. Primero, aclaremos cómo se inicia el sistema Linux subyacente. Una gran parte del kernel de Linux incorporado es principalmente una versión estable. No busque la última versión, la más adecuada es la mejor. La primera parte es utilizar lenguaje ensamblador para guiar el lenguaje C, principalmente configurando el entorno de software y hardware de la placa de desarrollo. Principalmente el gestor de arranque (vivi, uboot.bin), y luego pasa los parámetros establecidos al kernel. El kernel llama a estos parámetros para encontrar los archivos correspondientes, realizar las operaciones correspondientes, luego el sistema de archivos raíz de Linux y finalmente el trasplante de software.
Software utilizado: vmplayer (versión Linux redenterp), HyperTerminal en Windows, LSJF24X0.exe (usado al descargar el gestor de arranque o H-Jtag), tftpd32.exe (usado como servidor en Windows, para descargar u -cable de red de arranque) y otras herramientas.
¡Lo anterior es una experiencia personal y es solo como referencia!