Red de conocimiento informático - Espacio del host - Quiero trabajar en el desarrollo de aplicaciones integradas de Linux. ¿Cómo debo aprender?

Quiero trabajar en el desarrollo de aplicaciones integradas de Linux. ¿Cómo debo aprender?

El libro de Wei Dongshan es un clásico y el enlace es muy bueno:

/mn/detailApp/ref=sr_1_1?_encoding=UTF8&s=books&qid=1274700325&asin=B001DCEA46&sr=8-1

" El "Manual completo de desarrollo de aplicaciones Linux" incorporado toma como ejemplos las placas de desarrollo S3C2410 y S3C2440, desde el análisis de la primera instrucción ejecutada cuando se enciende el hardware hasta la construcción de un sistema de interfaz gráfica de usuario de escritorio similar a una PDA basado en Linux, lo que lidera a los lectores. para aprender y dominar todo, desde un enfoque de bajo a alto hasta la escritura de software.

El "Manual de desarrollo de aplicaciones Linux integradas" presenta de manera integral el proceso de desarrollo del sistema Linux integrado, desde el soporte del sistema subyacente hasta la aplicación GUI de nivel superior. El contenido cubre la instalación del sistema operativo Linux y. herramientas relacionadas: el uso, la configuración, los conocimientos básicos necesarios para la programación integrada (opciones de herramientas de compilación cruzada, sintaxis de Makefile, sintaxis de instrucciones de ensamblaje ARM, etc.), el uso y la programación de componentes de hardware (incluido el hardware de uso común, como UART, I*IC, LCD, etc.), UBoot, kernel de Linux, etc. ), UBoot, análisis, configuración y portabilidad del kernel de Linux, construcción del sistema de archivos raíz (incluida la portabilidad de togetherbox, glibc, archivos de imagen, etc.), tecnología de depuración del kernel (como agregar parches kgdb, seguimiento de pilas), escritura de controladores, etc.

Tecnología de depuración del kernel (como agregar parche kgdb, rastreo de pila), escritura de controladores, etc.), escritura y trasplante de controladores (LED, teclado, puerto serie extendido, tarjeta de red, disco duro, tarjeta SD, LCD y USB, etc. ), trasplante del sistema de interfaz gráfica de usuario (incluidos dos sistemas de interfaz gráfica de usuario basados ​​en Qtopia y X), tecnología de depuración de aplicaciones.

El "Manual completo de desarrollo de aplicaciones Linux integradas" comienza con la forma más sencilla de encender un LED y avanza desde lo más superficial a lo más profundo, permitiendo a los lectores configurar, trasplantar y modificar finalmente el kernel. escribir controladores, trasplantar el sistema GUI y dominar todos los métodos de desarrollo para sistemas Linux integrados.

1. Conceptos básicos de Linux

Instalación del sistema operativo Linux, sistema de archivos de Linux, comandos comunes de Linux y explicación detallada del proceso de inicio de Linux.

2. Conceptos básicos de la programación de Shell

Comience con Shell, comprenda el programa en segundo plano, la programación Bash y familiarícese con el entorno de edición en el sistema Linux.

3. Conceptos básicos de la programación en lenguaje C en Linux

Descripción general del entorno del lenguaje C en Linux Gcc utiliza habilidades de depuración de Gdb.

4. Conceptos básicos del desarrollo de sistemas integrados

Descripción general de los sistemas integrados, compilación cruzada, configuración del servicio TFTP, configuración del servicio NFS, descarga del gestor de arranque y el kernel y desarrollo de aplicaciones Linux integradas.

4. Trasplante de sistema integrado

Análisis de código relacionado con la plataforma del código del kernel de Linux Introducción de la plataforma ARM a las tecnologías clave del trasplante de plataforma Transplante el kernel de Linux a la plataforma ARM Comprender el concepto de trasplante y poder trasplantar el kernel de Linux. Porte el kernel Linux2.6 a la placa de desarrollo ARM9.

5. Conceptos básicos de comunicación serie Linux integrada, E/S serie, proceso de desarrollo de aplicaciones Linux integradas, archivos y dispositivos del sistema Linux.

6. Programación multiproceso en sistemas integrados Descripción general de los procesos del sistema Linux Características de los procesos de los sistemas integrados Demonios de operación de procesos Llamadas al sistema relacionadas Comprender el concepto de procesos en los sistemas Linux.

...

Hay muchos en línea ~ puedes empezar jugando con una máquina virtual.

R. Generalmente instale la máquina virtual VMWARE y luego descargue la imagen del CD RedHat 9.0 de Internet.

Este método es más adecuado para comenzar con Linux. Por supuesto, Cygwin también está disponible, pero no se recomienda.

B. Luego, puede seguir los pasos anteriores para aprender. Una vez que domine el shell de Linux, gcc, gdb, programación del sistema, interfaz gráfica de usuario (QT, miniGUI, MicroWin, etc.), puede comprar un desarrollo. Aquí no se especifica ninguna marca específica, hay muchas placas de desarrollo 2410/2440.

C. Luego comience a jugar con la placa de desarrollo. Las herramientas de edición de código más utilizadas son: SourceInsight, UE.

También hay herramientas de comparación de código, BeyondCompare.

Por supuesto, existe ADS1.2, que es esencial. ¡Primero puede utilizar la placa de desarrollo ARM como placa de desarrollo de microcontrolador! Primero, familiarícese con el uso de dispositivos de hardware específicos, como UART, SPI, controlador LCD, etc., y finalmente juegue con el gestor de arranque, el trasplante de sistemas, el kernel, el sistema de archivos, la programación de aplicaciones, la programación de controladores, etc.