En mi opinión, omita Arduino. Siempre lo he visto como un sistema un poco tonto para los no programadores. Busca algo que te permita aplicar tus conocimientos de C para obtener el nivel más bajo posible al principio. Desea comprender cómo funcionan los vectores de interrupción, cómo su RAM limitada limita su pila, cómo depurar.
Compruebe los microcontroladores de 8 bits y 16 bits de Freescale, especialmente el HCS08 o el HCS12. Hay algunos sistemas de desarrollo de $ 100-200 y algunos de menos de $ 100 con una interfaz de depuración incorporada (Modo de depuración de fondo). Estos son también un mayor rendimiento y memoria que Arduino. El software CodeWarrior es gratuito (limitaciones de tamaño de código, pero en la mayoría de los casos el número de limitación es mayor que la cantidad de flash en estos dispositivos) y completamente funcional. No sé si puede establecer puntos de corte de depuración de código con Arduino, pero puede hacerlo con estos. Hay otro beneficio para CodeWarrior: al principio, usted desea profundizar en las hojas de datos para comprender cómo funcionan los registros mapeados en memoria para los diversos módulos (por ejemplo, cómo se debe borrar una bandera, cómo establecer un modo, lo que sea), CodeWarrior viene con Processor Expert que generará funciones para usted derivados de la familia HCSxx específicos y sus módulos específicos. Como la mayoría de estos productos reutilizan la lógica entre derivados, con algunas diferencias menores, tiene sentido reutilizar el código. Processor Expert ha recorrido un largo camino desde su comienzo hace aproximadamente 10 años. A la larga es un gran ahorro para el tiempo de desarrollo, ya que estas funciones se encargan de escribir acciones de muy bajo nivel (por ejemplo, configurar un pin de salida del temporizador PWM para un ciclo de trabajo xx/aa con una llamada de función C).
Luego puede usar algunos de los sistemas operativos que se ejecutarán en estos, o puede pasar a ARM o ePPC. Conozco al menos una placa de demostración HCS12 que viene con Linux y un servidor web, que siempre podría eliminar para su primer desarrollo, y luego volver a ponerla cuando esté listo. Freescale también es muy bueno para proporcionar tutoriales, notas de aplicaciones y documentación, excepto que su sitio a veces es difícil de navegar. Supongo que es solo un síntoma de un gran ecosistema. ¡Buena suerte!
Es posible que desee reducir el alcance de su objetivo. Un "sistema integrado" podría ejecutar el rango desde una CPU ARM de 1 GHz de 32 bits, 1 GB de RAM, 32 GB de almacenamiento, ejecutando Linux; hasta un microcontrolador de 8 bits con 1KB de RAM sin ningún O/S en absoluto. Trata de imaginar, más específicamente, qué tipo de cosas quieres crear e ir desde allí. –
C/C++? Elegir uno. – Puppy
@DeadMG: Es bastante claro en contexto que quiere decir que puede programar en ambos. Solo por ti lo hice más claro. – Clifford