2010-02-09 28 views
7

Estoy buscando iniciar el desarrollo de hardware simple, y con suerte progresar lo suficiente como para aprender de la ingeniería inversa.Inicio del desarrollo de hardware

Me gustaría comenzar con un microcontrolador y tener algunas en mente, como Mbed y Arduino. ¿A qué debería ir?

Pensaba quizás en mbed porque tiene características de USB y Ethernet, entre otras, pero realmente no sé qué tiene Arduino. ¿Conseguiría que el bus pirata (porque es más barato) también funcionara?

Realmente no quiero programar en básico; mi controlador de paralaje actual es un dolor!

+1

¡Bienvenido a SO! He limpiado tu publicación para mayor claridad y convención; notarás que SO tiene un cierto estilo. En particular, debe dejar de saludar y firmar, y hacer las preguntas que está preguntando tan claras como sea posible. –

+0

¿Cuál es tu objetivo? Para aprender el montaje? –

Respuesta

1

Elección del microcontrolador dependerá de varios factores:

  • qué tipo de interfaces Qué se necesita?
  • ¿Qué rendimiento necesitas? (por ejemplo, ¿necesita hacer algo computacionalmente intensivo, como ejecutar algoritmos DSP)
  • ¿Cuánta memoria es probable que necesite?
  • ¿es importante el consumo de energía? (es decir, ¿está considerando aplicaciones con batería?)
  • ¿con qué lenguaje de programación, entorno de desarrollo, herramientas, etc., desea trabajar? (podría ser tan simple como ensamblador y poca o ninguna capacidad de depuración, hasta compiladores cruzados, depuradores JTAG, etc.)
  • ¿qué tipo de presupuesto tiene?
+0

* Estoy interesado en la ingeniería inversa (es decir, descubrir que algo funciona y hacer que se haga algo que no se supone que debe hacer) * ya que yo sería un principiante, no necesitaría tanto rendimiento. pero sí necesito expansibilidad, puedo trabajar despacio. siempre que tenga funciones. * Realmente no sé cuánta memoria necesito. ya que estoy empezando. no sé qué toma realmente. * la potencia no es realmente un problema. Puedo compensar fácilmente cualquier falta de energía * Conozco un poco de c y algo de cpp, así que esperaba seguir con ellos. * bastante bajo.estoy mirando o menos de $ 100 –

+1

Si la ingeniería inversa es el objetivo principal, entonces probablemente desee elegir un microcontrolador que sea similar al que se usa en el tipo de dispositivo que desea aplicar ingeniería inversa. P.ej. si desea realizar una ingeniería inversa del iPod Touch de Apple, entonces probablemente desee utilizar una CPU ARM, quizás una placa de evaluación ARM de bajo costo. –

+0

Hmm, bueno, bien como un microcontrolador principiante, ¿puedes recomendar Mbed o Arduino? y ¿crees que usar algo similar al pirata de autobús sería una alternativa? –

3

Realmente recomendaría que empiece con los microcontroladores Microchip. Son arquitectura barata y simple y las herramientas de desarrollo son gratuitas. Tendrá que programar en Ensamblador o C (Recomiendo encarecidamente al Ensamblador para esta tarea).

+0

+1: Los microcontroladores PIC de 8 bits y C (o ensamblaje si eres valiente) son un buen lugar para comenzar. –

+0

Creo que hay mucho que ganar al usar el ensamblaje para microcontroladores de 8 bits. C es excesivo, con un microcontrolador de 8 bits que QUIERES estar cerca del hardware. Y, por supuesto, es una experiencia educativa maravillosa. – Raphael

+0

+1 adoran los PIC. Barato, puede obtener algunos de ellos por menos de un dólar. Acerca de $ 2 con USB. Aunque no estoy de acuerdo con @Raphael, C es el camino a seguir y definitivamente * no * exagerado. – kenny

2

Obtén un Arduino.

Es muy fácil configurar la cadena de herramientas y comenzar a escribir el código de trabajo. Son baratos, y todas las herramientas son de código abierto. Dado que utiliza un chip DIP con un zócalo, si fríe el chip puede reemplazarlo fácilmente, y también puede tomar un chip programado y pegarlo en un tablero de su diseño.

En cuanto a mbed, ¿realmente desea confiar en su aplicación web para compilar su propio software?

4

No puedo recomendar el Arduino suficiente. Trivialmente fácil de configurar y programar para, 100% de código abierto, puede programarlo usando C, C++, Cableado, hay un exceso de tutoriales y la mayoría están bien escritos y son fáciles de seguir, puede comunicarse con él a través de OSC (lo que significa que puede enviar y recibir comandos a través de la red a través de Processing, Quartz Compositor, LibLO, etc.).

Consulte este enlace de 40 Arduino projects para tener una idea de lo que es posible.

0

Recomiendo comenzar con microcontroladores PIC porque son fáciles de entender un programa. Las herramientas de desarrollo son gratuitas y los programadores de chips son baratos.

Últimamente, cuando esté más familiarizado con los conceptos, pase a la familia ARM porque son baratos y potentes.

0

El arduino está bien, me gusta mucho atmel, pero no me gusta el conjunto de instrucciones avr. El avr y el arduino en particular son muy populares. El lillypad de sparkfun.com con el usb adicional para serial/potencia es un buen combo, no requiere soldadura y puede comenzar a jugar de inmediato, con un solo conector usb, a un precio más bajo. El arduini pro mini, es similar pero se requiere algo de soldadura para usarlo (o cables colgantes). Recomendaría el cordium armmite pro, no es atmel, sino arduino y debería coincidir con otros periféricos arduino si sigues ese camino. Definitivamente no necesita el intérprete básico que lo acompaña, es fácil borrarlo y utilizar el cargador de arranque lpc para cargar sus propios programas (consulte lpcstuff.blogspot.com). Soy/era anti-lpc pero pasé a jugar con el mbed el último día o dos después de retirarlo inmediatamente a la pila de rechazo momentos después de que lo obtuve. Los leds azules todavía me dan migrañas, pero la buena noticia es que no estás ligado a su cosa de desarrollo web sandbox. Puedes rodar fácilmente tus propios programas como puedas con el arduino y el armmite pro. Lo bueno de mbed es que se monta como una unidad flash y usted copia su archivo .bin en el dispositivo y presiona el botón para cargarlo. no se vuelve mucho más fácil. Otro es el sam7s-256. Olimex (tenga en cuenta que todos estos elementos están disponibles en sparkfun.com) es a lo que me refiero sam7s-h256 o sam7s-h64. Es un chip de brazo atmel. Atmel es amigable con los desarrolladores, como cualquier usuario de avr te dirá, sam-ba ahora se ejecuta en Linux, que es un requisito para mí, es solo un chip y una placa listos para usar en muchas cosas. Los tableros de brazo superarán fácilmente a los tableros arduino/avr, aunque en estos factores de forma son un poco más caros. La familia msp430 es otra muy buena, obtenga un ez430 directamente de TI y el paquete de tres tarjetas adicionales es de otros $ 10, básicamente cuatro tarjetas por el precio de uno o la mitad de uno de los artículos anteriores. Muy buen conjunto de instrucciones, buenas herramientas (gcc 4.x, llvm). Evitaría la foto, seguro que mucha gente, incluyéndome a mí, se mordió una foto, desde una perspectiva general del usuario a partir de tablas fáciles de usar a buen precio, fáciles de encontrar y utilizar, grupos de apoyo, páginas web de ejemplo , simplemente no pueden competir con el brazo y avr. Y su conjunto de instrucciones es mucho peor que el 8051, que es bastante malo. pic32 que es un mips es otra historia, aún no está tan bien empaquetada y es fácil de usar, pero el conjunto de instrucciones ya no es el problema principal.

+0

Tengo un nuevo favorito. El descubrimiento stm43f4. Por menos de $ 20 está empaquetado, cortex-m4 con punto flotante, cachés, varios uarts, muchas E/S, etc., etc. Estoy moviendo mis placas mbed a un lado y dejando esta en el escritorio. . –

1

Recomiendo encarecidamente ARM mbed es realmente fácil de empezar. ya se han proporcionado muchas bibliotecas para la mayoría de las aplicaciones comunes (es relativamente nuevo) y tiene un compilador "nublado", lo que significa que está basado en la web y, siempre que tengas acceso a Internet, no necesitas instalar ninguna pieza adicional de software. en su computadora, solo conéctese en línea, escriba su código C en el IDE en línea y lo compilará para usted, y solo necesita descargar .bin y copiarlo en su mbed. es extremadamente fácil de usar y la comunidad es muy útil.

0

Arduino es genial, simple y económico, hay muchos documentos y ejemplos en la web, pero prefiero MBed, es potente, tiene más velocidad, más memoria, compilador en línea, Ethernet a bordo y multitarea oficialmente compatible biblioteca.

Cuestiones relacionadas