¿Está bien no estudiar la arquitectura de microcontroladores y comenzar directamente con la programación y la creación de cosas?

Eso depende de lo que planeas hacer exactamente. Si planea hacer cosas simples, como reemplazar un circuito de temporización roto para la luz intermitente de su automóvil, hacer algo que cierre automáticamente la puerta cada vez que la cierre, o incluso algunas cosas moderadamente complejas, como un controlador PID para que un automóvil de control remoto se adhiera una velocidad particular independientemente de la pendiente o la resistencia, entonces puede salirse con la suya sin comprender realmente la arquitectura de su microcontrolador.

Pero a medida que avanza en la complejidad, como crear un DSP para interpretar señales de audio, crear un sistema de guía GPS que pueda reconocer cuando se está falsificando, cualquier cosa que tenga que hacer procesamiento de video o actuar como un módem, entonces es necesario comprender la arquitectura en Para permanecer en las limitaciones de recursos.
Su PC puede dibujar en algún lugar cercano a los 100 vatios y tiene una velocidad de reloj de entre 1 y 5 GHz, ejecuta simultáneamente de 2 a 8 subprocesos (dependiendo de su procesador), tiene entre 1 y 10 megabytes de caché (memoria de acceso extremadamente rápido) en varios niveles y en cualquier lugar entre 1 y 16 gigabytes de memoria de acceso aleatorio (acceso rápido, pero toma algunos ciclos de reloj antes de que pueda obtener la información) y si eso no es suficiente, entonces tiene un disco duro realmente enorme que puede usar temporalmente almacenar información para ser procesada.
Pero un microcontrolador puede no tener incluso kilobytes de caché disponibles, y mucho menos cualquier otra memoria para usar. Su programa tendrá que ajustarse por completo dentro de las restricciones de memoria, incluidas las instrucciones * y * el espacio necesario para almacenar los datos no procesados ​​y procesados. Agregue además el hecho de que su microcontrolador solo puede estar funcionando a 50 MHz (dando incluso a la CPU de PC más lenta un aumento de 20 veces en la velocidad del reloj solo, y mucho menos la eficiencia de tener un conjunto de instrucciones más complejo y robusto como las últimas incorporaciones x86 / x64), y tratar de programarlo de la manera en que programa una computadora normal puede significar un desastre cuando intenta ejecutarlo en algo como su pequeño PIC.

Sí, está absolutamente bien.

Cuando programa un microcontrolador en un lenguaje de alto nivel como C, básicamente se trata de funciones de biblioteca en su mayor parte. Debe consultar la hoja de datos para registros de funciones especiales para comprender cómo configurar y controlar varios periféricos.

También debe sumergirse en las limitaciones y advertencias de la programación en un entorno con recursos limitados.

Ensucia tus manos escribiendo código. Puede leer sobre la arquitectura en un momento posterior.

Sin embargo, si planea usar un procesador avanzado como ARM y usar cosas como DMA, entonces sí, necesita pasar un tiempo para aprender la arquitectura.