El desarrollo de software para sistemas embebidos se puede hacer con muchos idiomas compilados. Incluso se pueden usar idiomas interpretados si el sistema puede soportar tales gastos generales. Para nombrar unos pocos,
- C ++. Al principio, este lenguaje puede parecer inadecuado para sistemas con recursos limitados basados en microcontroladores de 8 bits y 16 bits, pero los proveedores de MCU proporcionan compiladores / ensambladores C ++ para el segmento de MCU de 32 bits. Por ejemplo, el desarrollo de controladores de dispositivos, el desarrollo relacionado con USB y las pilas de red son algunas áreas donde C ++ es adecuado.
- Pitón. Python está creciendo en casi todos los sectores de la programación. Python por sí solo es un poco difícil de interpretar por estos sistemas integrados con recursos limitados, pero un pequeño subconjunto del lenguaje con solo las características necesarias / necesarias se puede identificar y producir en un encendedor versión de Python.
MicroPython es uno de esos subconjuntos de Python 3 y está disponible para pocas MCU seleccionadas en el mercado. Muchas MCU en el mercado como STM32, la serie SAM de Atmel, la serie Mega tienen puertos para MicroPython. Incluso los SoC Wi-Fi de bajo costo Esp8266 de Espressif tienen soporte para MicroPython. Ver MicroPython – Python para microcontroladores - HDL [Verilog / VHDL] – Lenguaje de descripción de hardware. El desarrollo de sistemas embebidos no solo se limita al desarrollo de código que se compila en una MCU. Las [Arreglos de puertas programables de campo] de la FPGA están ganando importancia en el campo y pueden usarse en aplicaciones muy específicas como el procesamiento de señales. Otro aspecto es que el diseñador implementa directamente el diseño en hardware y el diseño resultante es muy eficiente en términos de velocidad, consumo de energía y otros factores. Cuestiones como el tiempo de desarrollo y el costo de NRE son cuestiones discutibles a la hora de elegir entre MCU y FPGA. Muchos proveedores de FPGA como Altera, Xilinx, MicroSemi proporcionan herramientas junto con sus propias placas de desarrollo.
Altera tiene una cierta línea de procesadores llamada Nios. Nios es un procesador de software, lo que significa que el usuario puede diseñar un procesador en algún lenguaje HDL, sintetizar el diseño y luego puede escribir código C para programar ese procesador de software.
Verilog y VHDL son ahora lenguajes HDL ampliamente utilizados. - Idiomas como Lua, Javascript, .net también se usan en algunos sistemas.
Ver Espruino, Nodelua, Netduino.
También vea, ¿Qué microcontroladores se pueden programar con C #? - Ada, BÁSICO, PASCAL. Ada todavía se usa en aviónica, pero no estoy muy seguro de su uso. Algunos MCus de la serie PIC de Microchip admiten PASCAL y algunos MCU de la serie AVR de ATMEL admiten BASIC.
En un sentido general, los principiantes pueden aprender C y algunos buenos y antiguos lenguajes de ensamblaje para que realmente puedan saber qué hay en el hardware / bare metal. Los lenguajes como Python son adecuados en las etapas posteriores de la curva de aprendizaje, cuando se necesitan niveles de abstracción tan altos para acelerar el desarrollo de código para sistemas integrados.
Gracias por el A2A.
- ¿Por qué no puedo usar C ++ en sistemas integrados? ¿Hay buenos libros sobre C ++ para sistemas integrados?
- ¿Cuáles son las ventajas de los PLC sobre otros microcontroladores como ARM, Arduino, PIC, etc.?
- ¿Cómo ayuda la capacitación en sistemas integrados a los estudiantes de TI para las ubicaciones?
- Para un ingeniero electrónico, ¿será útil tomar un entrenamiento de un mes en Emb.Sys? En caso afirmativo, ¿cuáles son los institutos que brindan la mejor capacitación?
- ¿Cómo se usa el lenguaje ensamblador en la ingeniería de control?