Formación : Linux industrial, de tiempo real e integrado

Linux industrial, de tiempo real e integrado

Descargar en formato pdf Compartir este curso por correo electrónico 2


En este curso, descubrirá la arquitectura general de un sistema embebido e implementará las herramientas de desarrollo industrial disponibles libremente en Linux. Implementará mecanismos de tiempo compartido y programación flexible en tiempo real, y accederá al desarrollo en tiempo real estricto con la extensión LinuxRT o Xenomai. Por último, verá cómo personalizar el arranque de un sistema Linux.


Abierta
In-company
A medida

Curso práctico presencial o en clase a distancia

Ref. LXT
Precio : Contacto
  4d - 28h00




En este curso, descubrirá la arquitectura general de un sistema embebido e implementará las herramientas de desarrollo industrial disponibles libremente en Linux. Implementará mecanismos de tiempo compartido y programación flexible en tiempo real, y accederá al desarrollo en tiempo real estricto con la extensión LinuxRT o Xenomai. Por último, verá cómo personalizar el arranque de un sistema Linux.

Público afectado
Desarrolladores Linux/Unix.

Requisitos previos
Buenos conocimientos de un sistema Linux/Unix y de programación en C.

Programa de la formación

Arquitectura

  • Sistemas informáticos ordinarios y de a bordo.
  • Limitaciones de los sistemas integrados.
  • Arquitectura general de un sistema empotrado.
  • Puesta en marcha del sistema, fase de arranque.
  • Arquitectura del núcleo Linux. Ubicación de las fuentes.
  • Puesta en marcha del sistema, fases de arranque (código dependiente y común).
Trabajo práctico
Detección de errores en tiempo de compilación, en tiempo de enlace, uso de Eclipse/CDT, uso de una cadena de compilación cruzada. Depuración. Detección de fugas de memoria y desbordamientos de búfer. Pruebas de cobertura en la ejecución de la aplicación.

Desarrollo industrial con Linux

  • Entorno Linux.
  • Modo de funcionamiento: usuario, supervisor.
  • Licencias e implicaciones para el desarrollo industrial.
  • Herramientas de desarrollo de código abierto (compilador, depurador, herramientas de análisis, seguimiento y prueba).
  • Los distintos IDE (Entorno de Desarrollo Integrado) : Eclipse...
  • Métodos avanzados de compilación.
  • La cadena de compilación cruzada.
  • Gestión de la memoria.
  • Detección de fugas de memoria.
  • Desbordamiento del búfer.

Tiempo compartido flexible y programación en tiempo real

  • Exactitud de las mediciones y expectativas de tiempo.
  • Programación a tiempo compartido. Reglas de anticipación.
  • Funcionamiento general del planificador, prioridades y reparto de CPU.
  • ¿Cuándo es preferente el núcleo?
  • Gestión del tiempo y temporizadores de precisión.
  • Tiempo real flexible Posix.1b: principios.
  • Configuración de la programación de procesos e hilos.
  • Problemas algorítmicos vinculados al tiempo real.
  • Planificador de Linux: núcleos 3.x
Trabajo práctico
Creación y gestión de procesos. Prioridades y compartición de CPU. Examen del funcionamiento del planificador. Cambio de procesos en tiempo real. Comprobación de la precisión de temporizadores y durmientes.

Tiempo real estricto - Extensión Xenomai

  • Principio estricto de tiempo real.
  • Visión general de la extensión Xenomai.
  • Conceptos de tiempo real estricto: principio de los microkernels Adeos, Xenomai, LinuxRT.
  • Instalación y API de Xenomai.
  • Uso de la extensión LinuxRT.
  • Programación estricta en tiempo real en modo usuario.
  • Interrupciones (activación, desactivación, etc.).
  • Protección contra interrupciones.
  • Gestión de las comunicaciones.
  • Presentación de la API Xenomai, instalación de Xenomai.
  • Estricta gestión de tareas en tiempo real.
Trabajo práctico
Instalación de Xenomai. Creación de tareas estrictas en tiempo real. Gestión de las comunicaciones. Escribiendo un manejador de interrupciones y un proceso programado de tiempo real estricto. Instalación y uso de Xenomai.

Entornos restringidos, sistemas integrados

  • Problemas de los sistemas integrados.
  • Sistema LinuxRT, Xenomai: API, desarrollo.
  • Embedded Linux: elegir una versión del kernel.
  • Bibliotecas del sistema (Newlib, DietLibc).
  • Aplicaciones y utilidades a bordo.
  • Interfaz de usuario.
  • Interfaces gráficas optimizadas (directfb, etc).
  • Presentación y configuración de un cargador de arranque.
  • Generación de un núcleo reducido. Información general sobre el sistema de archivos.
  • Instalación de la cadena de compilación.
Trabajo práctico
Instalación y compilación de una aplicación LinuxRT personalizada, Xenomai y un núcleo de tamaño reducido. Creación de un sistema de archivos. Incorporación de aplicaciones mínimas. Escritura de aplicaciones utilizando una interfaz LED o LCD. Instalación de un servidor HTTP integrado.

Personalización del arranque del sistema

  • Las distintas fases de arranque (encendido, Bios, cargador del kernel (Grub, UBoot, etc.).
  • El papel del proceso Init. El nivel de ejecución.
  • El contenido del Init.
  • Sustitución del proceso Init por una versión personalizada.
  • Inicialización desde el área de usuario.
Trabajo práctico
Creación y personalización de un disco initrd. Sustitución del proceso Init por una versión personalizada y sustitución por un script de Shell.


Modalidades prácticas
Trabajo práctico
Los numerosos ejercicios y casos prácticos progresivos se realizan en una red de servidores Linux. Todos los programas creados durante las sesiones prácticas están disponibles en forma de esqueletos que los participantes pueden completar por sí mismos.