Contacta con nosotros

Temario del curso

Programa del curso

Introducción

  • Historia de Unix/Linux, licencias, estándares, trabajo con software libre, búsqueda de ayuda, exploración de código, la filosofía Unix

Especificidades de Embedded

  • Linux en el escritorio frente a Linux en un sistema embebido, cadenas de herramientas cruzadas/nativas, cadenas de herramientas precompiladas, sistemas de construcción, bibliotecas C, etc.

Placa de evaluación

  • ¿Cómo arranca? Verla arrancar

Introducción a Yocto

  • ¿Qué es Yocto? ¿Por qué usar el YP? ¿Qué es el YP?, Poky, BitBake, OE-Core, Metadatos

El Autobuilder del YP

  • ¿Qué es el Autobuilder del YP?, Contenedor Docker (extraer, iniciar el contenedor)

El flujo de trabajo del YP

  • Introducción
  • Flujo de trabajo, arquitectura de OE
  • Configuración (Usuario, Metadatos, Máquina, Política de distribución)
  • Fuentes
  • Construcción (Obtención de fuentes, Parcheo, Configuración/Compilación/Instalación, Pseudo, Ejemplos de recetas, Análisis de salida/Empaquetado, Generación de imágenes, Generación de SDK)
  • Personalización de imágenes (Introducción, local.conf, IMAGE_FEATURES, archivos .bb personalizados, grupos de paquetes personalizados)

BitBake

  • Historia
  • Sintaxis
  • Depuración (nivel de depuración, búsqueda de recetas/imágenes/grupos de paquetes, entorno/tareas/registro de BitBake, forzar compilación/tarea específica, cleansstate, invalidar timestamp, devshell, explorador de dependencias, eliminar todas las instancias de BitBake, envoltorio gráfico de BitBake)

Capas

  • Introducción, herramienta bitbake-layers, herramienta yocto-layer

BSP

  • Introducción, flujo de desarrollo del sistema, Guía del Desarrollador de BSP (bsp-tool)

Kernel

  • Introducción, flujo de desarrollo del sistema, Manual de Desarrollo del Kernel (defconfig, defconfig + fragmento de configuración, módulo kmod dentro del árbol, módulo kmod fuera del árbol, fdt, etc.)

Kit de herramientas de desarrollo de aplicaciones

  • Introducción, cadena de herramientas de desarrollo cruzado, Sysroot, Plugin Eclipse Yocto de ADT, Emulador QEMU, herramientas de espacio de usuario
  • Instalación de ADT y cadenas de herramientas
    • Uso de un tarball de cadena de herramientas cruzada (Introducción, compilación/instalación del tarball de cadena de herramientas cruzada, cadena de herramientas cruzada + Makefile/Autotools/librería Autotools + Aplicación, recetas)
    • Uso del instalador ADT (Introducción, servidor web, imagen de construcción + instalador ADT, configuración y ejecución del instalador ADT, añadir el instalador ADT al servidor web, instalador ADT en el host)

Eclipse

  • Introducción, flujo de trabajo de desarrollo de aplicaciones
  • Trabajo con Eclipse (características de rootfs, kernel + fdt, rootfs, instalación de JDK, instalación de Eclipse, configuración de Eclipse, instalación del plugin Yocto, configuración del plugin Yocto, creación de proyecto autotools, configuración de las cadenas de herramientas cruzadas, compilación del proyecto)

Depuración

  • Introducción, gdb, depuración remota con gdb, depuración (remota) con Eclipse, ejecución (remota) desde Eclipse

Perfiling/Trazabilidad

  • Introducción, perf, gprof, gcov, strace, ftrace, systemtap, oprofile, LTTng + Eclipse (visualización de datos)

Gestión de paquetes

  • Trabajo con paquetes, IPK, creación de un feed de paquetes, instalación de un paquete con opkg en el destino

Licencias

  • Introducción, adición de licencia personalizada, cumplimiento de licencias de código abierto

Devtool

  • Introducción, devtool, ejemplo del mundo real meta-cfengine

Excepto donde se indique lo contrario, el contenido y este programa del curso están licenciados bajo Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0).

Requerimientos

Requisitos previos

  • Conocimientos básicos de uso de un sistema GNU/Linux (por ejemplo, Ubuntu) como usuario final en el espacio de usuario (user space).
  • Conocimientos básicos de un shell de línea de comandos.
  • Conocimientos básicos de programación en el espacio de usuario y del kernel con GNU/Linux.
  • Conocimientos intermedios de programación en C.
  • Debe haber asistido a Arquitectura de Sistemas Embedded GNU/Linux (5 días) (altamente recomendado), a menos que ya esté familiarizado con el material presentado en esas formaciones.
  • Realmente necesita tener experiencia con Embedded GNU/Linux (kernel, espacio de usuario, sistema de archivos raíz, herramientas) para seguir la formación de Yocto.
  • Puede ser útil haber asistido a Controladores de Dispositivos GNU/Linux y Nucleo del Kernel (5 días), pero no es un requisito previo. Basta con saber cómo compilar el kernel de GNU/Linux, los controladores del kernel (dentro o fuera del árbol) y el DTB desde la parte del kernel para seguir la formación de Yocto.
 28 Horas

Número de participantes


Precio por participante

Testimonios (1)

Próximos cursos

Categorías Relacionadas