¿Qué se necesita exactamente para construir un sistema Linux integrado?
1. Conceptos básicos de Linux
Instalar el sistema operativo Linux, el sistema de archivos de Linux, los comandos comunes de Linux, explicación detallada del proceso de inicio de Linux, estar familiarizado con los servicios de Linux y ser capaz de instale el sistema operativo Linux de forma independiente
Sé competente Utilice los comandos básicos del sistema Linux para comprender los servicios comunes del sistema Linux. Instale el sistema operativo Linux. Practique los comandos básicos de Linux para personalizar. Servicios de Linux.
Conceptos básicos de programación de Shell. Utilice vi para editar archivos. Utilice Emacs para editar archivos.
2. Introducción a Shell, familiarizado con la programación Bash del programa en segundo plano, familiarizado con el entorno de edición en el sistema Linux, familiarizado con varios Shell en Linux, experto en programación de shell, familiarizado con las operaciones básicas de vi
p>
Be familiarizado con las operaciones básicas de Emacs, comparar las diferencias entre diferentes shells, escribir un script de shell para probar si el servidor está conectado, escribir un script de shell para verificar si el proceso existe
Escribir un shell con un bucle programa de script de declaración
3. Conceptos básicos de la programación C en Linux
Descripción general del entorno del lenguaje Linux C Uso de Gcc Tecnología de depuración Gdb Autoconf Automake Optimización de código Makefile
Familiarizado con Linux sistema En el entorno de desarrollo, estar familiarizado con el compilador Gcc, estar familiarizado con las reglas de Makefile, escribir programas Hola, Mundo, usar el comando make para compilar el programa, escribir un programa con un bucle
Depurar un programa problemático
4. Conceptos básicos del desarrollo de sistemas integrados
Descripción general del sistema integrado Configuración de compilación cruzada Configuración del servicio TFTP Descarga del servicio NFS Cargador de arranque y kernel
Software de aplicación Linux integrado proceso de desarrollo Familiarizado con los conceptos de sistemas integrados y los procesos de desarrollo Establezca un entorno de desarrollo de sistemas integrados, cree la cadena de herramientas cross_gcc, compile y descargue U-boot
Compila y descarga el kernel de Linux, compila y descarga la aplicación de Linux
5. Trasplante de sistema integrado
Análisis de código relacionado con la plataforma del kernel de Linux La plataforma ARM presenta las tecnologías clave del trasplante de plataforma a la plataforma ARM y comprende el concepto de trasplante. /p>
Poder trasplantar el kernel de Linux y trasplantar el kernel Linux2.6 a la placa de desarrollo ARM9
Comunicación en serie bajo Linux integrado
Conceptos básicos de serial. E/S Proceso de desarrollo de software de aplicación de Linux integrado Archivos y dispositivos del sistema Linux y configuración de llamadas al sistema relacionadas con archivos Super Terminal y MiniCOM
Estar familiarizado con la comunicación en serie y la E/S de archivos, escribir programas de comunicación en serie y escribir programas de comunicación multiserie
7. Programación multiproceso en sistemas integrados
Descripción general del proceso del sistema Linux, características del proceso del sistema integrado, operaciones del proceso, llamadas al sistema relacionadas con demonios, comprensión del concepto de procesos en el sistema Linux, ser capaz de escribir programas multiproceso, escribir programas multiproceso
Escribir un programa demonio en suspensión Gestión, sincronización y comunicación de tareas de llamadas al sistema Descripción general de las tareas de Linux Señales de canalización de programación de tareas * **API de administración de tareas de memoria compartida Comprender el mecanismo de administración de tareas del sistema Linux
Estar familiarizado con varios métodos de comunicación entre procesos Familiarizarse con Linux integrado Sincronización y comunicación entre tareas Escriba un programa de canalización simple para implementar archivos. transferir Escribir un programa que utilice memoria compartida
8. Programación multiproceso en sistemas integrados
Threading Conocimientos básicos de métodos de programación multiproceso, problemas de sincronización en aplicaciones de subprocesos, comprender el. concepto de subprocesos, ser capaz de escribir programas simples de múltiples subprocesos, escribir un programa de múltiples subprocesos
9. Programación de redes Linux integradas
Conocimientos básicos de redes TCP/IP en Linux integrado.
Estructura de red, programación de sockets, funciones API comunes, análisis del comando Ping, implementación de programación básica de sockets UDP, gestión de licencias
Protocolo PPP, GPRS, comprensión de la arquitectura de red Linux integrada, capacidad para realizar programación de sockets en sistemas integrados Entorno Linux, familiarizado con el protocolo UDP, protocolo PPP, familiarizado con GPRS
Utilice sockets para escribir un servidor proxy. Utilice sockets para escribir un servidor de licencias. Señale las ventajas y desventajas de TCP. UDP Escriba un servidor web. Escriba un servidor que se ejecute en la plataforma ARM.
Reproductor de red
10. Desarrollo de programas GUI
Conceptos básicos de GUI Tipo de GUI del sistema integrado. compilar QT Llevar a cabo el desarrollo de QT Familiarizarse con la GUI comúnmente utilizada en sistemas integrados Ser capaz de realizar programación QT Usar QT para escribir el programa "Hello", World"
Depurar una instancia que une señales/ranuras y maneja eventos sobrecargando los métodos de la clase QWidget
11. Controlador de dispositivo de caracteres de Linux
Controlador de dispositivo Conocimientos básicos de programas, análisis del controlador de dispositivo de caracteres del módulo del sistema Linux, estructura fs_operation, carga del controlador, comprensión del concepto de controlador de dispositivo
Comprender la estructura del controlador de dispositivo de caracteres de Linux, ser capaz de escribir un controlador de dispositivo de caracteres, escribir un controlador Skull, escribir un controlador de teclado, escribir un controlador de E/S y analizar un controlador de vigilancia
Compare las diferencias entre los controladores de dispositivo de caracteres en el kernel 2.6 de Linux y el controlador de dispositivo de bloque de Linux del kernel 2.4 Principio de funcionamiento del controlador de dispositivo de bloque Análisis típico del controlador de dispositivo de bloque
Cola de solicitudes de lectura y escritura del dispositivo de bloque Comprender la estructura del controlador de dispositivo de bloque de Linux y poder escribir un controlador de dispositivo de bloque simple Comparar las similitudes y diferencias entre dispositivos de caracteres y dispositivos de bloque Escribir un controlador de tarjeta MMC para analizar un sistema de archivos
Comparar las diferencias entre controladores de dispositivo de bloque en Linux kernel 2.6 y kernel 2.4
12. Sistema de archivos
Establecimiento del sistema de archivos virtual sistema de archivos de memoria ramfs sistema de archivos proc archivo devfs Introducción a la tecnología MTD del sistema Inicialización del dispositivo de bloque MTD
Operaciones de lectura y escritura de dispositivos de bloque MTD Comprender el sistema de archivos del sistema Linux Comprender el sistema de archivos de Linux integrado Comprender la tecnología MTD Ser capaz de escribir un sistema de archivos simple Agregar MTD a la placa de desarrollo ARM9 Soporte p>
Transplante el sistema de archivos JFFS2, modifique los parámetros del sistema operativo a través del sistema de archivos proc, analice el código fuente del sistema de archivos romfs, cree un sistema de archivos cramfs
No importa la dirección que elija, el conocimiento básico de Linux es Otro Los conocimientos que deben adquirirse y dominarse incluyen ARM (el procesador integrado más utilizado) y programación en lenguaje C. El dominio de cada aspecto del conocimiento determina en última instancia la capacidad integral de un individuo para desarrollar Linux integrado.
Fuente de más detalles: "Huaqing Vision Embedded Academy"