Contacta con nosotros

Temario del curso

Introducción

  • Historia de Unix/Linux
  • Software Libre
  • Filosofía Unix

ENTORNO DE PRUEBAS EN EL ANFITRIÓN (HOST)

  • Práctica con GNU/Linux
    • Arquitectura
    • Intérprete de comandos (shell)
    • Permisos
    • FHS (estándar de jerarquía de archivos)
    • Enlaces duros y simbólicos
    • UID/GID real y efectivo
    • Planificador de procesos
    • Proceso, tarea y hilo
    • Comunicación entre procesos (IPC) básica y avanzada
      • Tuberías (pipes)
      • Señales
      • Colas de mensajes
      • Semáforos
      • Memoria compartida
      • Sockets
      • select/poll
    • Técnicas de IPC que deben evitarse
  • Configuración del entorno Linux en el anfitrión
    • Yocto/ELDK (herramientas, bibliotecas y paquetes para compilación cruzada y objetivo)
    • Emulación de terminal
    • Servidores (DHCP, TFTP, NFS)

ENTORNO DE PRUEBAS EN EL OBJETIVO (TARGET)

  • Archivos necesarios para ejecutar algo en la tarjeta
    • Configuración JTAG/BDI
    • U-Boot (obtención de código fuente, configuración y compilación)
    • Kernel (obtención de código fuente, configuración y compilación)
    • Sistema de archivos raíz (rootfs)
    • Árbol de dispositivos plano (device tree)
  • Compilar y ejecutar en la tarjeta objetivo lo aplicable de lo anterior
  • Varios sistemas de archivos raíz
    • CRAMFS
    • ramdisk
    • MTD
    • JFFS2
    • roEXT2
    • ubi
  • Compilar y ejecutar en la tarjeta objetivo lo aplicable de lo anterior
  • Comparación de sistemas de archivos raíz
  • Depuración
    • Herramientas sencillas
    • Local y remota
    • Usuario y kernel
    • gdb
    • gdbserver
    • JTAG/BDI (opcional)
  • Perfilado de rendimiento
    • gprof
    • gcov
    • oprofile

TIEMPO REAL

  • Prerrequisitos
    • Interrupciones
    • Código reentrante
  • Linux en tiempo real
    • Puntos de preempción explícitos e implícitos
    • Parche de preempción en tiempo real
    • Kernel totalmente preemptible
    • Extensiones de tiempo real estricto
  • Adeos/Xenomai
    • Parche adeos
    • Xenomai
    • Parcheo, configuración y compilación del kernel
    • Ejecución en la tarjeta

LICENCIAMIENTO DE SOFTWARE

  • Administración
  • Desarrollo
  • ¿Cómo reproducir una versión de software?

VARIOS

  • getopt
  • Orden de bytes (endianess)
  • Hoja de trucos (cheat-sheets)

Salvo que se indique lo contrario, el contenido de este programa de estudio está licenciado bajo Atribución-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0).

Requerimientos

  • Familiaridad básica con el uso de un sistema GNU/Linux (por ejemplo, Ubuntu) como usuario final en espacio de usuario
  • Familiaridad básica con un intérprete de comandos (shell)
  • Conocimientos básicos sobre desarrollo de aplicaciones en espacio de usuario con GNU/Linux
  • Conocimientos básicos acerca de procesadores embebidos y tarjetas de desarrollo
  • Conocimientos básicos de programación en C
  • …o bien, ganas de aprender lo anterior…
 35 Horas

Número de participantes


Precio por participante

Testimonios (3)

Próximos cursos

Categorías Relacionadas