¿Cuál es la mejor manera de aprender programación de hardware para un principiante completo?

A partir de sus comentarios, parece que desea diseñar el hardware real y luego ir más allá escribiendo software para ejecutarlo. En ambos casos, solo leer sobre esto (o ver videos o algo así) es una forma muy pobre de aprendizaje. Definitivamente quieres algo de práctica para obtener realmente tu mano en lugar de tratar de recordar todo.

Definitivamente estás buscando algo similar a un Arduino. Aunque antes de gastar en algo como una placa de pruebas y componentes, es posible que prefiera comenzar con un simulador.

Le aconsejo que busque cursos que ofrezcan algo así como un simulador de hardware (un programa que simula un diseño de las puertas y combinaciones de hardware). Para mí, uno de los que repasé como una actualización (desde la última vez que supe de esto fue hace un par de décadas) es algo que se llama “De Nand a Tetris” (haga una búsqueda en Google o el motor de búsqueda web que prefiera, para eso frase). Incluye dicho simulador al que envía su hardware diseñado para HDL. Luego muestra cómo diseñas tu propio lenguaje de ensamblaje, lo ensamblas y lo ejecutas en tu propio hardware. Luego, diseña un lenguaje de alto nivel y, finalmente, escribe un programa completo interactivo para el usuario para ejecutarlo. Todo a través de un conjunto de programas de simulación, que le cuestan sólo su tiempo. El curso completo no debe durar más de 2 meses, y si lo levanta rápidamente y se injerta cada día, debería completar todos los capítulos en un mes fácilmente.

Si es lo mejor no puedo decir. Llegué a eso desde un punto en el que generalmente ya lo sabía, así que un poco inseguro de cómo un novato encontraría las descripciones. Pero cuando lo hice, encontré muchas veces que tuve que obligarme a no saltar y simplemente hacer los movimientos. Eso suele ser un buen indicador de que debería funcionar para alguien con menos experiencia.

Y ciertamente no es extremadamente completo. Le muestra los conceptos básicos y lo prepara para especializarse después mucho más fácilmente. Por ejemplo, el lenguaje de alto nivel presentado en el curso parece Java, pero muy reducido. La implementación del hardware está muy enfocada en la abstracción (por ejemplo, en lugar de diseñar un sumador de 16 bits colocando puertas, se muestra cómo hacer que uno use 16 sumadores de un solo bit, no necesariamente la forma más eficiente posible). Pero como está pensado como un recurso de capacitación para principiantes, debería ser más que adecuado, especialmente porque cubre todos sus requisitos.

No soy un experto o profesional en este campo, pero puedo sugerirte que leas algunos de los artículos que podrían ayudarte.

Aquí,

5 pasos iniciales para aprender a programar sistemas embebidos

FMBomb – Un enfoque para principiantes de la programación de hardware

La guía del principiante absoluto de Arduino

Gracias

Arduino – Introducción

Busque más en Google y lea algunos blogs, etc. No hay nada especial en los productos Arduino en sí mismos, son solo el equivalente de hardware / microcontrolador de una Raspberry Pi. Aquí está otro:

¡La Fundación Micro: bit es una organización global sin fines de lucro que hace la invención con la tecnología divertida para todos!