Gracias por enviar su consulta! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Gracias por enviar su reserva! Uno de los miembros de nuestro equipo se pondrá en contacto con usted en breve.
Duración 21 horas
Temario del curso
Introducción a los sistemas embebidos y C++
- Visión general de la arquitectura de 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 construcción (build systems).
- Trabajo con dispositivos objetivo.
- Desarrollo e implementación 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 efectiva 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 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 pila (stack) y montón (heap).
- Estrategias de gestión dinámica de memoria.
- Evitar la fragmentación de memoria y la expansión innecesaria del código.
Gestión de errores y consideraciones de seguridad
- Manejo de excepciones en entornos embebidos.
- Diseño de software confiable y predecible.
- Técnicas de programación defensiva.
- Consideraciones de C++ para sistemas críticos de seguridad.
Bibliotecas estándar de C++ y uso en entornos embebidos
- Selección de características adecuadas de la biblioteca estándar.
- Minimización del uso de recursos.
- Bibliotecas personalizadas y alternativas aptas para entornos embebidos.
- Escripción de código eficiente y mantenible.
Inicio, interacción con el hardware y depuración
- Secuencia de inicio de la aplicación embebida.
- Rutinas de inicialización.
- Depuración de aplicaciones de C++ en el hardware objetivo.
- Diagnóstico de problemas de rendimiento y 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 (scheduling) y restricciones de tiempo.
- Desarrollo de aplicaciones receptivas y deterministas.
Interoperabilidad entre C y C++
- Integración de bases de código de C y C++.
- Llamado a bibliotecas de C desde C++.
- Gestión de proyectos embebidos con lenguajes mixtos.
- Estrategias de migración de C a C++.
Modelación orientada a objetos y UML
- Aplicación de UML para el diseño de software embebido.
- Modelado de clases y componentes del sistema.
- Traducción de diseños a código embebido eficiente.
- Mejora de la mantenibilidad mediante diseño estructurado.
Taller práctico de aplicaciones embebidas 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 objetivo.
- Revisión de mejores prácticas y próximos pasos.
Requerimientos
- Un conocimiento general de C++.
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