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 Núcleo de Linux
- Visión general de Linux integrado
- Arquitectura del núcleo de Linux
- Espacio de usuario frente a espacio del núcleo
- Responsabilidades del núcleo
- Flujo de trabajo para el desarrollo del núcleo
- Visión general de las plataformas integradas admitidas
2. Configuración del Entorno de Desarrollo
- Preparación de la estación de trabajo para 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
- Inicio del dispositivo destino
3. Obteniendo y Entendiendo el Código Fuente del Núcleo
- Árbol de código fuente del núcleo de Linux
- Núcleos estables frente a núcleos de soporte a largo plazo
- Descarga de las fuentes del núcleo
- Exploración de la estructura del código fuente
- Documentación del núcleo
- Gestión de versiones del núcleo
4. Configuración, Compilación e Inicio del Núcleo
- Configuración del núcleo mediante menuconfig
- Selección de características del núcleo
- Compilación cruzada del núcleo
- Construcción de imágenes del núcleo
- Instalación de módulos del núcleo
- Visión general del cargador de arranque (Bootloader)
- Inicio de un núcleo personalizado
5. Fundamentos del Árbol de Dispositivos (Device Tree)
- Propósito del Árbol de Dispositivos
- Archivos de origen del Árbol de Dispositivos (DTS)
- Árbol de Dispositivos Blob (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 Núcleo de Linux
- Arquitectura de módulos del núcleo
- Construcción de módulos cargables del núcleo
- Carga y descarga de módulos
- Parámetros de los módulos
- Dependencias de los módulos
- Interacción con módulos del núcleo
- Técnicas de depuración de módulos
7. Depuración del Núcleo de Linux
- Registro del núcleo con printk()
- Uso de dmesg
- Depuración dinámica
- Análisis de panic del núcleo
- Mensajes de error (Oops)
- Depuración con GDB
- Herramientas básicas de seguimiento 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 de GPIO
- Gestión de interrupciones
- Temporizadores y trabajo diferido
- Acceso a registros de hardware
- Trabajo con E/M mapeada en memoria
10. Control de Versiones con Git
- Fundamentos de Git
- Gestión del código fuente del núcleo
- Ramas y fusiones
- Creación de parches
- Revisión de cambios
- Colaboración en el desarrollo del núcleo
11. Laboratorios Prácticos de Desarrollo del Núcleo
- Configuración de un núcleo personalizado
- Construcción e implementación del núcleo
- Creación de un módulo simple del núcleo
- Desarrollo de un controlador básico de dispositivo de caracteres
- Modificación de archivos del Árbol de Dispositivos
- Depuración de problemas del núcleo en BeagleBone Black
12. Mejores Prácticas y Resumen
- Estilo de codificación del núcleo
- Escribir controladores mantenibles
- Pitfalls comunes en el desarrollo
- Recursos de documentación del núcleo
- Flujo de trabajo para contribución al código abierto
- Revisión de conceptos clave
- Preguntas y respuestas
- Siguientes pasos para el desarrollo del núcleo 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