Gracias por enviar su consulta! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Gracias por enviar su reserva! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Temario del curso
1. Introducción al Kernel de Linux
- Panorama general del Linux embebido
- Arquitectura del kernel de Linux
- Espacio de usuario frente a espacio de kernel
- Responsabilidades del kernel
- Flujo de trabajo para el desarrollo del kernel
- Panorama general de las plataformas embebidas admitidas
2. Configuración del Entorno de Desarrollo
- Preparación del estacionamiento de desarrollo
- Conceptos de compilación cruzada
- Instalación de las herramientas de desarrollo requeridas
- Configuración de la placa de desarrollo BeagleBone Black
- Configuración de la consola serie
- Arranque del dispositivo objetivo
3. Obteniendo y Entendiendo el Código Fuente del Kernel
- Árbol de código fuente del kernel de Linux
- Kernels estables versus de soporte a largo plazo (LTS)
- Descarga de fuentes del kernel
- Exploración de la estructura del código fuente
- Documentación del kernel
- Gestión de versiones del kernel
4. Configurando, Compilando y Arrancando el Kernel
- Configuración del kernel usando menuconfig
- Selección de características del kernel
- Compilación cruzada del kernel
- Generación de imágenes del kernel
- Instalación de módulos del kernel
- Panorama general del cargador de arranque (bootloader)
- Arranque de un kernel personalizado
5. Fundamentos del Árbol de Dispositivos (Device Tree)
- Propósito del Árbol de Dispositivos
- Archivos de origen del Árbol de Dispositivos (DTS)
- Gemelo del Árbol de Dispositivos (DTB)
- Conceptos de descripción de hardware
- Modificación de archivos del Árbol de Dispositivos
- Construcción e implementación de Árboles de Dispositivos
6. Módulos del Kernel de Linux
- Arquitectura del módulo del kernel
- Construcción de módulos cargables del kernel
- Carga y descarga de módulos
- Parámetros del módulo
- Dependencias del módulo
- Interacción con módulos del kernel
- Técnicas de depuración de módulos
7. Depuración del Kernel de Linux
- Registro del kernel con printk()
- Uso de dmesg
- Depuración dinámica
- Análisis de pánicos del kernel
- Mensajes Oops
- Depuración con GDB
- Herramientas básicas de trazado de rendimiento
8. Controladores de Dispositivos de Caracteres
- Modelo de controlador de dispositivos de Linux
- Dispositivos de caracteres
- Registro de controladores
- Operaciones de archivo
- Operaciones de lectura y escritura
- Interfaz IOCTL
- Gestión de memoria
- Limpieza del controlador
9. Integración de Controladores y Acceso al Hardware
- Dispositivos y controladores de plataforma
- Programación GPIO
- Gestión de interrupciones
- Acceso a registros de hardware
- Trabajo con E/S mapeada en memoria (Memory-Mapped I/O)
10. Control de Versiones con Git
- Fundamentos de Git
- Gestión del código fuente del kernel
- Ramas y fusiones (Branching and merging)
- Creación de parches
- Revisión de cambios
- Colaboración en el desarrollo del kernel
11. Laboratorios Prácticos de Desarrollo del Kernel
- Configuración de un kernel personalizado
- Construcción e implementación del kernel
- Creación de un módulo de kernel simple
- Desarrollo de un controlador básico de dispositivo de caracteres
- Modificación de archivos del Árbol de Dispositivos
- Depuración de problemas del kernel en BeagleBone Black
12. Mejores Prácticas y Resumen
- Estilo de codificación del kernel
- Escritura de controladores mantenibles
- Fallas comunes en el desarrollo
- Recursos de documentación del kernel
- Flujo de trabajo para contribuciones de código abierto
- Revisión de conceptos clave
- Preguntas y respuestas
- Próximos pasos para el desarrollo del kernel de Linux
Requerimientos
Familiaridad básica con el uso de un sistema GNU/Linux
14 Horas
Reseñas (2)
El conocimiento del formador. Fue capaz de responder a todas mis preguntas, incluso a las relacionadas con nuestra plataforma. También continuó ayudando hasta que todos comprendimos el material.
James O'Donnell - Tennant Company
Curso - Embedded Linux Kernel and Driver Development
Traducción Automática
I liked the hands-on nature of it.
Maurice Egan
Curso - Embedded Linux Kernel and Driver Development
Traducción Automática