Para ser un buen desarrollador de sistemas integrados, no es suficiente dominar uno o más lenguajes de programación, sino que necesita saber mucho más.
En general, las personas que provienen de la experiencia de “Desarrollo de software basado en PC de escritorio” no se dan cuenta de la importancia de conocer otras cosas que son críticas para ser un buen desarrollador de sistemas integrados y se centran más en aprender solo lenguajes de programación. Aunque tener dominio del lenguaje de programación es imprescindible pero no suficiente.
Generalmente, C, C ++ con un código de ensamblaje en línea se utiliza en la mayoría de los sistemas integrados. Hay sistemas que ejecutan JAVA, código Python también. A medida que el hardware subyacente se está volviendo más poderoso en términos de velocidad, soporte de memoria, etc., las personas están explorando para construir aplicaciones integradas que no sean solo c, c ++.
- ¿Cómo seleccionamos un IDE para el desarrollo de software integrado? ¿Debería basarse en RTOS planificado o procesador?
- ¿Cómo debo decidir si me gusta más el sistema integrado o VLSI?
- ¿Cuál es una buena declaración de problema para un proyecto en el dominio de sistemas integrados?
- Empecé a trabajar en Raspberry Pi usando Python. Tengo el problema de que los programas que se ofrecen en Internet no se explican. P.ej. para ejecutar UART se proporciona un archivo llamado 'serial'. ¿Cómo sabría qué funciones se dan en este archivo y qué opciones de parámetros están disponibles?
- ¿Cuáles son algunos proyectos interesantes de electrónica o sistemas integrados que se pueden hacer en casa?
Entonces, ¿qué otras cosas debe saber un desarrollador de sistemas integrados?
- Los desarrolladores de sistemas integrados trabajan estrechamente con el desarrollo de código que habla con el hardware. Es necesario tener una buena comprensión del hardware, los circuitos, el registro, la lectura de la hoja de datos y poder escribir código, analizar esquemas, etc.
- Si trabaja en sistemas basados en sistemas operativos como RTOS o sistemas basados en Linux, debe tener un buen conocimiento de cómo funcionan estos sistemas operativos y cómo desarrollar programas basados en estos sistemas operativos
- En general, las personas prefieren usar Linux en lugar de otros sistemas operativos comerciales en tiempo real para reducir el costo de desarrollo. Las habilidades de Linux son muy importantes para trabajar en sistemas embebidos. Desarrollo de aplicaciones basadas en Linux, GCC, Makefile, Eclipse, gestión de procesos, gestión de memoria, Linux IPC, sockets BSD, llamadas al sistema Linux, desarrollo del módulo Linux Kernel y scripts de Linux Bash
- Herramientas de desarrollo y depuración: JTAG, GDB, KDB, Hyperterminal, TCPdump, CAN Analyzer, etc.
- Formatos de archivo binario: COFF, Srecord, Bin, Intel Hex, .out ,. exe, etc. y cómo actualizar los archivos binarios en dispositivos Flash
- Técnicas de optimización de código, usando herramientas de análisis de código estático y dinámico, herramientas de cobertura de código, análisis de tiempo, medición de tiempo
- El conocimiento del uso de Multímetro, CRO, Analizador lógico, Generador de funciones es una ventaja adicional
- Uso de herramientas de gestión de configuración como SVN, Clearcase, Git, etc.
- Desarrollo de scripts para probar el hardware y pruebas de fin de línea
- Desarrollo de herramientas para actualización de firmware de fábrica, actualización de firmware por lotes, etc.
- Conocimiento del proceso de desarrollo de software.
Espero que esto ayude.