Temario del curso
Introducción a los sistemas embebidos y C++
- Visión general de la arquitectura de los sistemas embebidos
- Desafíos del desarrollo de software embebido
- Adecuación de C++ para microcontroladores y plataformas embebidas
- Equilibrio entre abstracción, rendimiento y restricciones de recursos
Entorno de desarrollo de C++ embebido
- Configuración de la cadena de herramientas de desarrollo embebido
- Compiladores, depuradores y sistemas de compilación (build systems)
- Trabajo con dispositivos de destino
- Desarrollo y despliegue de aplicaciones embebidas
Programación orientada a objetos para sistemas embebidos
- Principios del diseño orientado a objetos
- Clases y objetos en entornos con recursos limitados
- Encapsulamiento y diseño modular
- Aplicación eficaz de técnicas orientadas a objetos en aplicaciones embebidas
Características avanzadas de C++ para desarrollo embebido
- Herencia y polimorfismo
- Funciones virtuales y consideraciones sobre la sobrecarga en tiempo de ejecución
- Plantillas (templates) y evitación de la expansión innecesaria de código
- Funciones en línea (inline) y optimización del rendimiento
Gestión de memoria y optimización de recursos
- Restricciones de memoria en sistemas embebidos
- Consideraciones sobre el uso de la pila (stack) y el montón (heap)
- Estrategias de gestión dinámica de memoria
- Evitar la fragmentación de memoria y la sobrecarga de código
Gestión de errores y consideraciones de seguridad
- Gestión de excepciones en entornos embebidos
- Diseño de software confiable y predecible
- Técnicas de programación defensiva
- Consideraciones de C++ para sistemas de criticidad en seguridad
Bibliotecas estándar de C++ y uso embebido
- Selección de las características adecuadas de la biblioteca estándar
- Minimización del uso de recursos
- Bibliotecas personalizadas y alternativas amigables para entornos embebidos
- Escritura de código eficiente y mantenible
Inicialización, interacción con el hardware y depuración
- Secuencia de arranque de la aplicación embebida
- Rutinas de inicialización
- Depuración de aplicaciones C++ en hardware de destino
- Diagnóstico de problemas de rendimiento y en tiempo de ejecución
Programación en tiempo real y sistemas operativos
- Fundamentos de los sistemas en tiempo real
- Trabajo con sistemas operativos en tiempo real (RTOS)
- Programación de tareas (task scheduling) y restricciones temporales
- Desarrollo de aplicaciones responsivas y determinísticas
Interoperabilidad entre C y C++
- Integración de bases de código de C y C++
- Llamada a bibliotecas de C desde C++
- Gestión de proyectos embebidos de lenguajes mixtos
- Estrategias de migración de C a C++
Modelización orientada a objetos y UML
- Aplicación de UML para el diseño de software embebido
- Modelización de clases y componentes del sistema
- Traducción de diseños a código embebido eficiente
- Mejora de la mantenibilidad mediante un diseño estructurado
Taller práctico de aplicación embebida en C++
- Desarrollo de una aplicación embebida utilizando C++
- Aplicación de técnicas de optimización y seguridad
- Pruebas y depuración en un dispositivo de destino
- Revisión de mejores prácticas y próximos pasos
Requerimientos
- Un conocimiento general de C++
Formación Corporativa a Medida
Soluciones de formación diseñadas exclusivamente para empresas.
- Contenido personalizado: Adaptamos el temario y los ejercicios prácticos a los objetivos y necesidades reales del proyecto.
- Calendario flexible: Fechas y horarios adaptados a la agenda de su equipo.
- Modalidad: Online (en directo), In-company (en sus oficinas) o Híbrida.
Precio por grupo privado (formación online) desde 4350 € + IVA*
Contáctenos para obtener un presupuesto exacto y conocer nuestras promociones actuales
Reseñas (2)
El formador se adaptó realmente al nivel de nuestro grupo y dedicó mucho tiempo y esfuerzo para asegurarse de que la presentación estuviera bien adaptada.
Nicolas Guerette-Berthiaume - Trilliant
Curso - C++ for Embedded Systems
Traducción Automática
Interactividad, tiempo para la programación autónoma. Aprendo mejor si tengo la oportunidad de descubrir la respuesta por mí mismo y no solo que me la digan. También fue muy positivo que el entrenamiento estuviera bien planeado, manteniendo los descansos para café y sin perder mi atención. El formador tenía un conocimiento muy profundo de C++, nos sentíamos cómodos preguntando cualquier cosa.
Barna Szecsi - GIS Europe SE
Curso - C++ for Embedded Systems
Traducción Automática