¿Cómo iniciar la programación incrustada? [duplicar]

4

Realmente soy un nuevo bie y tengo una idea de la C. incrustada. Quiero programar dispositivos integrados con mi computadora e incluso quiero programar algunos de los periféricos de la computadora. Tengo algunos conceptos básicos de sistemas integrados pero no sé por dónde empezar. ¿Qué plataforma utilizar? ¿Cómo entender el mecanismo? ¿Necesito saber todo sobre electrónica antes de poner mi mano en el mundo incrustado? Por favor ayuda, tengo demasiadas preguntas y necesito una manera. Se aprecian enlaces a artículos relevantes.

    

3 respuestas

6

Sigo pensando que la programación en "bare metal" es la mejor manera de involucrarse en el mundo integrado. En mi humilde opinión, ejecutar sobre una plataforma como Android no le da una idea real de la programación integrada.

Aunque hay muchos microcontroladores de 8 bits por ahí, el futuro es de 32 bits. Me gusta la serie PIC32 de Microchip. Puede obtener una placa de desarrollo completa de SparkFun por $ 40. No necesitas comprar nada más para comenzar, ya que hay un gestor de arranque incorporado. También puedes usar uno de los programadores de Microchip como el PICKit 3.

EstaplacausaelpopularPIC32MX795,quetiene512Kdeflashy128KdeRAM,porloquenolosuperarásenelfuturo.Haytoneladasdebibliotecasgratuitasparafacilitarlaprogramacióndelosperiféricos.

Microchiptieneun IDE gratuito y compilador que funciona en Windows , Linux y Macs. (También tienen una versión de pago, pero todo lo que te ofrece son optimizaciones para producir un código más pequeño. No lo necesitas para el uso de aficionados).

    
respondido por el tcrosley
4

La palabra incrustado significa diferentes cosas para diferentes personas. Básicamente, significa cualquier computadora que se encuentre dentro de un dispositivo, ejecutando una aplicación específica. Pero como siempre, los límites están borrosos, y estoy seguro de que la gente no estará de acuerdo con mi descripción.

Una MCU o CPU integrada puede variar en rendimiento desde un pequeño chip de 8 bits con 6 pines, hasta CPU de 64 bits de muy alto rendimiento que funcionan a velocidades muy altas con RAM externa, conectividad a Internet y pantallas táctiles en color.

Comenzando

Afortunadamente, si desea iniciarse en la programación integrada en una MCU de 8 bits, realmente no necesita saber casi nada sobre electrónica. Si puede conectar los LED, puede conectar un microcontrolador.

La verdadera dificultad es elegir un microcontrolador para comenzar. Probablemente hay cientos de familias de dispositivos, hechas por decenas de compañías.

Ya que eres muy nuevo en el tema, recomendaría comenzar con algo como Arduino .

Arduino es un popular microcontrolador de código abierto de una sola placa diseñado para hacer que el proceso de uso de la electrónica en proyectos multidisciplinarios sea más accesible. Puede programarlos en un lenguaje muy similar a C. Son muy fáciles de usar, incluso para no programadores. Arduino lo cubrirá para casi cualquier proyecto con el que quiera comenzar.

Continuando

En algún momento, decidirás que el Arduino no satisface tus necesidades. Tal vez sea demasiado grande, o no lo suficientemente poderoso. Probablemente para ese momento, sabrá más sobre el mundo integrado para saber qué hacer a continuación, o sabrá más sobre lo que quiere aprender para saber qué tipo de pregunta debe hacer.

    
respondido por el Rocketmagnet
1

Esta es una buena pregunta. Vale la pena revisarlo cada pocos años, a medida que el paisaje cambia. Recientemente traté de aprender ARM desde cero. Llegó al punto en el que Microsoft Studio 11 (como usted dice que usa mi propia computadora) fue capaz de producir asm ARM compilable desde el plano C. Aún no llegó al depurador JTAG. El objetivo era tener toda la cadena de herramientas completamente gratis sin usar demasiado software que no sea de Windows o de código abierto.

El problema de este año es que todo es una plataforma. No hay un camino sin plataforma fácil, por ejemplo, cuando puede codificar en Pascal a metal abierto. La mayoría de las veces te diriges a la capa muy gruesa del sistema operativo existente. Como Android o Linux. Si específicamente trata de elegir la plataforma más compacta, digamos Angstrom, encontrará que la imagen de disco típica es de 3GB. Y este es el tamaño de la plataforma más pequeña. Es una vergüenza. Todo es una hinchazón.

Otra mala noticia es que la plataforma de Microsoft Mobile es su descarga más grande. Texas Instruments tiene una Hoja de datos llamada Manual de referencia de software para una ARM reciente. El pdf tiene más de 5K páginas. Todo lo que es digno de aprendizaje está demasiado grande y se vuelve obsoleto extremadamente rápido.

Mi sugerencia y respuesta. Si sabes x86 y más o menos puedes tolerar Windows. Permanecer allí. Puede convertirse en una buena plataforma embebida. Mire Windows 8 RT para Intel (olvide ARM). Eso es lo que decidí por mí mismo en este momento.

    
respondido por el user924

Lea otras preguntas en las etiquetas