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</h3>
- Vista general de Linux embebido</li>
- Arquitectura del kernel de Linux</li>
- Espacio de usuario y espacio de kernel</li>
- Responsabilidades del kernel</li>
- Flujo de trabajo de desarrollo de kernels</li>
- Resumen de las plataformas embebidas soportadas</li>
</ul>
2. Configuración del entorno de desarrollo</h3>
- Preparación de la estación de trabajo</li>
- Conceptos de compilación cruzada</li>
- Instalación de las herramientas de desarrollo necesarias</li>
- Configuración de la placa de desarrollo BeagleBone Black</li>
- Configuración de la consola serial</li>
- Arranque del dispositivo de destino</li>
</ul>
3. Obtención y comprensión del código fuente del kernel</h3>
- Árbol de fuentes del kernel de Linux</li>
- Kernels estables frente a kernels de soporte prolongado (LTS)</li>
- Descarga de las fuentes del kernel</li>
- Exploración de la estructura del código fuente</li>
- Documentación del kernel</li>
- Gestión de versiones del kernel</li>
</ul>
4. Configuración, compilación y arranque del kernel</h3>
- Configuración del kernel mediante menuconfig</li>
- Selección de funciones del kernel</li>
- Compilación cruzada del kernel</li>
- Construcción de imágenes del kernel</li>
- Instalación de módulos del kernel</li>
- Resumen del bootloader</li>
- Arranque de un kernel personalizado</li>
</ul>
5. Fundamentos del Device Tree</h3>
- Propósito del Device Tree</li>
- Archivos de origen del Device Tree (DTS)</li>
- Blob del Device Tree (DTB)</li>
- Conceptos de descripción de hardware</li>
- Modificación de archivos Device Tree</li>
- Construcción y despliegue de Device Trees</li>
</ul>
6. Módulos del kernel de Linux</h3>
- Arquitectura de los módulos del kernel</li>
- Construcción de módulos de kernel cargables</li>
- Carga y descarga de módulos</li>
- Parámetros de los módulos</li>
- Dependencias de los módulos</li>
- Interacción con los módulos del kernel</li>
- Técnicas de depuración de módulos</li>
</ul>
7. Depuración del kernel de Linux</h3>
- Registro del kernel con printk()</li>
- Uso de dmesg</li>
- Depuración dinámica</li>
- Análisis de pánico del kernel (kernel panic)</li>
- Mensajes de error (Oops)</li>
- Depuración con GDB</li>
- Herramientas básicas de trazado de rendimiento</li>
</ul>
8. Controladores de dispositivos de caracteres</h3>
- Modelo de controladores de dispositivos de Linux</li>
- Dispositivos de caracteres</li>
- Registro de controladores</li>
- Operaciones de archivo</li>
- Operaciones de lectura y escritura</li>
- Interfaz IOCTL</li>
- Gestión de memoria</li>
- Limpieza del controlador</li>
</ul>
9. Integración de controladores y acceso al hardware</h3>
- Dispositivos y controladores de plataforma</li>
- Programación de GPIO</li>
- Manejo de interrupciones</li>
- Temporizadores y trabajos diferidos</li>
- Acceso a registros de hardware</li>
- Trabajo con E/S mapeada en memoria (memory-mapped I/O)</li>
</ul>
10. Control de versiones con Git</h3>
- Fundamentos de Git</li>
- Gestión del código fuente del kernel</li>
- Creación de ramas y fusión (branching y merging)</li>
- Creación de parches (patches)</li>
- Revisión de cambios</li>
- Colaboración en el desarrollo del kernel</li>
</ul>
11. Laboratorios prácticos de desarrollo de kernels</h3>
- Configuración de un kernel personalizado</li>
- Construcción y despliegue del kernel</li>
- Creación de un módulo de kernel sencillo</li>
- Desarrollo de un controlador básico de dispositivo de caracteres</li>
- Modificación de archivos Device Tree</li>
- Depuración de problemas del kernel en BeagleBone Black</li>
</ul>
12. Mejores prácticas y resumen</h3>
- Estilo de codificación del kernel</li>
- Escritura de controladores mantenibles</li>
- Errores comunes en el desarrollo</li>
- Recursos de documentación del kernel</li>
- Flujo de trabajo de contribución al código abierto</li>
- Repaso de los conceptos clave</li>
- Preguntas y respuestas</li>
- Próximos pasos en el desarrollo de kernels de Linux</li>
</ul>
2. Configuración del entorno de desarrollo</h3>
- Preparación de la estación de trabajo</li>
- Conceptos de compilación cruzada</li>
- Instalación de las herramientas de desarrollo necesarias</li>
- Configuración de la placa de desarrollo BeagleBone Black</li>
- Configuración de la consola serial</li>
- Arranque del dispositivo de destino</li>
</ul>
3. Obtención y comprensión del código fuente del kernel</h3>
- Árbol de fuentes del kernel de Linux</li>
- Kernels estables frente a kernels de soporte prolongado (LTS)</li>
- Descarga de las fuentes del kernel</li>
- Exploración de la estructura del código fuente</li>
- Documentación del kernel</li>
- Gestión de versiones del kernel</li>
</ul>
4. Configuración, compilación y arranque del kernel</h3>
- Configuración del kernel mediante menuconfig</li>
- Selección de funciones del kernel</li>
- Compilación cruzada del kernel</li>
- Construcción de imágenes del kernel</li>
- Instalación de módulos del kernel</li>
- Resumen del bootloader</li>
- Arranque de un kernel personalizado</li>
</ul>
5. Fundamentos del Device Tree</h3>
- Propósito del Device Tree</li>
- Archivos de origen del Device Tree (DTS)</li>
- Blob del Device Tree (DTB)</li>
- Conceptos de descripción de hardware</li>
- Modificación de archivos Device Tree</li>
- Construcción y despliegue de Device Trees</li>
</ul>
6. Módulos del kernel de Linux</h3>
- Arquitectura de los módulos del kernel</li>
- Construcción de módulos de kernel cargables</li>
- Carga y descarga de módulos</li>
- Parámetros de los módulos</li>
- Dependencias de los módulos</li>
- Interacción con los módulos del kernel</li>
- Técnicas de depuración de módulos</li>
</ul>
7. Depuración del kernel de Linux</h3>
- Registro del kernel con printk()</li>
- Uso de dmesg</li>
- Depuración dinámica</li>
- Análisis de pánico del kernel (kernel panic)</li>
- Mensajes de error (Oops)</li>
- Depuración con GDB</li>
- Herramientas básicas de trazado de rendimiento</li>
</ul>
8. Controladores de dispositivos de caracteres</h3>
- Modelo de controladores de dispositivos de Linux</li>
- Dispositivos de caracteres</li>
- Registro de controladores</li>
- Operaciones de archivo</li>
- Operaciones de lectura y escritura</li>
- Interfaz IOCTL</li>
- Gestión de memoria</li>
- Limpieza del controlador</li>
</ul>
9. Integración de controladores y acceso al hardware</h3>
- Dispositivos y controladores de plataforma</li>
- Programación de GPIO</li>
- Manejo de interrupciones</li>
- Temporizadores y trabajos diferidos</li>
- Acceso a registros de hardware</li>
- Trabajo con E/S mapeada en memoria (memory-mapped I/O)</li>
</ul>
10. Control de versiones con Git</h3>
- Fundamentos de Git</li>
- Gestión del código fuente del kernel</li>
- Creación de ramas y fusión (branching y merging)</li>
- Creación de parches (patches)</li>
- Revisión de cambios</li>
- Colaboración en el desarrollo del kernel</li>
</ul>
11. Laboratorios prácticos de desarrollo de kernels</h3>
- Configuración de un kernel personalizado</li>
- Construcción y despliegue del kernel</li>
- Creación de un módulo de kernel sencillo</li>
- Desarrollo de un controlador básico de dispositivo de caracteres</li>
- Modificación de archivos Device Tree</li>
- Depuración de problemas del kernel en BeagleBone Black</li>
</ul>
12. Mejores prácticas y resumen</h3>
- Estilo de codificación del kernel</li>
- Escritura de controladores mantenibles</li>
- Errores comunes en el desarrollo</li>
- Recursos de documentación del kernel</li>
- Flujo de trabajo de contribución al código abierto</li>
- Repaso de los conceptos clave</li>
- Preguntas y respuestas</li>
- Próximos pasos en el desarrollo de kernels de Linux</li>
</ul>
3. Obtención y comprensión del código fuente del kernel</h3>
- Árbol de fuentes del kernel de Linux</li>
- Kernels estables frente a kernels de soporte prolongado (LTS)</li>
- Descarga de las fuentes del kernel</li>
- Exploración de la estructura del código fuente</li>
- Documentación del kernel</li>
- Gestión de versiones del kernel</li>
</ul>
4. Configuración, compilación y arranque del kernel</h3>
- Configuración del kernel mediante menuconfig</li>
- Selección de funciones del kernel</li>
- Compilación cruzada del kernel</li>
- Construcción de imágenes del kernel</li>
- Instalación de módulos del kernel</li>
- Resumen del bootloader</li>
- Arranque de un kernel personalizado</li>
</ul>
5. Fundamentos del Device Tree</h3>
- Propósito del Device Tree</li>
- Archivos de origen del Device Tree (DTS)</li>
- Blob del Device Tree (DTB)</li>
- Conceptos de descripción de hardware</li>
- Modificación de archivos Device Tree</li>
- Construcción y despliegue de Device Trees</li>
</ul>
6. Módulos del kernel de Linux</h3>
- Arquitectura de los módulos del kernel</li>
- Construcción de módulos de kernel cargables</li>
- Carga y descarga de módulos</li>
- Parámetros de los módulos</li>
- Dependencias de los módulos</li>
- Interacción con los módulos del kernel</li>
- Técnicas de depuración de módulos</li>
</ul>
7. Depuración del kernel de Linux</h3>
- Registro del kernel con printk()</li>
- Uso de dmesg</li>
- Depuración dinámica</li>
- Análisis de pánico del kernel (kernel panic)</li>
- Mensajes de error (Oops)</li>
- Depuración con GDB</li>
- Herramientas básicas de trazado de rendimiento</li>
</ul>
8. Controladores de dispositivos de caracteres</h3>
- Modelo de controladores de dispositivos de Linux</li>
- Dispositivos de caracteres</li>
- Registro de controladores</li>
- Operaciones de archivo</li>
- Operaciones de lectura y escritura</li>
- Interfaz IOCTL</li>
- Gestión de memoria</li>
- Limpieza del controlador</li>
</ul>
9. Integración de controladores y acceso al hardware</h3>
- Dispositivos y controladores de plataforma</li>
- Programación de GPIO</li>
- Manejo de interrupciones</li>
- Temporizadores y trabajos diferidos</li>
- Acceso a registros de hardware</li>
- Trabajo con E/S mapeada en memoria (memory-mapped I/O)</li>
</ul>
10. Control de versiones con Git</h3>
- Fundamentos de Git</li>
- Gestión del código fuente del kernel</li>
- Creación de ramas y fusión (branching y merging)</li>
- Creación de parches (patches)</li>
- Revisión de cambios</li>
- Colaboración en el desarrollo del kernel</li>
</ul>
11. Laboratorios prácticos de desarrollo de kernels</h3>
- Configuración de un kernel personalizado</li>
- Construcción y despliegue del kernel</li>
- Creación de un módulo de kernel sencillo</li>
- Desarrollo de un controlador básico de dispositivo de caracteres</li>
- Modificación de archivos Device Tree</li>
- Depuración de problemas del kernel en BeagleBone Black</li>
</ul>
12. Mejores prácticas y resumen</h3>
- Estilo de codificación del kernel</li>
- Escritura de controladores mantenibles</li>
- Errores comunes en el desarrollo</li>
- Recursos de documentación del kernel</li>
- Flujo de trabajo de contribución al código abierto</li>
- Repaso de los conceptos clave</li>
- Preguntas y respuestas</li>
- Próximos pasos en el desarrollo de kernels de Linux</li>
</ul>
4. Configuración, compilación y arranque del kernel</h3>
- Configuración del kernel mediante menuconfig</li>
- Selección de funciones del kernel</li>
- Compilación cruzada del kernel</li>
- Construcción de imágenes del kernel</li>
- Instalación de módulos del kernel</li>
- Resumen del bootloader</li>
- Arranque de un kernel personalizado</li>
</ul>
5. Fundamentos del Device Tree</h3>
- Propósito del Device Tree</li>
- Archivos de origen del Device Tree (DTS)</li>
- Blob del Device Tree (DTB)</li>
- Conceptos de descripción de hardware</li>
- Modificación de archivos Device Tree</li>
- Construcción y despliegue de Device Trees</li>
</ul>
6. Módulos del kernel de Linux</h3>
- Arquitectura de los módulos del kernel</li>
- Construcción de módulos de kernel cargables</li>
- Carga y descarga de módulos</li>
- Parámetros de los módulos</li>
- Dependencias de los módulos</li>
- Interacción con los módulos del kernel</li>
- Técnicas de depuración de módulos</li>
</ul>
7. Depuración del kernel de Linux</h3>
- Registro del kernel con printk()</li>
- Uso de dmesg</li>
- Depuración dinámica</li>
- Análisis de pánico del kernel (kernel panic)</li>
- Mensajes de error (Oops)</li>
- Depuración con GDB</li>
- Herramientas básicas de trazado de rendimiento</li>
</ul>
8. Controladores de dispositivos de caracteres</h3>
- Modelo de controladores de dispositivos de Linux</li>
- Dispositivos de caracteres</li>
- Registro de controladores</li>
- Operaciones de archivo</li>
- Operaciones de lectura y escritura</li>
- Interfaz IOCTL</li>
- Gestión de memoria</li>
- Limpieza del controlador</li>
</ul>
9. Integración de controladores y acceso al hardware</h3>
- Dispositivos y controladores de plataforma</li>
- Programación de GPIO</li>
- Manejo de interrupciones</li>
- Temporizadores y trabajos diferidos</li>
- Acceso a registros de hardware</li>
- Trabajo con E/S mapeada en memoria (memory-mapped I/O)</li>
</ul>
10. Control de versiones con Git</h3>
- Fundamentos de Git</li>
- Gestión del código fuente del kernel</li>
- Creación de ramas y fusión (branching y merging)</li>
- Creación de parches (patches)</li>
- Revisión de cambios</li>
- Colaboración en el desarrollo del kernel</li>
</ul>
11. Laboratorios prácticos de desarrollo de kernels</h3>
- Configuración de un kernel personalizado</li>
- Construcción y despliegue del kernel</li>
- Creación de un módulo de kernel sencillo</li>
- Desarrollo de un controlador básico de dispositivo de caracteres</li>
- Modificación de archivos Device Tree</li>
- Depuración de problemas del kernel en BeagleBone Black</li>
</ul>
12. Mejores prácticas y resumen</h3>
- Estilo de codificación del kernel</li>
- Escritura de controladores mantenibles</li>
- Errores comunes en el desarrollo</li>
- Recursos de documentación del kernel</li>
- Flujo de trabajo de contribución al código abierto</li>
- Repaso de los conceptos clave</li>
- Preguntas y respuestas</li>
- Próximos pasos en el desarrollo de kernels de Linux</li>
</ul>
5. Fundamentos del Device Tree</h3>
- Propósito del Device Tree</li>
- Archivos de origen del Device Tree (DTS)</li>
- Blob del Device Tree (DTB)</li>
- Conceptos de descripción de hardware</li>
- Modificación de archivos Device Tree</li>
- Construcción y despliegue de Device Trees</li>
</ul>
6. Módulos del kernel de Linux</h3>
- Arquitectura de los módulos del kernel</li>
- Construcción de módulos de kernel cargables</li>
- Carga y descarga de módulos</li>
- Parámetros de los módulos</li>
- Dependencias de los módulos</li>
- Interacción con los módulos del kernel</li>
- Técnicas de depuración de módulos</li>
</ul>
7. Depuración del kernel de Linux</h3>
- Registro del kernel con printk()</li>
- Uso de dmesg</li>
- Depuración dinámica</li>
- Análisis de pánico del kernel (kernel panic)</li>
- Mensajes de error (Oops)</li>
- Depuración con GDB</li>
- Herramientas básicas de trazado de rendimiento</li>
</ul>
8. Controladores de dispositivos de caracteres</h3>
- Modelo de controladores de dispositivos de Linux</li>
- Dispositivos de caracteres</li>
- Registro de controladores</li>
- Operaciones de archivo</li>
- Operaciones de lectura y escritura</li>
- Interfaz IOCTL</li>
- Gestión de memoria</li>
- Limpieza del controlador</li>
</ul>
9. Integración de controladores y acceso al hardware</h3>
- Dispositivos y controladores de plataforma</li>
- Programación de GPIO</li>
- Manejo de interrupciones</li>
- Temporizadores y trabajos diferidos</li>
- Acceso a registros de hardware</li>
- Trabajo con E/S mapeada en memoria (memory-mapped I/O)</li>
</ul>
10. Control de versiones con Git</h3>
- Fundamentos de Git</li>
- Gestión del código fuente del kernel</li>
- Creación de ramas y fusión (branching y merging)</li>
- Creación de parches (patches)</li>
- Revisión de cambios</li>
- Colaboración en el desarrollo del kernel</li>
</ul>
11. Laboratorios prácticos de desarrollo de kernels</h3>
- Configuración de un kernel personalizado</li>
- Construcción y despliegue del kernel</li>
- Creación de un módulo de kernel sencillo</li>
- Desarrollo de un controlador básico de dispositivo de caracteres</li>
- Modificación de archivos Device Tree</li>
- Depuración de problemas del kernel en BeagleBone Black</li>
</ul>
12. Mejores prácticas y resumen</h3>
- Estilo de codificación del kernel</li>
- Escritura de controladores mantenibles</li>
- Errores comunes en el desarrollo</li>
- Recursos de documentación del kernel</li>
- Flujo de trabajo de contribución al código abierto</li>
- Repaso de los conceptos clave</li>
- Preguntas y respuestas</li>
- Próximos pasos en el desarrollo de kernels de Linux</li>
</ul>
6. Módulos del kernel de Linux</h3>
- Arquitectura de los módulos del kernel</li>
- Construcción de módulos de kernel cargables</li>
- Carga y descarga de módulos</li>
- Parámetros de los módulos</li>
- Dependencias de los módulos</li>
- Interacción con los módulos del kernel</li>
- Técnicas de depuración de módulos</li>
</ul>
7. Depuración del kernel de Linux</h3>
- Registro del kernel con printk()</li>
- Uso de dmesg</li>
- Depuración dinámica</li>
- Análisis de pánico del kernel (kernel panic)</li>
- Mensajes de error (Oops)</li>
- Depuración con GDB</li>
- Herramientas básicas de trazado de rendimiento</li>
</ul>
8. Controladores de dispositivos de caracteres</h3>
- Modelo de controladores de dispositivos de Linux</li>
- Dispositivos de caracteres</li>
- Registro de controladores</li>
- Operaciones de archivo</li>
- Operaciones de lectura y escritura</li>
- Interfaz IOCTL</li>
- Gestión de memoria</li>
- Limpieza del controlador</li>
</ul>
9. Integración de controladores y acceso al hardware</h3>
- Dispositivos y controladores de plataforma</li>
- Programación de GPIO</li>
- Manejo de interrupciones</li>
- Temporizadores y trabajos diferidos</li>
- Acceso a registros de hardware</li>
- Trabajo con E/S mapeada en memoria (memory-mapped I/O)</li>
</ul>
10. Control de versiones con Git</h3>
- Fundamentos de Git</li>
- Gestión del código fuente del kernel</li>
- Creación de ramas y fusión (branching y merging)</li>
- Creación de parches (patches)</li>
- Revisión de cambios</li>
- Colaboración en el desarrollo del kernel</li>
</ul>
11. Laboratorios prácticos de desarrollo de kernels</h3>
- Configuración de un kernel personalizado</li>
- Construcción y despliegue del kernel</li>
- Creación de un módulo de kernel sencillo</li>
- Desarrollo de un controlador básico de dispositivo de caracteres</li>
- Modificación de archivos Device Tree</li>
- Depuración de problemas del kernel en BeagleBone Black</li>
</ul>
12. Mejores prácticas y resumen</h3>
- Estilo de codificación del kernel</li>
- Escritura de controladores mantenibles</li>
- Errores comunes en el desarrollo</li>
- Recursos de documentación del kernel</li>
- Flujo de trabajo de contribución al código abierto</li>
- Repaso de los conceptos clave</li>
- Preguntas y respuestas</li>
- Próximos pasos en el desarrollo de kernels de Linux</li>
</ul>
7. Depuración del kernel de Linux</h3>
- Registro del kernel con printk()</li>
- Uso de dmesg</li>
- Depuración dinámica</li>
- Análisis de pánico del kernel (kernel panic)</li>
- Mensajes de error (Oops)</li>
- Depuración con GDB</li>
- Herramientas básicas de trazado de rendimiento</li>
</ul>
8. Controladores de dispositivos de caracteres</h3>
- Modelo de controladores de dispositivos de Linux</li>
- Dispositivos de caracteres</li>
- Registro de controladores</li>
- Operaciones de archivo</li>
- Operaciones de lectura y escritura</li>
- Interfaz IOCTL</li>
- Gestión de memoria</li>
- Limpieza del controlador</li>
</ul>
9. Integración de controladores y acceso al hardware</h3>
- Dispositivos y controladores de plataforma</li>
- Programación de GPIO</li>
- Manejo de interrupciones</li>
- Temporizadores y trabajos diferidos</li>
- Acceso a registros de hardware</li>
- Trabajo con E/S mapeada en memoria (memory-mapped I/O)</li>
</ul>
10. Control de versiones con Git</h3>
- Fundamentos de Git</li>
- Gestión del código fuente del kernel</li>
- Creación de ramas y fusión (branching y merging)</li>
- Creación de parches (patches)</li>
- Revisión de cambios</li>
- Colaboración en el desarrollo del kernel</li>
</ul>
11. Laboratorios prácticos de desarrollo de kernels</h3>
- Configuración de un kernel personalizado</li>
- Construcción y despliegue del kernel</li>
- Creación de un módulo de kernel sencillo</li>
- Desarrollo de un controlador básico de dispositivo de caracteres</li>
- Modificación de archivos Device Tree</li>
- Depuración de problemas del kernel en BeagleBone Black</li>
</ul>
12. Mejores prácticas y resumen</h3>
- Estilo de codificación del kernel</li>
- Escritura de controladores mantenibles</li>
- Errores comunes en el desarrollo</li>
- Recursos de documentación del kernel</li>
- Flujo de trabajo de contribución al código abierto</li>
- Repaso de los conceptos clave</li>
- Preguntas y respuestas</li>
- Próximos pasos en el desarrollo de kernels de Linux</li>
</ul>
8. Controladores de dispositivos de caracteres</h3>
- Modelo de controladores de dispositivos de Linux</li>
- Dispositivos de caracteres</li>
- Registro de controladores</li>
- Operaciones de archivo</li>
- Operaciones de lectura y escritura</li>
- Interfaz IOCTL</li>
- Gestión de memoria</li>
- Limpieza del controlador</li>
</ul>
9. Integración de controladores y acceso al hardware</h3>
- Dispositivos y controladores de plataforma</li>
- Programación de GPIO</li>
- Manejo de interrupciones</li>
- Temporizadores y trabajos diferidos</li>
- Acceso a registros de hardware</li>
- Trabajo con E/S mapeada en memoria (memory-mapped I/O)</li>
</ul>
10. Control de versiones con Git</h3>
- Fundamentos de Git</li>
- Gestión del código fuente del kernel</li>
- Creación de ramas y fusión (branching y merging)</li>
- Creación de parches (patches)</li>
- Revisión de cambios</li>
- Colaboración en el desarrollo del kernel</li>
</ul>
11. Laboratorios prácticos de desarrollo de kernels</h3>
- Configuración de un kernel personalizado</li>
- Construcción y despliegue del kernel</li>
- Creación de un módulo de kernel sencillo</li>
- Desarrollo de un controlador básico de dispositivo de caracteres</li>
- Modificación de archivos Device Tree</li>
- Depuración de problemas del kernel en BeagleBone Black</li>
</ul>
12. Mejores prácticas y resumen</h3>
- Estilo de codificación del kernel</li>
- Escritura de controladores mantenibles</li>
- Errores comunes en el desarrollo</li>
- Recursos de documentación del kernel</li>
- Flujo de trabajo de contribución al código abierto</li>
- Repaso de los conceptos clave</li>
- Preguntas y respuestas</li>
- Próximos pasos en el desarrollo de kernels de Linux</li>
</ul>
9. Integración de controladores y acceso al hardware</h3>
- Dispositivos y controladores de plataforma</li>
- Programación de GPIO</li>
- Manejo de interrupciones</li>
- Temporizadores y trabajos diferidos</li>
- Acceso a registros de hardware</li>
- Trabajo con E/S mapeada en memoria (memory-mapped I/O)</li>
</ul>
10. Control de versiones con Git</h3>
- Fundamentos de Git</li>
- Gestión del código fuente del kernel</li>
- Creación de ramas y fusión (branching y merging)</li>
- Creación de parches (patches)</li>
- Revisión de cambios</li>
- Colaboración en el desarrollo del kernel</li>
</ul>
11. Laboratorios prácticos de desarrollo de kernels</h3>
- Configuración de un kernel personalizado</li>
- Construcción y despliegue del kernel</li>
- Creación de un módulo de kernel sencillo</li>
- Desarrollo de un controlador básico de dispositivo de caracteres</li>
- Modificación de archivos Device Tree</li>
- Depuración de problemas del kernel en BeagleBone Black</li>
</ul>
12. Mejores prácticas y resumen</h3>
- Estilo de codificación del kernel</li>
- Escritura de controladores mantenibles</li>
- Errores comunes en el desarrollo</li>
- Recursos de documentación del kernel</li>
- Flujo de trabajo de contribución al código abierto</li>
- Repaso de los conceptos clave</li>
- Preguntas y respuestas</li>
- Próximos pasos en el desarrollo de kernels de Linux</li>
</ul>
10. Control de versiones con Git</h3>
- Fundamentos de Git</li>
- Gestión del código fuente del kernel</li>
- Creación de ramas y fusión (branching y merging)</li>
- Creación de parches (patches)</li>
- Revisión de cambios</li>
- Colaboración en el desarrollo del kernel</li>
</ul>
11. Laboratorios prácticos de desarrollo de kernels</h3>
- Configuración de un kernel personalizado</li>
- Construcción y despliegue del kernel</li>
- Creación de un módulo de kernel sencillo</li>
- Desarrollo de un controlador básico de dispositivo de caracteres</li>
- Modificación de archivos Device Tree</li>
- Depuración de problemas del kernel en BeagleBone Black</li>
</ul>
12. Mejores prácticas y resumen</h3>
- Estilo de codificación del kernel</li>
- Escritura de controladores mantenibles</li>
- Errores comunes en el desarrollo</li>
- Recursos de documentación del kernel</li>
- Flujo de trabajo de contribución al código abierto</li>
- Repaso de los conceptos clave</li>
- Preguntas y respuestas</li>
- Próximos pasos en el desarrollo de kernels de Linux</li>
</ul>
11. Laboratorios prácticos de desarrollo de kernels</h3>
- Configuración de un kernel personalizado</li>
- Construcción y despliegue del kernel</li>
- Creación de un módulo de kernel sencillo</li>
- Desarrollo de un controlador básico de dispositivo de caracteres</li>
- Modificación de archivos Device Tree</li>
- Depuración de problemas del kernel en BeagleBone Black</li>
</ul>
12. Mejores prácticas y resumen</h3>
- Estilo de codificación del kernel</li>
- Escritura de controladores mantenibles</li>
- Errores comunes en el desarrollo</li>
- Recursos de documentación del kernel</li>
- Flujo de trabajo de contribución al código abierto</li>
- Repaso de los conceptos clave</li>
- Preguntas y respuestas</li>
- Próximos pasos en el desarrollo de kernels de Linux</li>
</ul>
12. Mejores prácticas y resumen</h3>
- Estilo de codificación del kernel</li>
- Escritura de controladores mantenibles</li>
- Errores comunes en el desarrollo</li>
- Recursos de documentación del kernel</li>
- Flujo de trabajo de contribución al código abierto</li>
- Repaso de los conceptos clave</li>
- Preguntas y respuestas</li>
- Próximos pasos en el desarrollo de kernels de Linux</li>
</ul>
Requerimientos
Conocimientos básicos del 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