¿Cómo seleccionamos un IDE para el desarrollo de software integrado? ¿Debería basarse en RTOS planificado o procesador?

RTOS y el procesador son decisiones técnicas relacionadas con el problema que está tratando de resolver. La cadena de herramientas, el depurador y las bibliotecas de plataforma serán una consecuencia de la elección del procesador y el IDE es opcional y está sujeto al gusto del programador.

La forma en que lo hago es esto: elegir el hardware que sea más barato para la producción siempre que cumpla con todos los requisitos comerciales. Evito pagar dinero extra en efectivo por el precio unitario para un mejor entorno, a menos que las herramientas pagas realmente puedan traducirse en la reducción de costos del producto final, esta es una decisión de la gerencia considerando la velocidad de desarrollo esperada frente a la capacidad y los costos del equipo.

Si el equipo es grande, configuraré una máquina virtual y / o un servidor para ejecutar la compilación y las pruebas unitarias automatizadas IDE agnósticas. De esta forma, cada desarrollador es libre de usar el SO y el editor de código que desee.

Hay situaciones en las que se necesitará el IDE del fabricante, generalmente es para la depuración en el destino, porque es molesto configurar una sección de depuración agnóstica IDE en microcontroladores.

Mejor,

Su IDE se basa en su procesador / controlador. No creo que haya ningún IDE particular para RTOS. RTOS está disponible como código fuente para controladores / procesadores. La siguiente es la lista de IDE que puede usar para su desarrollo:

  1. Microchip: MPLABX
  2. Atmel: Atmel Studio
  3. Arduino: Arduino (también puedes programar arduino en atmel studio o visual studio)
  4. Procesadores Toradex: Visual Studio
  5. Texas Instruments: Code Composer Studio
  6. Microcontrolador ST: Keil

Y hay muchos más. También puede usar Eclipse pero tendrá que descargar todos los complementos para su controlador.

RTOS no se debe usar hasta y a menos que tenga un tiempo de codificación crítica. Si puede manejarlo usando interrupciones, entonces no use RTOS. Pero aún así, si desea usar RTOS, puede usarlo. Deberá descargar su código fuente y editarlo según sus requisitos.

Gracias.

En general, el software integrado se desarrolla con técnicas de compilación cruzada, es decir, un compilador cruzado, un ensamblador cruzado, un enlazador cruzado … Estos son programas de línea de comandos (por ejemplo, puede obtener un GCC de compilador cruzado para la mayoría de los sistemas embebidos de destino, y puede obtener algunos binutils de configuración cruzada que proporcionarían el ensamblador y el enlazador).

La mayoría de las distribuciones de Linux son muy amigables para el desarrollador, por lo tanto, proporcione muchas herramientas de compilación cruzada (y podría construir fácilmente estas herramientas a partir del código fuente, ya que todos los programas que menciono aquí son software libre).

Puede (y sugiero que …) usar un editor de código fuente para desarrollar su código. Mi preferencia es emacs, pero podría usar vim o muchos otros editores. Es realmente una cuestión de gustos.

Necesitará algunas otras herramientas, incluida una herramienta de automatización de compilación como GNU make, algún depurador cruzado (encontrará o compilará algunos gdb configurados para sus necesidades), algún sistema de control de versiones (recomiendo git).

Con todo este conjunto de herramientas, podrá configurar su editor favorito para usarlos. Entonces obtendrá una herramienta mucho mejor que la que la mayoría de los IDE le proporcionarían. En mi opinión, un buen editor puede configurarse para ser un IDE, y un IDE es solo un editor (disfrazado) configurado para ejecutar otras herramientas (compiladores, depuradores, sistema de control de versiones).

RTOS es probablemente un sistema operativo para ejecutar en su sistema integrado (consulte Comparación de sistemas operativos en tiempo real y tenga cuidado al elegir su sistema operativo integrado … pero esa no es la pregunta aquí …) No es un sistema operativo para desarrollo. Ejecutará sus herramientas cruzadas en su computadora de escritorio (y mi sugerencia es instalar alguna distribución de Linux en ella). No desea ejecutar herramientas de desarrollo (especialmente compiladores) en su sistema embebido (porque la optimización de compiladores necesita muchos recursos informáticos, que un sistema embebido barato no tiene).

No veo cómo puedes separar las tres herramientas. Estas no son tres decisiones separadas, es una: Procesador, RTOS y entorno de desarrollo (que no tiene que ser un IDE). Los tres deben ser adecuados para su propósito y trabajar juntos. Estas no son tres decisiones, es una. No elige las ruedas delanteras y traseras de su automóvil por separado.

en realidad, independientemente de cualquier otro aspecto, es cuestión de gustos

como ide solo proporciona un marco integrado para editar, compilar y depurar su código

pero incluso puedes hacerlo desde una línea de comando sin necesidad de ide

así que prueba todo y elige con qué te sientes cómodo

En general, es como cualquier programación, usa lo que le gusta hasta que se ve obligado a usar otra cosa. Incluso entonces, realmente solo necesita el IDE patentado para compilar, depurar y tal vez programar su dispositivo, por lo que aún puede codificar en notepad ++ o vim para Windows. Lo que decide qué IDEs de propiedad puede necesitar, bueno, ese puede ser su sistema operativo, pero generalmente es una pieza de hardware como su placa de desarrollo (más que solo la CPU) o un periférico como un sensor especial o dispositivo de red.

More Interesting

¿Qué debería preferir para mi primer Robot, AVR o 8051?

¿Cuáles son los compiladores para un sistema embebido?

En la programación en C, especialmente en la programación de sistemas integrados, ¿por qué el desarrollador necesita una operación atómica cuando se usa?

¿Qué significa exactamente un ingeniero incorporado?

¿Se puede usar Adroid OS para sistemas embebidos, como si tuviera una pequeña pieza de hardware, después de algún evento controlado por hardware necesito enviar sms, también necesita una conectividad web? ¿Cómo se puede hacer?

¿Por qué son importantes los sistemas integrados, que son herramientas, dispositivos y equipos pequeños, rápidos y muy potentes que se han convertido en parte de nuestra vida cotidiana?

¿Cuál es la razón detrás del microcontrolador 8051 no está ejecutando el código hasta que lo reinicie manualmente?

¿Qué instituto, excepto VECTOR, es el mejor para la capacitación de sistemas integrados con buenas ubicaciones?

Cómo comenzar a programar en C para sistemas embebidos

¿Cuánto cálculo utilizan los ingenieros electrónicos (especializados en hardware informático y sistemas integrados) en el trabajo?

¿Cuáles son las aplicaciones industriales de microcontroladores y software como Arduino y Raspberry Pi, etc.?

¿Cómo se interconectan los sistemas integrados, IoT y la robótica?

¿Cuál es la diferencia entre hacer una maestría en sistemas embebidos y una en informática?

¿Qué versión de Linux incorporado es adecuada para nuestros sistemas IoT basados ​​en arm?

¿Qué debo practicar para ser elegible para el puesto de ingeniero de sistemas integrados?