¿Se requiere una configuración particular de computadora portátil / PC para la programación de sistemas integrados? ¿Qué sistema operativo sería mejor: Linux o Windows? ¿Algún requisito especial?

Gracias por el A2A, no he hecho mucha programación en años, pero sé que solo un vistazo rápido muestra que parte de la programación integrada se realiza con Java. Algunas cosas en Windows están restringiendo más a Java, y también estoy interesado en aprender más sobre los sistemas operativos Linux y ahora es parte de los teléfonos. Linux está basado en Unix, un sistema operativo muy estable desarrollado por un equipo universitario de Dartmouth si no recuerdo mal. Todavía es un tipo de sistema operativo muy estable, de hecho en los teléfonos celulares según Wikipedia ” Android es un sistema operativo móvil desarrollado por Google, basado en el kernel de Linux y diseñado principalmente para dispositivos móviles con pantalla táctil como teléfonos inteligentes y tabletas”. Utiliza permisos basados ​​en Linux para ejecutar los teléfonos. Windows suele ser más fácil de usar porque tenían un equipo que lo desarrolló, pero Linux también es un buen tipo de sistema operativo. Es bueno contar con una amplia base de conocimientos para poder resolver problemas si los encuentra. Por lo tanto, le recomendaría que busque tanto en Windows como en un sistema basado en Linux para hacer lo que necesita que haga. Comience con el Programa Java que cree que podría querer usar. Mire los requisitos recomendados, y generalmente obtengo un hardware un poco más capaz de lo que necesita para el crecimiento del sistema con el tiempo. Espero que puedan hacer algunas cosas buenas con la programación integrada, y tal vez encontrar algo bueno y tener una buena pequeña empresa algún día.

“Depende.” Si el objetivo incrustado particular que está viendo solo tiene herramientas disponibles para Windows (muchas de ellas lo hacen), entonces Windows es su mejor opción. Si puede controlar el “objetivo incrustado” usted mismo, puede elegir uno que sea más amigable con el sistema que prefiera.

La gente de Arduino ha hecho un trabajo impresionante al mostrarle al mundo que un IDE puede ejecutarse en (casi) cualquier entorno informático, he ejecutado el IDE de Arduino en Windows, Mac, Linux y FreeBSD. Pero Arduino estaba dirigido a experimentadores y programadores casuales, por lo que apoyar todos los sistemas era un objetivo importante para ellos.

A menudo, es útil crear software para la máquina integrada (el objetivo) en una máquina que no sea el objetivo. Los objetivos integrados a menudo tienen memoria, almacenamiento y potencia de procesamiento limitados, por lo que construir el software del objetivo en una estación de trabajo o construir una máquina a menudo es mucho más rápido (y, a veces, las limitaciones del objetivo hacen que esto sea una necesidad directa).

Para construir para su objetivo, necesitará compiladores, ensambladores, enlazadores, etc. que sean capaces de producir binarios para su objetivo. Esto pone algunas limitaciones en su estación de trabajo / máquina de construcción. Debe elegir uno que le permita producir el tipo de binarios que necesita para su objetivo.

Principalmente trabajo con objetivos de Linux, y también me resulta muy práctico ejecutar Linux en mi estación de trabajo. Mis objetivos a menudo son ARM, y mi estación de trabajo siempre es x86, lo que significa que todavía no puedo trabajar directamente con los binarios de destino, pero simplemente tener una cadena de herramientas ARM junto con mi cadena de herramientas x86 significa que no tengo que hacer mucho contexto mental cambio al construir para ARM. También significa que a menudo puedo hacer una compilación nativa x86 de mi software y probar cosas en mi estación de trabajo.

Gracias por A2A
No lo creo. La mayor parte del trabajo hoy en día se realiza en IDE como Netbeans, Eclipse, etc., que son independientes de la plataforma.
Usamos simuladores también. Por lo tanto, no necesita una máquina para ejecutar los programas y verificar la salida.
Te sugiero que revises esto:
Java ME y Embebido
Desarrollo de software integrado usando Eclipse y FreeRTOS.org