5 pasos para comenzar con la programación integrada
1. Aprende C
Por una variedad de razones, la gran mayoría de las cadenas de herramientas integradas están diseñadas para admitir C como lenguaje principal. Si desea escribir software embebido para algo más que unas pocas plataformas de aficionados, necesitará aprender C (y con suerte, eventualmente, Rust).
- Dado un sistema integrado que tiene múltiples CPU, ¿cómo podemos diseñar un sistema para la comunicación entre procesadores?
- ¿Es posible hacer un microcontrolador como un proyecto universitario?
- ¿Hay algún algoritmo con una amplia aplicación que un ingeniero de sistemas integrados debería conocer?
- ¿Vale la pena hacer un curso CDAC en un sistema integrado?
- Cómo relacionar Kernel Development, Embedded Systems, Robotics and AI
2. Aprenda algo de electrónica básica
No te preocupes, no necesitas tomar una clase ni nada. Solo necesita una comprensión básica de voltaje, corriente, potencia, resistencia, ley de ohmios. Probablemente pueda sobrevivir con solo unos pocos tutoriales en línea y algunos experimentando con simuladores en línea y / o circuitos reales.
3. Obtenga el equipo básico
Como se trata de un software integrado y realmente interactuarás con el mundo físico, eventualmente necesitarás algunos equipos físicos. Al menos necesitarás:
- Soldador
- Multímetro digital (DMM)
- Un depurador de hardware / adaptador JTAG (como un adaptador ST-Link u OLMEX)
También recomiendo obtener un analizador lógico. Mi favorito es de Saleae, pero son muchos otros más baratos.
4. Elija un microcontrolador y una cadena de herramientas
Bien, ahora que tenemos los fundamentos, ¿podemos llegar a la codificación?
Casi. Para ejecutar realmente sus programas, necesitará un microcontrolador para ejecutarlos, un compilador que pueda compilar sus programas para su microcontrolador de destino y otras herramientas para cargar sus programas en su hardware y depurarlos.
Personalmente me gusta la familia de microcontroladores STM32. Están bien respaldados por mi cadena de herramientas incrustada favorita: arm-gcc junto con openOCD. Esta combinación no es tan fácil de usar como un Arduino, pero también es adecuada para muchas más aplicaciones del mundo real.
- Una buena opción de inicio es obtener un kit de descubrimiento STM; son baratos, relativamente accesibles y fáciles de comenzar.
- ARM es, con mucho, la arquitectura más común para micros incrustados (especialmente micros de 32 bits), y arm-gcc puede apuntar a casi todos ellos.
- openOCD es una pieza de software de código abierto que se comunicará con un depurador de hardware y proporcionará un servidor de depuración gdb para que pueda cargar un programa y recorrer su código que se ejecuta en el destino con gdb. Ni siquiera necesita ejecutar openOCD en la computadora en la que está desarrollando y ejecutando gdb.
5. Elija componentes y profundice en sus hojas de datos
Ahora tiene suficiente para comenzar realmente con algo. ¡Todo lo que tiene que hacer es seleccionar algunos componentes y luego armarlos! Algunos buenos lugares para buscar componentes son chispas divertidas y adafruit. Y para una selección más amplia y económica, también digikey y mouser.
Una vez que haya encontrado algunos componentes que cree que harán lo que desea, tendrá que profundizar en sus hojas de datos. Las hojas de datos son esencialmente los manuales para componentes electrónicos. Son la clave para descubrir cómo usar un componente y para asegurarse de que, de hecho, funcionará para su aplicación. La mayoría de las preguntas que tiene sobre un componente pueden responderse mediante sus hojas de datos. Pero las hojas de datos pueden ser complicadas. Lo suficientemente complicado como para tener mis propias 3 reglas de programación incrustada:
- Primera regla de programación incrustada: lea la hoja de datos.
- Segunda regla de programación integrada: lea la hoja de datos.
- Tercera regla de programación integrada: no confíe en la hoja de datos.
Las hojas de datos son la fuente de todo el conocimiento, pero tampoco son del todo intuitivas ni precisas. Recomiendo leer cómo leer una hoja de datos y el tutorial de la hoja de datos de Spark-fun para ayudarlo a comenzar.
Menos mal, eso es mucho por lo que pasar, pero te dará una base bastante sólida cuando realmente lo superes. 🙂