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++
- Resumen 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 (toolchain).
- Compiladores, depuradores y sistemas de compilació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 el desarrollo embebido
- Herencia y polimorfismo.
- Funciones virtuales y consideraciones sobre el costo de ejecución en tiempo real.
- Plantillas 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 y el montón (heap).
- Estrategias de gestión de memoria dinámica.
- Evitar la fragmentación de memoria y el incremento innecesario del tamaño 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 su uso embebido
- Selección de características apropiadas 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.
Inicialización, 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 y restricciones de tiempo.
- Desarrollo de aplicaciones responsivas y deterministas.
Interoperabilidad entre C y C++
- Integración de bases de código de C y C++.
- Llamadas a bibliotecas de C desde C++.
- Gestión de proyectos embebidos multilingües.
- 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 a través del 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 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