Contacta con nosotros

Temario del curso

Introducción

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

ENTORNO DE PRÁCTICAS PARA EL HOST

  • Prácticas con GNU/Linux
    • arquitectura
    • shell
    • permisos
    • FHS (estándar de jerarquía de archivos)
    • enlaces físicos/simbólicos
    • uid/gid real/efectivo
    • programador
    • proceso/tarea/hilo
    • IPC básico/avanzado
      • tuberías
      • señales
      • colas de mensajes
      • semáforos
      • memoria compartida
      • sockets
      • select/poll
    • Técnicas de IPC que deben evitarse
  • Configuración del host Linux
    • Yocto/ELDK (herramientas cruzadas/objetivo, bibliotecas, paquetes)
    • Emulación de terminal
    • Servidores (DHCP, tftp, NFS)

ENTORNO DE PRÁCTICAS PARA EL OBJETIVO

  • Archivos necesarios para ejecutar algo en la placa
    • configuración JTAG/BDI
    • u-boot (checkout, config, build)
    • kernel (checkout, config, build)
    • rootfs
    • árbol de dispositivos plano
  • compilar/ejecutar lo aplicable de lo anterior en la placa objetivo
  • Varios rootfs
    • CRAMFS
    • ramdisk
    • MTD
    • JFFS2
    • roEXT2
    • ubi
  • compilar/ejecutar lo aplicable de lo anterior en la placa objetivo
  • comparación de sistemas de archivos raíz
  • depuración
    • herramientas simples
    • local/remoto
    • usuario/kernel
    • gdb
    • gdbserver
    • JTAG/BDI (opcional)
  • perfilado
    • gprof
    • gcov
    • oprofile

EN TIEMPO REAL

  • prerrequisitos
    • interrupciones
    • código reentrante
  • Linux en tiempo real
    • puntos de preempcción explícitos/implícitos
    • parche de preempcción en tiempo real
    • kernel totalmente preempativo
    • extensiones de tiempo real duro
  • Adeos/Xenomai
    • parche adeos
    • xenomai
    • parche/config/build kernel
    • ejecutarlo en la placa

LIBERACIÓN DE SOFTWARE

  • administración
  • desarrollo
  • ¿cómo reproducir una liberación de software?

VARIEDAD

  • getopt
  • endianness
  • tablas de referencia

A menos que se indique lo contrario, el contenido de este programa de cursos está licenciado bajo Atribución-NonCommercial-ShareAlike 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 el espacio de usuario 
  • Familiaridad básica con un shell de línea de comandos 
  • Conocimientos básicos de desarrollo de aplicaciones en el espacio de usuario con GNU/Linux 
  • Conocimientos básicos sobre procesadores integrados y tarjetas de desarrollo 
  • Conocimientos básicos de programación en C 
  • …y/o miedo a aprender lo anterior… 
 35 Horas

Número de participantes


Precio por participante

Testimonios (3)

Próximos cursos

Categorías Relacionadas