¿Cómo aprender a desarrollar software integrado?
Se recomienda participar en la capacitación. El ciclo de aprendizaje integrado es de 3 a 5 meses y el umbral es relativamente alto. El autoestudio requiere una gran capacidad de aprendizaje y habilidades profesionales. En pocas palabras, tomar el camino de la capacitación puede familiarizarse rápidamente con la industria integrada e ingresar a ella. Uno de mis compañeros de clase fue a una empresa llamada Oriental Saifu para participar en la capacitación integrada. Se dice que tiene la mejor reputación en Beijing. También adjunto los pasos de aprendizaje del sistema integrado. ser útil para usted. . . .
1. Conceptos básicos de Linux
Instalar el sistema operativo Linux, el sistema de archivos de Linux, comandos comunes de Linux, explicación detallada del proceso de inicio de Linux, estar familiarizado con los servicios de Linux, poder realizar tareas de forma independiente instalar el sistema operativo Linux y dominar el uso de los comandos básicos del sistema Linux Servicios de uso común en sistemas Linux Instalación de sistemas operativos Linux Comandos básicos de Linux en la práctica Configuración de variables de entorno de Linux Personalización de servicios de Linux Conceptos básicos de programación de Shell Uso de vi para editar archivos. Usar Emacs para editar archivos Usar otros editores
2. Conceptos básicos de programación de Shell
p>Introducción a Shell Comprender el programa en segundo plano Programación Bash Familiarizado con el entorno de edición en el sistema Linux Familiarizado con varios Shells en Linux Familiarizado con la programación de shell Familiarizado con las operaciones básicas de vi Familiarizado con las operaciones básicas de Emacs Comparar las diferencias entre diferentes shells Escriba un servidor de prueba para ver si está conectado Escriba un programa de script de shell para verificar si el proceso existe Escriba un. programa de script de shell con declaraciones de bucle
3. Conceptos básicos de la programación C en Linux
entorno de lenguaje Linux C Descripción general de cómo utilizar la tecnología de depuración Gcc Gdb Autoconf Automake Makefile Optimización de código Familiarizado con el desarrollo entorno bajo el sistema Linux Familiarizado con el compilador Gcc Familiarizado con las reglas de Makefile Escribir el programa Hello, World Usar el comando make para compilar el programa Escribir un programa con un bucle Depurar un programa problemático
4. 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 proceso de desarrollo de software de aplicaciones Linux integrado Familiarizado con los conceptos y el desarrollo del sistema integrado Proceso: establecer un entorno de desarrollo de sistema integrado, crear una herramienta cross_gcc encadenar, compilar y descargar U-boot, compilar y descargar el kernel de Linux, compilar y descargar aplicaciones de Linux
4. Trasplante de sistema integrado
Análisis de código relacionado con la plataforma de código del kernel de Linux La plataforma ARM presenta la tecnologías clave de trasplante de plataforma, trasplanta el kernel de Linux a la plataforma ARM, comprende el concepto de trasplante, es capaz de trasplantar el kernel de Linux, trasplanta el kernel de Linux2.6 a la placa de desarrollo ARM9
5. Comunicación del puerto serie de Linux
Conceptos básicos de E/S serie Proceso de desarrollo de software de aplicaciones Linux integradas Archivos y dispositivos del sistema Linux y configuración de llamadas al sistema relacionadas con archivos HyperTerminal y MiniCOM Familiarizarse con la comunicación serie Familiarizarse con la E/S de archivos Escribir un programa de comunicación en serie y escribir un programa de comunicación multiserie
6. Programación multiproceso en sistemas integrados
Descripción general del proceso del sistema Linux Características del proceso de los sistemas integrados Operaciones de proceso Sistemas relacionados con demonios Llamada Comprender el concepto de proceso en el sistema Linux Ser capaz de escribir programas multiproceso Escribir programas multiproceso Escribir un programa demonio Llamada al sistema de suspensión Gestión de tareas, sincronización y comunicación Descripción general de las tareas de Linux Señales de canalización de programación de tareas *** Gestión de tareas de memoria compartida API Comprender las tareas del sistema Linux Mecanismo de gestión Familiarizado con varios métodos de comunicación entre procesos Familiarizado con la sincronización y comunicación entre tareas en Linux integrado Escriba un programa de canalización simple para implementar la transferencia de archivos Escriba un programa que utilice *memoria compartida
7. Incrustar programación multiproceso en sistemas convencionales
Conocimientos básicos de subprocesos Métodos de programación multiproceso Problemas de sincronización en aplicaciones de subprocesos Comprender el concepto de subprocesos Ser capaz de escribir programas multiproceso simples Escribir un programa multiproceso programa con subprocesos
8. Programación de redes Linux integrada
Conceptos básicos de red Estructura de red TCP/IP programación de sockets en Linux integrado Análisis de funciones API comunes Implementación del comando Ping Programación básica de sockets UDP Gestión de licencias PPP protocolo GPRS Comprensión de la arquitectura de red Linux integrada que permite la programación de sockets en un entorno Linux integrado.
Familiarizado con los protocolos UDP y PPP. Utilizar sockets. Escribir servidores proxy. Escribir enrutadores. Señalar las ventajas y desventajas de TCP y UDP. la plataforma ARM
9, desarrollo de programas GUI
Conceptos básicos de GUI Sistema integrado Compilación de tipo GUI QT Llevar a cabo el desarrollo QT Familiarizado con las GUI de uso común en sistemas integrados Capaz de realizar programación QT Uso QT escribirá el programa "Hola mundo" para depurar una señal/ranura agregada. La instancia maneja eventos sobrecargando los métodos de la clase QWidget
10. Controlador de dispositivo de caracteres de Linux
Conocimientos básicos de controladores de dispositivo. Análisis del controlador de dispositivo de caracteres del módulo del sistema Linux estructura fs_operación Carga del controlador Comprensión del dispositivo El concepto de controlador, comprensión de la estructura del controlador de dispositivo de caracteres de Linux, capacidad de escribir el controlador de dispositivo de caracteres, escribir el controlador Skull, escribir el controlador del teclado, escribir E/S controlador, analizar un controlador de vigilancia, comparar las diferencias entre los controladores de dispositivo de caracteres en el kernel de Linux 2.6 y el kernel 2.4 en Linux Controlador de dispositivo de bloque Principio de funcionamiento del controlador de dispositivo de bloque Controlador de dispositivo de bloque típico Analizar la cola de solicitudes de lectura y escritura del dispositivo de bloque Comprender la estructura de Controlador de dispositivo de bloques de Linux Ser capaz de escribir un controlador de dispositivo de bloques simple Comparar las similitudes y diferencias entre dispositivos de caracteres y dispositivos de bloques Escribir tarjetas MMC El análisis de controladores de un sistema de archivos compara las diferencias entre los controladores de dispositivos de bloques en el kernel 2.6 y el kernel 2.4 de Linux
11. Sistema de archivos
Establecimiento del sistema de archivos virtual sistema de archivos ramfs sistema de archivos de memoria proc Sistema de archivos devfs sistema de archivos Introducción a la tecnología MTD Inicialización del dispositivo de bloque MTD Operaciones de lectura y escritura del dispositivo 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 soporte MTD a la placa de desarrollo ARM9 Migrar JFFS2 El sistema de archivos utiliza el sistema de archivos proc para modificar los parámetros del sistema operativo y analizar el archivo romfs código fuente del sistema para crear un sistema de archivos cramfs.