Introducción al desarrollo integrado: plan de aprendizaje del sistema
Aprendiendo sobre el desarrollo de sistemas integrados: desde principiantes hasta expertos
Muchos principiantes aprenden sobre sistemas integrados y no están seguros de por dónde empezar a aprender con tantos conocimientos sobre timones y libros de referencia. Empecé, pero perdí el rumbo sobre qué aprender primero y qué aprender después. Aquí están las respuestas que deseas que te ayuden a guiarte.
Este es el programa del curso que encontré en el sitio web de capacitación de ITjob. Creo que es un buen método de aprendizaje para implementar y aprender paso a paso como paso de aprendizaje para el desarrollo de sistemas integrados :) Incluso como referencia. ¡también una buena relación calidad-precio!
Con la aceleración del proceso de informatización en la sociedad moderna, los sistemas integrados se utilizan ampliamente en diversos aspectos de la sociedad, como el ejército, el hogar, la industria, el comercio, la oficina y la atención médica, lo que demuestra un fuerte valor de inversión. Desde una perspectiva internacional, el mercado de sistemas integrados, que son el núcleo de los productos de información electrónica digital, ha superado los 200 mil millones de dólares en herramientas de desarrollo de hardware y software. El valor de la producción industrial global anual generado por los sistemas integrados ha alcanzado el billón de dólares. Con el crecimiento continuo de la economía global y el desarrollo acelerado de la informatización, el mercado de sistemas integrados seguramente crecerá aún más.
Este curso está diseñado para satisfacer las necesidades actuales de rápido desarrollo de Linux integrado. El objetivo del curso es permitir a los estudiantes alcanzar las cualidades básicas adecuadas para el desarrollo de software de aplicaciones integradas, el desarrollo de sistemas integrados o el desarrollo de controladores integrados. . El curso lo lleva paso a paso al mundo del desarrollo integrado, utilizando las plataformas de desarrollo de software y hardware más utilizadas (Linux y Arm) para garantizar que esté lo más cerca posible de las necesidades empresariales actuales.
Los pasos de aprendizaje son los siguientes: (paso a paso:)
1. Conceptos básicos de Linux
Instalación del sistema operativo Linux
Sistema de archivos Linux
Comandos comunes de Linux
Explicación detallada del proceso de inicio de Linux
Familiar con los servicios de Linux y capaz de instalar el sistema operativo Linux de forma independiente
Capaz de utilizar el sistema Linux con competencia Comandos básicos
Comprender los servicios comunes del sistema Linux e instalar el sistema operativo Linux
Práctica de comandos básicos de Linux
Establecer Variables de entorno de Linux
Personalizar los conceptos básicos de programación del Shell de servicios de Linux Usar vi para editar archivos
Usar Emacs para editar archivos
Usar otros editores
2. Conceptos básicos de programación Shell
Introducción a Shell
Comprensión de los programas en segundo plano
Familiarizado con la programación Bash y el entorno de edición en el sistema Linux
Familiarizado con varios Shells en Linux
Competente Realizar programación de shell y familiarizarse con las operaciones básicas de vi
Estar familiarizado con las operaciones básicas de Emacs
Comparar los diferencias entre diferentes shells
Escribe un programa de script de shell para probar si el servidor está conectado
p>
Escribe un script de shell para verificar si existe un proceso
Escribir un script de shell con declaraciones de bucle
3. Conceptos básicos de la programación C en Linux
Descripción general del entorno del lenguaje C de Linux
Cómo usar Gcc
Tecnología de depuración Gdb
Autoconf
Automake
Makefile
Optimización de código y familiaridad con el entorno de desarrollo bajo Sistema Linux
Familiarizado con el compilador Gcc
Familiarizado con las reglas Makefile para escribir programas Hello y World
Utilice el comando make para compilar un programa
Escribir un programa con un bucle
Depurar un programa problemático
4. Conceptos básicos del desarrollo de sistemas integrados
p>Descripción general del sistema integrado
Compilación cruzada
Configuración del servicio TFTP
Configuración del servicio NFS
Descarga del gestor de arranque y el kernel
Proceso de desarrollo de software de aplicaciones Linux integradas
Familiarizarse con los conceptos de sistemas integrados y los procesos de desarrollo
Establecer un entorno de desarrollo de sistemas integrados y crear una cadena de herramientas cross_gcc
Compilar y descargar U-boot
p>
Compile y descargue el kernel de Linux
Compile y descargue la aplicación de Linux
5. Trasplante del sistema integrado
Código del kernel de Linux
Análisis de código relacionado con la plataforma
Introducción a la plataforma ARM
Tecnologías clave para el trasplante de plataforma
Trasplante del kernel de Linux para comprender el concepto de trasplante en el Plataforma ARM
Poder trasplantar el kernel de Linux y trasplantar el kernel Linux2.6 a la placa de desarrollo ARM9
6. Comunicación en serie bajo Linux integrado
Serial. Conceptos básicos de E/S
Proceso de desarrollo de software de aplicaciones Linux integradas
Archivos y dispositivos del sistema Linux
Llamadas al sistema relacionadas con archivos
Configure HyperTerminal y MiniCOM para familiarizarse con la comunicación en serie
Estar familiarizado con la E/S de archivos y escribir programas de comunicación en serie
Escribir múltiples programas de comunicación en serie
7. Programación multiproceso en sistemas embebidos
Descripción general de los procesos del sistema Linux
Características de los procesos de los sistemas embebidos
Operaciones del proceso
Proceso demonio
Llamadas al sistema relacionadas Comprender el concepto de proceso en el sistema Linux
Ser capaz de escribir programas multiproceso y escribir programas multiproceso
Escribir un programa demonio
Descripción general de las tareas de Linux de gestión, sincronización y comunicación de tareas de llamadas del sistema de suspensión
Programación de tareas
Pipeline
Signal
***Memoria compartida
API de administración de tareas Comprender el mecanismo de administración de tareas del sistema Linux
Estar familiarizado con varios métodos de comunicación entre procesos
Sincronización y comunicación entre tareas familiares en Linux integrado
Escriba un programa de canalización simple para implementar la transferencia de archivos
Escriba un programa que use memoria compartida
8. Programación multiproceso en sistemas integrados
Conocimientos básicos de subprocesos
Métodos de programación multiproceso
Problemas de sincronización en aplicaciones de subprocesos Comprender el concepto de subprocesos
Capacidad para escribir programas multiproceso simplesEscribir un programa multiproceso
Programación de redes Linux integrada
Conocimientos básicos de redes
Estructura de red TCP/IP integrada en Linux
Programación de sockets
Funciones API de uso común
Análisis de la implementación del comando Ping
Programación básica de interfaz de socket UDP
Administración de licencias
Protocolo PPP
GPRS Comprender la arquitectura de red integrada de Linux
Ser capaz de realizar programación en el entorno Linux integrado Programación de sockets
Familiarizado con el protocolo UDP y el protocolo PPP
Familiarizado con GPRS y usando socket para escribir servidor proxy
Usando socket para escribir enrutador
Escribir servidor de licencias
Señalar las ventajas y desventajas de TCP y UDP
Escribir un servidor web
Escribir una red reproductor que se ejecuta en la plataforma ARM
10. Desarrollo de programas GUI
Conceptos básicos de GUI
Tipos de GUI de sistemas integrados
Compilar QT
Desarrollar QT y estar familiarizado con la GUI de sistemas integrados de uso común
Capacidad para realizar programación QT Usar QT para escribir programas "Hola, mundo"
Depurar una instancia que agrega señales /slots
Sobrecargando métodos de clase QWidget Procesamiento de eventos
11. Controlador de dispositivo de caracteres Linux
Conocimientos básicos de controladores de dispositivos
Sistema Linux módulos
Análisis del controlador de dispositivo de caracteres
Estructura fs_operation
Cargue el controlador y comprenda el concepto de controlador de dispositivo
Comprenda el dispositivo de caracteres de Linux estructura del controlador
Poder escribir dispositivos de caracteres Controlador de escritura Controlador Skull
Escribir controlador de teclado
Escribir controlador de E/S
Analizar un controlador de vigilancia
Comparación de Linux2. La diferencia entre los controladores de dispositivo de caracteres en el kernel 6 y el kernel 2.4
Principio de funcionamiento del controlador de dispositivo de bloque de Linux
Bloque típico análisis de controladores de dispositivos
Colas de solicitudes de lectura y escritura de dispositivos de bloque Comprender la estructura del controlador de dispositivos de bloques de Linux
Poder escribir un controlador de dispositivo de bloques simple para comparar dispositivos de caracteres
Similitudes y diferencias con los dispositivos de bloque
Escribir el controlador de la tarjeta MMC
Analizar un sistema de archivos
Comparación de las diferencias entre los controladores de dispositivos de bloque en el kernel 2.6 y 2.4 de Linux
12. Sistema de archivos
Sistema de archivos virtual
Creación de sistema de archivos
sistema de archivos de memoria ramfs
proc Sistema de archivos
sistema de archivos devfs
Introducción a la tecnología MTD
Inicialización del dispositivo de bloque MTD
Comprensión de las operaciones de lectura y escritura del bloque MTD dispositivo en el sistema Linux Sistema de archivos
Comprender el sistema de archivos de Linux integrado
Comprender la tecnología MTD
Ser capaz de escribir un sistema de archivos simple para agregar soporte MTD la placa de desarrollo ARM9
Portar el sistema de archivos JFFS2
Modificar los parámetros del sistema operativo a través del sistema de archivos proc
Analizar el código fuente del sistema de archivos romfs
Crear un sistema de archivos cramfs
p>