Cómo elegir herramientas de desarrollo integradas de Linux
El desarrollo de Linux integrado se divide de abajo hacia arriba: desarrollo de hardware integrado, desarrollo de controladores integrados, desarrollo de sistemas integrados y desarrollo de software integrado.
1. Desarrollo de hardware integrado: estar familiarizado con los circuitos y otros conocimientos, estar muy familiarizado con varios componentes comunes y dominar las capacidades de desarrollo del diseño de circuitos analógicos y digitales. Competente en conocimientos de hardware integrado, familiarizado con los modelos de desarrollo de hardware y modelos de diseño, familiarizado con el desarrollo de plataformas de hardware integradas con procesadores ARM de 32 bits y con experiencia en desarrollo de productos. Competente en herramientas de diseño de hardware de uso común: Protel/PADS (PowerPCB)/Cadence/OrCad. Generalmente, se requiere experiencia en diseño de PCB de alta velocidad de 4 a 8 capas.
2. Desarrollo de controladores integrados: dominio del sistema operativo Linux, estructura del sistema, principios de composición de computadoras y conocimientos relacionados con la estructura de datos. Familiarizado con el desarrollo ARM integrado, al menos dominar el desarrollo de controladores de caracteres de Linux. Tener la capacidad de trasplantar y desarrollar microcontroladores y procesadores integrados ARM, comprender esquemas de hardware y completar de forma independiente la depuración de controladores de hardware relacionados. Tener conocimientos sólidos de hardware y poder escribir controladores de software de acuerdo con los manuales de chips.
3. Desarrollo de sistemas integrados: dominio de la configuración del sistema Linux, dominio de la arquitectura del procesador, entorno de programación, conjunto de instrucciones, modo de direccionamiento, depuración, ensamblaje y programación híbrida. formatos (YAFFS2, JAFFS2, RAMDISK, etc.); familiarizado con el proceso de inicio integrado de Linux, familiarizado con la modificación de los archivos de configuración del kernel maestro, trasplante de kernel, compilación cruzada, depuración del kernel, escritura del cargador de arranque del programa de inicio, root; proceso completo de producción de sistemas de archivos e implementación integrada de sistemas Linux; familiarizado con la construcción del entorno de desarrollo de software Linux (compilación cruzada de archivos de biblioteca y configuración del entorno, etc.);
4. Desarrollo de software integrado: competente en Sistema operativo Linux Conocimiento de conceptos y métodos de instalación, comandos básicos en Linux, configuración de administración y editores, incluido el editor VI, el compilador GCC, el depurador GDB y la herramienta de gestión de proyectos Make. Conocimiento avanzado de programación en lenguaje C, incluidas funciones y estructuras de programas. punteros, matrices, algoritmos comunes, el uso de funciones de biblioteca y otros conocimientos, contenidos básicos de estructuras de datos, incluidas listas enlazadas, colas, etc., dominar las ideas básicas de la programación orientada a objetos, así como los contenidos básicos del lenguaje C; ser competente en programación bajo Linux integrado, competente en el entorno de desarrollo de Linux integrado, incluida la programación de sistemas, E/S de archivos, multiprocesos y subprocesos múltiples, programación de redes, programación de interfaces gráficas GUI y estar familiarizado con la programación de uso común; Bibliotecas de gráficos, como QT, GTK, miniGUI, fltk, nano-x, etc.
Entonces, si desea desarrollar software integrado, el conocimiento anterior es básicamente suficiente.