Lo que los ingenieros integrados necesitan aprender
1: Lenguaje C: los ingenieros de desarrollo de Linux integrado deben tener una cierta base en el lenguaje C. El lenguaje C es un lenguaje de programación importante y principal en el campo integrado. Gran cantidad de ejemplos de programación. Programación y conocimientos avanzados de programación. Incluyendo: tipos de datos básicos, matrices, punteros, estructuras, listas vinculadas, operaciones de archivos, colas, pilas, etc.
Dos: Conceptos básicos de Linux: el concepto y el método de instalación del sistema operativo Linux, comprensión detallada de la estructura de directorios, comandos básicos, editor VI, compilador GCC, depurador GDB y herramienta de gestión de proyectos Make, Shell en conocimientos de Linux. de scripting Makefile y la construcción de un entorno de desarrollo integrado.
Tres: programación del sistema Linux: céntrese en aprender la biblioteca de E/S estándar, la programación multitarea multiproceso y multiproceso en Linux y la comunicación entre procesos (tubería, FIFO, cola de mensajes, memoria compartida, señal, semáforo, etc.), sincronización y exclusión mutua, control de acceso a recursos compartidos y otros conocimientos importantes, principalmente para mejorar la comprensión del desarrollo de aplicaciones Linux y las capacidades de depuración de código.
Cuatro: Programación de redes Linux: las redes informáticas se utilizan ampliamente en el proceso de desarrollo de aplicaciones de sistemas Linux integrados, a través del desarrollo de redes Linux, protocolo TCP/IP, programación de sockets, programación de redes TCP, programación de redes UDP, Web. Comience con el desarrollo de programación y otros aspectos para obtener una comprensión integral del desarrollo de aplicaciones de red Linux. Concéntrese en aprender las API relacionadas con la programación de redes, domine los métodos de programación de los servidores del protocolo TCP y la implementación de servidores concurrentes, comprenda el protocolo HTTP y sus métodos de implementación, esté familiarizado con los principios y métodos de programación de la transmisión y multidifusión UDP y domine las Diseño de sistemas de comunicación de red con arquitectura híbrida C/S, familiarizado con HTML, Javascript y otras tecnologías y métodos de implementación de programación web.
Cinco: Estructuras de datos y algoritmos: las estructuras de datos y los algoritmos se utilizarán ampliamente en el desarrollo de controladores subyacentes integrados, protocolos de comunicación y varios motores. La calidad de su dominio afecta directamente la eficiencia y la eficiencia del. programa Simplicidad y robustez. El aprendizaje en esta etapa debe centrarse en comprender el contenido básico de las estructuras de datos y algoritmos, incluidas listas secuenciales, listas vinculadas, colas, pilas, árboles, gráficos, tablas hash, varios algoritmos de búsqueda y clasificación y otras aplicaciones y sus procesos de implementación en lenguaje C.
Seis: C, QT: C es uno de los principales lenguajes para el desarrollo de aplicaciones Linux. Esta etapa se centra en dominar las ideas básicas de la programación orientada a objetos y el contenido importante de C. La programación de interfaz gráfica es un vínculo muy importante en el desarrollo integrado. Debido a que QT tiene funciones poderosas como API enriquecida, multiplataforma y orientada a objetos, soporte para renderizado 2D / 3D, soporte para XML y múltiples idiomas, se ha utilizado ampliamente en el desarrollo de GUI en el campo integrado. se basa en la biblioteca de gráficos QT. El aprendizaje permite a los estudiantes escribir hábilmente programas GUI y trasplantar aplicaciones QT a la plataforma Cortex-A8. Incluyendo el uso de IDE, componentes QT y administradores de diseño, aplicación de información y mecanismos de ranura, aplicación de mouse, teclado y procesamiento de eventos de dibujo y procesamiento de archivos.
Siete: Cortex A8, desarrollo de plataforma Linux: aprenda las habilidades básicas de lectura del manual del chip procesando s5pv210 basado en ARM Cortex-A8 y domine los recursos del sistema s5pv210, el controlador de reloj, la administración de energía y la interrupción de excepción. controlador, nand Los módulos como el controlador flash están preparados para la construcción de la plataforma subyacente. La plataforma Linux incluye reducción del kernel, trasplante de kernel, compilación cruzada, uso de herramientas GNU, depuración del kernel, introducción del gestor de arranque, análisis de principios y producción, producción del sistema de archivos raíz y adición de sus propios módulos al kernel, y ejecución de su propia producción en el Plataforma experimental s5pv210 del sistema Linux, implementación integrada de todo el proceso del sistema Linux. Al mismo tiempo, comprenda el proceso de desarrollo del sistema operativo Android. El sistema Android es un sistema operativo de código abierto basado en la plataforma Linux. La plataforma consta de un sistema operativo, middleware, interfaz de usuario y software de aplicación. Es el primer software móvil verdaderamente abierto y completo creado para terminales móviles. En el caso de los terminales móviles, también incluye productos electrónicos de consumo como televisores de datos, descodificadores y PDA.
Ocho: Desarrollo de controladores: el diseño de controladores es una parte importante del trabajo de desarrollo de Linux integrado, y también es una parte difícil. En esta etapa del estudio, debe estar familiarizado con el mecanismo del kernel de Linux, la interfaz entre los controladores y las aplicaciones a nivel de usuario, y dominar las operaciones concurrentes del sistema en los dispositivos. Estar familiarizado con el principio de funcionamiento del hardware desarrollado, tener conocimientos básicos de las interfaces de hardware ARM, estar familiarizado con los recursos del procesador ARM Cortex-A8 s5pv210, dominar el marco de principios del controlador de dispositivos Linux y estar familiarizado con los dispositivos de caracteres avanzados de Linux, bloquear Dispositivos, dispositivos de red y USB comúnmente utilizados en proyectos. Desarrollo de dispositivos y otros controladores, y podrá desarrollar de forma independiente controladores de bajo nivel en el trabajo.
El contenido anterior es lo que hacen principalmente los ingenieros de desarrollo de Linux. Parece que hay bastantes. De hecho, aprender Linux es paso a paso y poco a poco descubrirás que todo encaja. ¿Aún dudas si estudiar? ¡Empieza ahora!