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++
- Vista 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 limitaciones de recursos.
Entorno de desarrollo en C++ embebido
- Configuración de la cadena de herramientas de desarrollo embebido.
- Compiladores, depuradores y sistemas de compilación.
- Trabajo con dispositivos de destino.
- 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 cómo evitar 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
- Limitaciones de memoria en sistemas embebidos.
- Consideraciones sobre el uso de pila (stack) y heap.
- Estrategias de gestión dinámica de memoria.
- Evitar la fragmentación de memoria y la expansión innecesaria del código.
Manejo 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 para la seguridad.
Bibliotecas estándar de C++ y uso embebido
- 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.
- Escritura de código eficiente y mantenible.
Inicialización, interacción con hardware y depuración
- Secuencia de inicio de aplicaciones embebidas.
- Rutinas de inicialización.
- Depuración de aplicaciones de C++ en hardware de destino.
- 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).
- Planificación de tareas y restricciones de tiempo.
- Desarrollo de aplicaciones responsivas y deterministas.
Interoperabilidad entre C y C++
- Integración de bases de código en C y C++.
- Llamado de bibliotecas C desde C++.
- Gestión de proyectos embebidos de lenguajes mixtos.
- Estrategias de migración de C a C++.
Modelado orientado 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 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
- 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