¿La mejor plataforma para aprender programación integrada? [cerrado]


Estoy buscando aprender sobre programación embebida (principalmente en C, pero espero repasar mi ASM también) y me preguntaba cuál sería la mejor plataforma. Tengo algo de experiencia en el uso de Atmel AVR y programarlos con el stk500 y me pareció que era relativamente fácil. Me gusta especialmente AVR Studio y el depurador que te permite ver ese estado de registros.

Sin embargo, si tuviera que tomarme el tiempo para aprender, preferiría aprender sobre algo que prevalece en la industria. Estoy pensando BRAZO, eso es a menos que alguien tiene una mejor sugerencia.

También estaría buscando algún material de referencia, he encontrado la sección de libros en el sitio web de ARM y si uno es un libro técnicamente mejor que otro, apreciaría un aviso.

Lo último que estaría buscando es un tablero de prototipado/programación como el STK500 que tiene algunos botones y así sucesivamente.

Gracias=]

Author: Mat, 2008-09-18

21 answers

"programación embebida" es un término muy amplio. AVR está bastante bien en esa categoría, pero es un paso por debajo del BRAZO, ya que es más simple de usar, así como menos potente.

Si solo quieres jugar con ARM, compra una Nintendo DS o un Gameboy Advance. Estos son muy baratos en comparación con el hardware interior (maravillas de la producción en masa), y ambos tienen cadenas de herramientas de desarrollo libres basadas en gcc que pueden compilarlas.

Si quieres jugar con embedded linux, BeagleBoard está buscando ser una buena opción, solo $150 y tiene un montón de características.

Personalmente creo que AVR es mejor para las plataformas más pequeñas de 8 bits, y ARM es mejor para las plataformas más grandes y potentes basadas en 32 bits. Como muchos fans de AVR, no me gusta PIC. Parece peor en casi todos los sentidos. También evita cualquier cosa que requiera que escribas cualquier tipo de BÁSICO.

 23
Author: davr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 23:27:53

Si solo quieres jugar con él, te sugiero la plataforma Arduino ( http://www.arduino.cc ). Se basa en el ATmega168 o ATmega8, dependiendo de la versión. Utiliza un lenguaje similar a C y tiene su propio IDE.

 10
Author: Jarett Millard,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 23:26:10

Yo mismo he trabajado en programación embebida durante 9 años y tengo experiencia en TI MSP430, Atmel AVR (un par de sabores) y pronto usaré un ARM.

Mi sugerencia es recoger algo que tiene algunas características adicionales en el procesador como el controlador ethernet y el controlador CAN, incluso obtener dos o tres si puede. Los dispositivos integrados son agradables para trabajar, pero una vez que pueden hablar con otros dispositivos similares a través de CAN o entrar en una red, pueden ser mucho más divertidos de jugar con.

 8
Author: DarthNoodles,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-11-07 14:06:17

ARM tiene el mejor conjunto de instrucciones de las plataformas embebidas ampliamente utilizadas, lo que le deja libre para recoger los principios generales de la escritura de software para plataformas embebidas sin atascarse en detalles extraños como registros no ortogonales o ranuras de retardo de rama. Hay muchos emuladores: el propio ARM, aunque no es gratuito, es preciso para el ciclo; y una gran variedad de hardware programable basado en ARM también es barato y fácil de conseguir.

 6
Author: moonshadow,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 23:30:06

ADI Blackfin es otra opción, ya que es una arquitectura bastante sencilla de programar, pero también puede hacer algunas cosas DSP bastante fuertes si elige ir por esa ruta. Ayuda que el lenguaje ensamblador también esté bastante cuerdo.

Los tableros Blackfin STAMP son una forma económica (~~100 la última vez que revisé) de entrar, y son compatibles con las herramientas gratuitas de GCC y uClinux.

Sea cual sea la arquitectura que elija, definitivamente recomendaría primero descargar el toolchain \ SDK y mirando a través de los proyectos de ejemplo y tutoriales - generalmente teniendo un poco de un juego sobre. A menudo puede familiarizarse bastante con la arquitectura a través de la simulación sin siquiera tocar ningún hardware.

 6
Author: Sean,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-18 00:24:45

El TI MSP430 es una gran plataforma para aprender a programar microcontroladores. TI tiene una variedad de Herramientas GRATUITAS y algunostableros de evaluación baratos (a partir de $20). Además, es un microcontrolador moderno de baja potencia.

 6
Author: Nate,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-18 00:44:47

Una buena opción sería PIC18 por Microchip

  • Tiene una gran cantidad de material, documentación, tutoriales y proyectos en internet

  • IDE y compilador gratuitos.

  • Puedes sacar tu propio flash writer en unos minutos. (Aunque para que un depurador funcione tendrás que trabajar más duro)

  • Si usted es un estudiante (o tiene una dirección de correo electrónico de estudiante) Microchip le enviará chips de muestra gratis. Así que básicamente puedes tener un desarrollo completo ambiente para casi nada.

  • Las fotos son bastante frecuentes en la industria. Específicamente como controladores para robots por alguna razón aunque pueden hacer mucho más.

 2
Author: shoosh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 23:27:26

Arduino parece ser la plataforma de elección en estos días para los principiantes, aunque hay muchos otros. Me gustan las tablas Olimex personalmente, pero no son realmente para principiantes.

La gama PIC de CPU de Microchip también es excelente para principiantes, especialmente si desea programar en assembler.

Por cierto, el Ensamblador no se usa tanto como antes. La regla general con embedded es que si tienes 4k de memoria o más, usa C. Obtienes portabilidad y puedes desarrollar código más rápido.

Supongo que depende de tu nivel de habilidad y de lo que quieras hacer con el chip. Por lo general, elijo qué chip integrado usar por los periféricos disponibles. Si desea un puerto USB, busque uno con USB incorporado, si desea analógico a digital, encuentre uno con un ADC, etc. Si tienes una aplicación simple, usa una de 8 bits, pero si necesitas un crunching de números serio, usa 32 bits.

 2
Author: Adam Pierce,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 23:31:57

Me gustaría sugerir el beagleboard de TI. Tiene un Omap3. Eso es una CPU Cortex-A8 ARM11, un C64x+ DSP y un acelerador de video también.

La placa no necesita un costoso dispositivo jtag. Un cable serie y una tarjeta SD es todo lo que necesita para comenzar. La junta cuesta solo 1 150 y hay una comunidad muy activa.

Www.beagleboard.org

 2
Author: Nils Pipenbrinck,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-18 13:37:18

Tu pregunta ha sido contestada en esta pregunta.

Para agregar a eso, la industria de procesadores embebidos es muy segmentada, no tiene un jugador importante como Intel/x86 es para la industria de procesadores de "escritorio". El procesador ARM tiene una gran parte, también lo tiene MIPS, creo, y hay muchos microcontroladores más pequeños y específicos como chips disponibles (como el MSP430, etc. de TI).

En cuanto a la documentación, hago desarrollo embebido para un trabajo de día, y el la documentación a la que tenemos acceso (como desarrolladores de software) es bastante escasa. Su mejor opción es utilizar la documentación disponible en el sitio de los fabricantes de procesadores.

 1
Author: Daemin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 11:54:37

Eche un vistazo a Processing y a las placas Arduino y Wiring asociadas.

 1
Author: Steve Lacey,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-18 00:13:28

Si solo quieres divertirte, prueba el chip Parallax Propeller. La plataforma de juego HYDRA parece una explosión. Ahora hay un compilador de C de 1 100.

Empecé con sellos BÁSICOS, subí a través de chips SX y fotos en 8051s, luego 68332s, varios DSPs, procesadores FPGA soft, etc.

Los 8051s son más útiles en el mundo real... las cosas no desaparecerán. Hay TONELADAS de derivados y cosas locas para ellos. (Solo manténgase alejado del DS80C400) La industria de la energía es absolutamente lleno de ellos.

Comienza con algo pequeño. Si tienes RAM externa y muchos registros... ¿cuál es la diferencia entre eso y un SBC?

 1
Author: darron,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-19 18:43:08

Hace muchas lunas he trabajado con 8 bitters como 68HC05 y Z80, más tarde AVR y MSP430 (16 bits). Sin embargo, los proyectos más recientes estaban en ARM7. Varios fabricantes ofrecen controladores ARM, en todos los colores y tamaños (bueno, no realmente de color).

ARM(7) está reemplazando la arquitectura de 8 bits: es más eficiente (RISC de 32 bits a ciclos de instrucción más rápidos que la mayoría de los 8 bits), tiene más memoria y está disponible con varias configuraciones de E / s. Trabajé con controladores NXP LPC2000, que también son barato (

Si estás en Europa http://www.olimex.com/dev/index.html tiene algunas buenas juntas de desarrollo de bajo costo. Funciona también en el resto del mundo: -)

 1
Author: stevenvh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-02-13 21:42:51

Para un proyecto divertido para probar, echa un vistazo a xgamestation

Pero para una programación más industrial de una solución de chip, mira PIC

 0
Author: epatel,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 23:24:59

Para mi curso de Arquitectura de Computadoras tuve que trabajar tanto con un PIC como con un AVR; en mi opinión, el PIC era más fácil de trabajar, pero eso es tal vez porque eso es con lo que más trabajamos y tuvimos más tiempo para acostumbrarnos. Usamos el AVR tal vez solo un par de veces, así que no pude entenderlo perfectamente, pero tampoco fue nada demasiado complicado, o al menos no más frustrante que el otro.

Creo que también puede pedir muestras de microprocesador de Microchip sitio web por lo que también podría empezar con eso?

 0
Author: Sergio Morales,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-09-17 23:34:38

Segundo que:

Plataforma Arduino http://www.arduino.cc

HTH

 0
Author: plan9assembler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2008-10-25 13:09:30

Para aprender, no puedes pasar el AVR. Los chips son baratos y funcionarán con cero componentes externos, también suministran suficiente corriente para conducir un LED directamente desde el puerto.

Puede comenzar con un programador barato como lady-ada USBtinyISP (USD 2 22 por un kit) que puede alimentar su placa con 5V desde el puerto USB. Obtenga las herramientas gratuitas WinAVR (basadas en GCC) y AVRStudio y obtenga un pequeño proyecto trabajando en poco tiempo.

Sí, los AVR tienen limitaciones , pero el desarrollo de software para microcontroladores se trata en gran medida de gestionar los recursos y hacer frente a esos problemas. Es poco probable que experimente problemas como quedarse sin espacio de pila, RAM o ROM cuando esté haciendo proyectos hobbist para plataformas ARM poderosas.

Dicho esto, ARM también es una gran plataforma que se usa ampliamente en la industria, sin embargo, para aprender, recomiendo encarecidamente AVRs.

 0
Author: Peter Gibson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-08 07:04:28

Sugeriría la serie PIC18F de Microchip. Acabo de empezar a desarrollar para ellos con el emulador en circuito RealICE, pero el pickit2 es un depurador decente por el precio. Se podría decir esto para el AVR también, pero hay un gran número de seguidores para el dispositivo en toda la web. Pude tener un dispositivo USB con errores, pero funcional, que se ejecutaba en cuestión de días debido a toda la charla relacionada con la FOTO.

Lo único que no me gusta de las fotos es que gran parte del código de muestra es MUY entrelazado en los tableros de demostración. Eso puede hacer que sea difícil arrancar las secciones que necesita y aún así tener una aplicación que se construirá y ejecutará para su aplicación.

 0
Author: Ryan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-01-25 23:43:32

Texas Instruments ha lanzado un kit de desarrollo muy interesante a un precio muy bajo: La Herramienta de desarrollo eZ430-Chronos contiene un MSP430 con pantalla y varios sensores en un reloj deportivo, incluido un programador de depuración USB y un punto de acceso de radio USB para 50$

También hay un wiki que contiene mucha y mucha información.

Ya he creado una propuesta de stackexchange para el Kit eZ430-Chronos.

 0
Author: lImbus,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-07-14 11:57:06

Deberías intentar aprender de los kits de desarrolladores proporcionados por Artistas Embebidos. Después de obtener el kit, revise sus videos instructivos y videos proporcionados por NXP, que no son tan detallados como podrían ser, pero cubren muchas cosas. Los problemas con el aprendizaje ARM como su primera arquitectura y tratar de hacer algo practicall son:

  • Necesitas comprar dev. kit.
  • Necesitas un buen libro para aprender el montaje del BRAZO, porque tarde o temprano vendrás a través de ARM código de inicio, que es todo un acuerdo para un principiante. El libro que mencioné allso cubre algo de programación en C.
  • Combine el libro mencionado anteriormente con una guía de usuario para su procesador specific como este. Asegúrese de obtener esto ya que estudiar esto en combinación con el libro anterior es la única manera de aprender su proc BRAZO. detalladamente.
  • Si desea realizar una transferencia desde el ensamblaje del BRAZO a la programación en C, deberá leer este libro , que cubre un Procesador ARM pero es más fácil para C principiante. El lado negativo es que no explica ningún ensamblaje de BRAZO, pero es por eso que necesita el primer libro.

No hay una manera fácil.

 0
Author: 71GA,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-06 15:01:44

MikroElektronika tiene buen BRAZO tableros y C, Pascal y Basic compiladores eso podría satisfacer sus demandas.

 0
Author: avra,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-07 15:28:46