Estoy familiarizado con el uso de microcontroladores, tanto con marcos como Arduino y de forma nativa (PIC / AVR). También estoy familiarizado con la arquitectura general de los sistemas integrados, en la medida en que sé que tiene un procesador con RAM discreta y ROM / flash conectado a través de varios buses. Sin embargo, nunca he creado un proyecto desde cero utilizando un microprocesador.
¿Qué debo saber antes de pasar a los proyectos basados en microprocesadores? Por ejemplo, en un microcontrolador, estoy acostumbrado a enviar solo un código a través de mi compilador y obtener un binario que se puede cargar a través de ISP o similar. ¿Cómo funciona esto con un procesador con flash discreto? ¿Y qué hay de las fuentes de reloj? ¿Los procesadores normalmente vienen con un reloj interno como lo hacen las MCU? Estoy seguro de que también hay muchas "incógnitas desconocidas". ¿Dónde debería buscar para comenzar?
Me interesan principalmente las plataformas ARM y x86, pero el consejo general también sería útil.