¿Importa qué microcontrolador usar para el programador de sistema de incrustación de 1a vez?


Tengo experiencia en programación web y de escritorio desde hace unos años. Me gustaría pasar a hacer algo de programación del sistema de incrustación. Después de hacer la pregunta inicial , me pregunto en qué IDE de hardware / software debería comenzar...

O... no importa?

¿En qué plataforma de desarrollo es más fácil aprender y programar (tener en cuenta la usabilidad del IDE)?

¿Cuál es el más fácil de depurar si algo sale mal?

Mi objetivo es aprender sobre "cómo funcionan los puertos IO, limitaciones/requisitos de memoria incl. posiblemente llamando, interrumpiendo rutinas de servicio." Es ¿es mejor aprender uno que usaré más adelante, o el concepto de alto nivel debería transferirse a la mayoría de los microcontroladores?

Gracias!

Actualización: ¿cómo es este kit de desarrollo para empezar? ¿Comentario? sugerencia?

Author: Henry, 2010-01-26

13 answers

Personalmente, recomendaría un microcontrolador basado en ARM Cortex-M3. Los núcleos de mayor potencia ARM son extremadamente populares, y estas versiones de baja potencia podrían muy bien despegar en un espacio que todavía está lleno de núcleos propietarios de 8/16 bits. Aquí hay un artículo reciente sobre el tema: El ARM Cortex-M3 y la convergencia del mercado de MCU.

El Arduino es muy popular para los aficionados. La biblioteca periférica de Atmel es bastante común en todos los tipos de procesadores. Por lo tanto, suavizaría una transición posterior de un AVR a un ARM.

No pretendo afirmar que un BRAZO es mejor que un AVR o cualquier otro núcleo. La elección de una MCU para un producto comercial generalmente se reduce a periféricos y precio, seguido de la base de código existente y las herramientas de desarrollo. Además, los microcontroladores son generalmente mucho más simples que una PC de escritorio. Por lo tanto, no es tan difícil moverse de uno a otro después de que te cuelgues de ella.

También, busque en FreeRTOS si está interesado en el desarrollo de sistemas operativos en tiempo real (RTOS). Es de código abierto y contiene un agradable recorrido por lo que es un RTOS y cómo lo han implementado. De hecho, su ejemplo de recorrido incluso apunta a un AVR.


Las herramientas de desarrollo para sistemas embebidos pueden ser muy caras. Sin embargo, a menudo hay alternativas de código abierto para los núcleos más abiertos como ARM y AVR. Por ejemplo, ver el WinARMy proyectos WinAVR.

Esas cadenas de herramientas se basan en GCC y, por lo tanto, también están disponibles (y son más fáciles de usar en MI humilde opinión) en plataformas que no son Windows. Si está familiarizado con el uso de GCC, entonces sabe que hay una abundancia de " IDE " para satisfacer su gusto desde EMACS y vi (mi favorito) hasta Eclipse .

Las ofertas comerciales pueden ahorrarle muchos dolores de cabeza al configurar. Sin embargo, la elección de uno dependerá mucho de su hardware y presupuesto objetivo. Además, algunos hardware admiten la depuración directa USB, mientras que otros pueden requerir un costoso adaptador JTAG.


Otros enlaces:


Placas Cortex-M3 de bajo costo:


Nuevo Arduino para utilizar un ARM Cortex-M3 en lugar de un microcontrolador AVR.

 18
Author: Judge Maygarden,
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-01-11 18:01:44

Secundo el ARM Cortex-M3 o incluso el ARM7. Ya que mencionaste E / S, sugiero probar diferentes proveedores. Algunos proveedores le hacen leer-modificar-escribir en registros para cambiar los valores de salida, otros lo hacen más simple sin el método leer-modificar-escribir, pero ese método también tiene sus contras. ir a sparkfun.com y mira a través de los tableros de desarrollo. Olimex (vendido a través de sparkfun y otros) tiene una amplia variedad de tablas de evaluación de bajo costo, perfectas para lo que está haciendo.

I prefiera el conjunto de instrucciones del msp430 para aprender ensamblador(se requiere algún ensamblaje si realmente desea incrustarse). Arm es un segundo IMO cercano. Usted puede recoger un ez430 de ti para como 20 dólares o así, entonces para 1 10 más usted puede recoger tres más tableros msp430. Desafortunadamente el AVR que es probablemente la arquitectura más popular para los aficionados (pic solía ser) es un conjunto de instrucciones muy feo, un poco tienes que usar C para evitarlo. Bien podría ir con algo limpio que es limpiar tanto en su conjunto de instrucciones que hace que los compiladores de trabajo mucho más fácil haciendo que el resultado C en código más limpio también. tanto el msp430 como la familia arm tienen soluciones gcc, así como es fácil de usar construir y usar llvm con su clang (llvm tiene un problema de 64 bits con su interfaz gcc).

Mi conclusión es que si realmente quieres aprender sobre E/S integradas e interrupciones relacionadas con E / S. ve a sparkfun toma un par de arm7s de l 30 de lpc y st, y el stm32, ve a buscar algo de stellaris, el 1968 o el 811 quizás. Un ez430 de ti (la familia stellaris es ahora parte de ti). Ah, y de vuelta a sparkfun y tomar un arduino mini, o lily pad uno de los sub sub 20, pero asegúrese de obtener el usb a serial cosa que tanto lo alimenta y le da acceso serie/depuración a ella. Estaba realmente muy decepcionado con las unidades de demostración stm32 de st o en realidad era un proveedor de rtos. Todavía estoy muy cerca de no volver a comprar de st como resultado.

EDITAR

Wow I me puse nervioso con mi primera respuesta. Probablemente golpee más con la edición.

Hay un par de maneras de hacerlo. Uno es el tipo de registro único. la solución de lectura-modificación-escritura. Si desea cambiar una salida de E/S, debe leer el registro cambiar el bit que corresponde al pin de E/S (para que no cambie los otros pines de E / S) y escribirlo de nuevo. Esto consume instrucciones, lo que es malo para el esp incrustado, voluminoso y lento si lo haces en un nivel alto idioma. Otra solución se adapta a los golpes de bits. Hay un registro para establecer pines de E/S cuando escribe en él, coloca un 1 en la ubicación del pin o pines de E / S que desea establecer, luego escribe, los bits que escribe cero permanecerán sin cambios. Y otro registro que cuando escribes un 1 borra el pin de E/S correspondiente. Estos son geniales para follar. Pero malo si no sabes cuál es el valor de los datos. Si está tomando algunos datos de una entrada y simplemente pasarlos al pin de E/S entonces usted tiene que hacer un si es un uno entonces escribir aquí otro escribir allí. De vuelta a lo voluminoso y lento. El punto de mi respuesta fue que ambas soluciones existen, algunos chips te dan ambas, otros solo tienen una de las dos soluciones. Es una compensación, y algo que vale la pena experimentar, los proveedores son lo suficientemente diferentes en este sentido y otros. Otro ejemplo de las diferencias entre los proveedores y los chips es algunos proporcionan cable-o salidas y pull ups o no pull ups en las entradas que pueden hacer un diferencia si tiene que comenzar a agregar piezas discretas para cada pin de E/S cuando podría haber elegido otro proveedor y ahorrado tiempo y dinero a todos. Ese tipo de cosas te harán desempleado rápidamente.

Cortex-M3, las opciones que conozco son el STM32 de ST que compraría (lo hice) de sparkfun. Y la familia Stellaris anteriormente Luminaria Micro, ahora propiedad de TI. Evitaría el tablero de evaluación 811, el reloj era un número que era más difícil de encontrar divisores que los otros. También tapié mi primera en pocas horas y tuve que pedir y esperar otra. Los otros son menos fáciles de ladrillo. Si usted es cuidadoso con su IO permite y direcciones, y solo quieren aprender/jugar el 811 está bien. Hmm, ¿acabo de ver que LPC tiene un cortex m3 ahora? Si no lo hacen, todos en el negocio del brazo y algunos que no lo son probablemente recogerán el cortex-m3 para el mercado integrado. Cuando nos fijamos en todos los factores de herramientas, programadores disponibles, costo por unidad, costo de desarrollo, rendimiento, potencia, etc., estas cosas son difíciles de superar.

Las desventajas de usar el cortex-m3 vs arm7 basado primero es que con el arm7 puede aprender el conjunto de instrucciones de arm primero y luego cambiar al subconjunto de pulgar. Con el cortex-m3 todo lo que tienes es pulgar y pulgar 2. También la tabla del vector de la interrupción es goofy comparada a los brazos normales. No goofy como malo o estúpido pero goofy como diferente. Muchos considerarían el camino del BRAZO como tonto, sí, entendido y de acuerdo. el cortex-m3 es más una excepción a la familia de brazos que la regla, por lo que sugeriría aprenderlo como su segundo o Enésimo BRAZO, no como el primero. Aquí una vez más, todas las cosas buenas vale la pena aprender de usted quiere saber acerca de este mercado y el medio ambiente. La placa str711 de olimex que puedes obtener en sparkfun es una buena para empezar. Creo que fue el sam7-64 en el que pasé más tiempo. Los LPC son bastante populares. sparkfun tiene un par con el puerto serie de 9 pines en las placas para que no tenga que añade uno.

Aparte de unas pocas líneas para arrancar lo que muchas otras personas ya han escrito, sí es posible sin usar o aprender ASM. Tocaré más nervios con estas declaraciones, pero incrustado significa recursos y rendimiento limitado por lo que muchas reglas de programación tradicionales salen por la puerta como no usar globales, por ejemplo. Lenguajes de alto nivel como C pueden convertirse en esp bastante doloroso para los malos conjuntos de instrucciones como el PIC. Porque estás tan cerca del metal un notable la cantidad de su código no es portátil de una familia de chips a otra o incluso dentro de la misma familia de chips algunas veces. Así que usar C para portabilidad no es un argumento válido. La mayoría de los compiladores son basura, gcc por ejemplo es marginal (una talla para todos no se ajusta a nadie por definición) en el mejor de los casos. Depende de cuánto desea controlar y cuánto quiere ser esclavo de los demás. Al estar interesado en sistemas embebidos para mí significa que quieres tener el control, eso significa entender la tabla vectorial, sabiendo cuándo y dónde y por qué su compilador está desperdiciando el 50% o más de su rendimiento, podría haber hecho que el control remoto durara más tiempo con una batería en lugar de requerir tres para chirriar simplemente por no conocer las herramientas y lo que están haciendo. La gran mayoría de los programadores en el mundo ejecutan sus programas a media velocidad o menos y duplican el tamaño. Voluminoso y lento, solo piense en los ahorros de electricidad y almacenamiento. Normalmente no se ve esto en un escritorio, pero se cuando te embebes. Ahora diciendo que casi todo mi código está en C, normalmente solo tengo unas pocas líneas de ensamblador para establecer la pila y el arranque y unas pocas funciones de línea aquí y allá donde el compilador nunca competirá o para cubrir los problemas que los compiladores tienden a tener.

Quería un stm32, siendo en ese momento el único otro cortex-m3. Quería algo que comparar con la familia Stellaris. Cuando llegaron descubrí que tenías que vivir en su caja de arena. Tengo cero uso para los rto, I quiero eliminarlo y quiero usar mi propio gestor de arranque y código. Al menos en ese momento era un elemento de costo adicional para algo que ya había pagado el doble de lo que normalmente pagaría por productos de la competencia. Así que están en su caja, nunca para ser reabiertos o utilizados. Eventualmente para ser arrojado. Sí, la mitad del problema era que no investigaba lo suficiente, había asumido que las tablas eran como otras tablas de evaluación normales, esta fue la primera vez que me quemé. Quémame una vez vergüenza en ti quémame dos veces vergüenza en mí. Y era el vendedor de rtos no ST que era el verdadero culpable. Así que una vez que la placa olimex stm32 estuvo disponible en sparkfun, compré una.

El arduino también tiene este problema de sandbox. Así que la mayoría de las búsquedas que haces buscando información estarán dentro de ese sandbox. La diferencia es que todo está abierto a la vista, la información está ahí si quieres hacer lo tuyo y tener el control del tablero. El arduino no es tan fácil como el AVR butterfly para aquellos que recuerdan esa plataforma.

El AVR butterfly y ahora el arduino es sorprendente en el sentido de los seguidores que ha dibujado. Tal vez Atmel es más fácil de usar como empresa para superar el conjunto de instrucciones y herramientas. No se limitan a la AVR BTW también tienen una línea de BRAZO y probablemente más cosas, no he mirado en un tiempo. Definitivamente no necesitarás stackoverflow para obtener ayuda si vas con un arduino. Y no necesitarás ningún ensamblador si no quieres. Y con arduino mini o lillypad de sparkfun el costo de jugar es casi nada.

Creo que podrían hacer mucho más con el msp430. Seguro que tienen este mercado de uber low Power que quieren golpear. Pero el conjunto de instrucciones tenía esta sensación del pdp-11 cuando lo vi por primera vez. Muy limpio, recomiendo el msp430 primero para aquellos que quieran aprender ensamblado, luego cambie a ARM, para entonces verá que todos los lenguajes ensamblados son solo sintaxis en lo que respecta al aprendizaje. El rendimiento y el dolor y otras cosas son otra historia, por supuesto. Creo que podrían amplíe fácilmente la velocidad del msp430 y permita un mayor uso del espacio de direcciones. He pasado algún tiempo jugando con un opencore msp430 que podría poner en un fpga y obtener más memoria y velocidad y características si lo desea, incluso podría agregar usb si lo desea. No en un paquete de energía súper baja, por supuesto. También incursioné en escribir mi propio clon msp430 solo para aprender un poco de hdl, no lo terminé, pero me divertí un poco.

 8
Author: old_timer,
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-27 04:09:07

Dado que ya tiene experiencia en programación, es posible que desee considerar obtener un Arduino y eliminar el firmware para hacer sus propias cosas con AVR Studio + WinAVR. El Arduino le da un buen punto de partida en la comprensión de la parte electrónica de la misma. Sacar el cargador de arranque Arduino le daría un mejor acceso a las entrañas del Atmel.

Para llegar a los objetivos que está estableciendo, también recomendaría explorar las computadoras de escritorio más profundamente a través de la programación x86. Por ejemplo, puede crear un kernel del sistema operativo x86.

 5
Author: Brian,
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-26 02:44:24

ARM es la arquitectura embebida más utilizada y cubre una enorme gama de dispositivos de múltiples proveedores y una amplia gama de costos. Dicho esto, hay diferencias significativas entre los dispositivos ARM7, 9, 11 y Cortex, especialmente Cortex. Sin embargo, si entrar en sistemas embebidos profesionalmente es su objetivo, la experiencia ARM le servirá bien.

Las arquitecturas de 8 bits son generalmente más fáciles de usar, pero a menudo muy limitadas tanto en capacidad de memoria como en velocidades de núcleo. También porque son fáciles de usar, las habilidades de 8 bits son relativamente fáciles de adquirir, por lo que es una habilidad menos atractiva para un empleador potencial porque es fácil de cumplir internamente o con personal menos experimentado (y por lo tanto menos costoso).

Sin embargo, si esto es un hobby en lugar de una carrera, el bajo costo de las piezas, tableros y herramientas, y la facilidad de uso puede hacer 8 bit atractivo. Yo sugeriría AVR simplemente porque es compatible con la cadena de herramientas gratuita avr-gcc. Algunos objetivos de 8 bits son compatibles con SDCC, otro compilador de C de código abierto. Creo que Zilog hace su compilador Z8 disponible de forma gratuita, pero es posible que tenga que pagar por el hardware de depuración (aunque esto es relativamente barato). Muchos proveedores de herramientas comerciales proporcionan versiones de tamaño limitado de código de sus herramientas para evaluación y uso no comercial, pero tenga en cuenta que la mayoría de los depuradores requieren hardware especializado que puede ser costoso, aunque en algunos casos puede construirlo usted mismo si solo necesita funcionalidad básica y baja velocidad.

Lo que sea que hagas, echa un vistazo a www.embedded.com. Si elige ARM, he utilizado WinARM con éxito en proyectos comerciales, aunque no está construido para la comodidad! Una buena lista de recursos ARM está disponible aquí. Para AVR definitivamente echa un vistazo www.avrfreaks.net

Solo recomendaría piezas Microchip PIC (al menos las de gama baja) para proyectos altamente sensibles a los costos donde la mezcla periférica es una buena opción para la aplicación; no para aprendizaje de sistemas embebidos. PIC es más una marca que una arquitectura, los diversos rangos PIC12, 16, 18, 24 y PIC32 son muy diferentes entre sí, por lo que aprender en uno no necesariamente lo coloca en buena posición para usar otro, ¡a menudo incluso necesita comprar nuevas herramientas! Dicho esto, el dsPIC que se basa en la arquitectura PIC24 puede ser una buena opción si desea obtener una experiencia DSP simple al mismo tiempo.

En todos los casos echa un vistazo a la disponibilidad del compilador (especialmente si el soporte de C++ es un requisito) y el costo, y los requisitos de hardware del depurador, ya que a menudo estas serán las partes más caras de su dev-kit, las placas y las partes son a menudo la parte menos costosa.

 3
Author: Clifford,
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-26 22:52:38

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.

 2
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:54:40

Hagas lo que hagas, asegúrate de tener un buen entorno de desarrollo. No soy fan de las herramientas de desarrollo de Microchip a pesar de que me gustan sus microcontroladores (he sido quemado demasiadas veces por MPLAB + ICD, demasiada molestia y disfunción). Los DSP de la serie 2800 de TI son bastante buenos y tienen un entorno de desarrollo C++ basado en Eclipse en el que puede ingresar por 28335) -- el depurador el enlace de comunicaciones es realmente sólido; el IDE es bueno, aunque ocasionalmente lo cuelgo.

En algún lugar hay ICs y placas que son mejores; no estoy tan familiarizado con el paisaje de microcontroladores incrustados, pero no tengo mucha paciencia para los IDE pobres con otra cadena de herramientas de software que tengo que averiguar cómo sortear todos los errores.

 1
Author: Jason S,
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-26 04:48:31

Algunos recomiendan el BRAZO. Lo recomendaría, no como una primera plataforma para aprender, sino como una segunda plataforma. ARM es un poco complejo como plataforma para aprender los detalles de bajo nivel de embedded, porque su código de inicio y los requisitos de inicialización son más complicados que muchos otros micros. Pero ARM es un gran jugador en el mercado integrado, por lo que vale la pena aprender. Así que lo recomendaría como una segunda plataforma para aprender.

El Atmel AVR sería bueno para aprender muchos elementos esenciales integrados, para 3 razones principales:

  1. La arquitectura es razonablemente sencilla
  2. Bueno kits de desarrollo disponibles, con tutoriales
  3. Fan forum con muchos recursos

Otros micros con kits de desarrollo también podrían ser buenos, como MSP430, aunque pueden no tener un foro de fans. Usar un kit de desarrollo es una buena manera de hacerlo, ya que están orientados a ponerse en marcha rápidamente con el micro y fomentar la eficacia aprendizaje. Es probable que tengan tutoriales orientados a comenzar rápidamente.

Bueno, supongo que es probable que los kits de desarrollo y sus tutoriales pasen por alto cosas como los cargadores de arranque y el código de inicio, a favor de que su código parpadee lo antes posible. Pero esa podría ser una buena manera de comenzar, y puedes explorar la cadena de eventos desde "encendido" hasta "ejecución de código" a tu ritmo.

No soy fan de las fotos, al menos las PIC16s, debido a su arquitectura. No es muy amigable con C. Y los bancos de memoria son dolorosos.

 1
Author: Craig McQueen,
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-27 00:18:24

Esta es una pregunta difícil de responder, ya que tu respuesta ideal depende mucho de lo que te interese aprender.

Si su objetivo es solo sumergirse un poco más en el funcionamiento interno de los sistemas informáticos, casi recomendaría que renuncie a la ruta incrustada y recoja un libro sobre la escritura de un módulo del kernel de Linux. Escribe algo simple que lea un sensor de temperatura del SMBus o algo así.

Si su mirando en conseguir en alto nivel (teléfonos, etc) desarrollo de aplicaciones incrustadas, descargue el SDK de Android, puede codificar en Java bajo eclipse e incluso tiene un buen emulador.

Si está buscando entrar en el espacio "real" del microcontrolador y realmente echar un vistazo a la programación de sistemas de bajo nivel, le recomendaría comenzar con una arquitectura muy simple como un AVR o PIC, algo sin una MMU.

Sumergirse en el terreno medio, por ejemplo, un ARM con MMU y algún tipo de sistema operativo, ya sea linux o no, va a ser un poco de un choque como sin un fondo es tanto la programación del sistema y la interfaz de hardware creo que la transición será muy difícil si va a hacer mucho más que escribir aplicaciones muy simples, contando pulsaciones de botón o similar.

 1
Author: Mark,
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-28 14:39:19

Sí importa, es necesario adquirir gradualmente experiencia a partir de sistemas más simples. Tenga en cuenta que por más simple no me refiero a menos potente, me refiero a la facilidad de uso, facilidad de configuración, etc. En ese sentido, recomendaría lo siguiente (no tengo ningún interés personal en ninguno de los productos, solo los encontré los mejores):

He empezado a usar uno de estos (MBED developer board). Los grandes puntos de venta para mí fueron que podía codificar en C o C++, conexión directa vis USB y un slick en línea entorno de desarrollo (no se requiere instalación de herramientas locales en absoluto!).

Http://mbed.org/

Cinco minutos después de abrir la caja tenía un programa blinky de muestra (el' hello world ' del mundo emedded) ejecutando lo siguiente:

#include "mbed.h"

DigitalOut myled(LED1);

int main()
{
    while(1)
    {
        myled = 1;
        wait(0.2);
        myled = 0;
        wait(0.2);
    }
}

¡Eso es todo! Arriba está el programa completo!

Está basado en ARM Cortex M3, rápido y con mucha memoria para proyectos embebidos (100mhz, 256k flash y 32k ram). Las herramientas de desarrollo en línea tienen una muy buena biblioteca y un montón de ejemplos y hay un foro muy activo. Mucha ayuda en la conexión de dispositivos a MBED etc

A pesar de que tengo mucha experiencia con sistemas embebidos (ARM 7/9, Renases M8/16/32, Coldfire, Zilog, PIC, etc.), todavía encontré este un sistema refrescantemente fácil de manejar mientras tiene una capacidad seria.

Después de jugar inicialmente con él en una tabla de cortar el pan básica compré una tabla base de estos chicos: http://www.embeddedartists.com/products/lpcxpresso/xpr_base.php?PHPSESSID=lj20urpsh9isa0c8ddcfmmn207. Esto tiene una pila de dispositivos de E/S (incluyendo un miniture OLED y un acelerómetro de 3 ejes). Desde el mismo sitio también compré uno de los procesadores LCPExpresso que es barato, menos potencia / memoria que el MBED, pero perfecto para trabajos más pequeños (todavía martillea la mierda de los procesadores PIC/Atmega). La placa base soporta tanto el LCPExpresso como el MBED. Compra del procesador LCPExpress board también me consiguió un depurador JTAG adjunto y un entorno de desarrollo fuera de línea (kit de desarrollo basado en GCC/Eclipse de Code Red). Esto es mucho más complejo que el entorno de desarrollo MBED en línea, pero es una progresión lógica después de haber ganado experiencia con el MBED.

Con referencia a mi punto original noite que el controlador MBED es mucho más capaz que el controlador LPCExpresso, PERO es mucho más simple de usar y aprender con.

 1
Author: Tim Ring,
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-02-04 11:30:05

Uso microchips PIC, es lo que empecé, principalmente me puse en ello debido a los 123 proyectos de microcontroladores para el libro evil genius. Tomé una clase de microprocesadores en la escuela para mi grado y aprendí un poco sobre interrupciones y tiempos y cosas, esto ayudó mucho con mis microcontroladores. Supongo que algunos de los otros programadores, etc puede ser mejor / más fácil, pero por 3 36 para el PicKit1, soy demasiado barato para ir a comprar otro...y francamente sin usarlos no se si son más fácil / mejor, me gusta el mío y lo recomiendo cada vez que tengo la oportunidad, y me llevó una eternidad realmente mirarlo, pero finalmente pude programar otro chip off board con ICSP. No se que otros programadores lo hacen, pero para mi eso es lo mas bonito interfaz de 5 hilos y estas programado. No se puede superar eso con un palo...

 1
Author: onaclov2000,
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-02-15 20:29:48

Solo he usado uno de esos.

El Freescale es un buen chip. He usado chips HC-something durante años para pequeños proyectos. La única advertencia es que no tocaría CodeWarrier incrustado con un poste de 10 pies. Puedes encontrar pequeños compiladores y ensambladores libres de C (no recuerdo el nombre del último que usé) que hacen el trabajo muy bien. Codewarrior era grande y confuso e independientemente de lo mucho que sabía sobre la arquitectura del chip y la programación en C siempre parecía hacer solo las cosas más difíciles. Si ha utilizado Codewarrior en el Mac en los viejos tiempos y piensa que CW es bastante limpio, bueno, no es para nada así. CW embedded se vevagamente similar, pero funciona de manera muy diferente, y no muy bien.

Un compilador de línea de comandos es generalmente fino. Los profesionales que pueden desembolsar mucho dinero obtienen entornos de desarrollo costosos, y estoy seguro de que mejoran las cosas, pero sin eso todavía es mucho mejor que escribir código de ensamblaje para un PC de escritorio en 1990, y de alguna manera nos las arreglamos para hacerlo muy bien. :-)

 1
Author: Ken,
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-03-19 14:45:25

Usted podría considerarun RoBoard. Ahora, esta placa puede no ser lo que está buscando en términos de un microcontrolador, pero tiene la ventaja de poder ejecutar Windows o DOS y por lo tanto podría usar Microsoft. NET o incluso herramientas de desarrollo C/C++ para juguetear con cosas como servos o sensores o incluso, ¡qué diablos, construir un robot! En realidad es divertido.

También está el Axon II , que tiene el ATmega640 procesador.

De cualquier manera, ambas juntas deben ayudarte a lograr tu objetivo.

Lo siento por el enfoque de la robótica, solo algo que me interesa y pensé que también podría ayudarte.

 0
Author: ,
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-26 03:51:22

Utilizo fotos, pero consideraría Arduino si eligiera hoy. Pero de sus metas:

  • cómo funcionan los puertos IO
  • limitaciones/requisitos de memoria
  • interrumpir rutinas de servicio

Me pregunto si lo mejor es hackear el kernel de Linux.

 0
Author: kenny,
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-02-12 12:22:42