Buena placa de desarrollo ARM para desarrollo bare-metal

Estoy buscando una placa de desarrollo ARM para el desarrollo completo (sin sistema operativo subyacente). Algunos criterios que valoro:

1) SRAM/SDRAM externo, al menos 1 MB
2) Flash externo, al menos 512 kB
3) JTAG incorporado, o al menos una interfaz JTAG estándar
4) Accesorios agradables, bien documentados y fáciles de programar (UART, GPIO, USB, redes)
5 ) Buena documentación.
6) No demasiado caro.

He estado mirando el BeagleBoard (y BeagleBone). Parece cubrir todo excepto (4). ¿Alguna otra idea?

Respuestas (5)

¿Que vas a hacer con eso? En relación con sus requisitos, BeagleBoard y BeagleBone son un par de órdenes de magnitud exagerados, aunque Bone tiene un valor increíble por su potencia y capacidad de pirateo. No estoy seguro de por qué dice que no cumple el requisito 4, tiene todas esas cosas excepto quizás la buena documentación. Los Beagles parecen estar presentados como plataformas Linux, así que no sé si estarás completamente solo si quieres iniciarlo tú mismo; a diferencia de una MCU, es posible que no tenga un montón de bibliotecas C para trabajar directamente con el hardware y los periféricos.

¿Ha considerado un kit de microcontrolador ARM Cortex M3 o M4? STMicro tiene un kit de descubrimiento de $20 para sus nuevos micros Cortex M4 . 192 KB de RAM, 1 MB de flash, JTAG, USB y una impresionante variedad de periféricos. Estos están destinados al desarrollo completo, por lo que solo obtendrá algunas bibliotecas C que le permitirán configurar el hardware y brindará una función principal y rutinas de servicio de interrupción. No tiene redes, pero a ese precio, a menos que esté diseñando algo donde sea un requisito decisivo, es un valor increíble para el aprendizaje y la creación de prototipos. Tengo uno en el correo ahora, así que no puedo dar una cuenta de primera mano, pero me he desarrollado en otros MCU de Cortex y realmente me gustan.

Si necesita redes, he usado los kits de evaluación de Ethernet Stellaris LM3S6965 de TI y son excelentes, los documentos y las bibliotecas son bastante buenos (he encontrado algunos obstáculos para resolver las cosas, pero en general fue una buena experiencia). Incluso he usado lwIP y UIP para construir un dispositivo con un servidor web (muy, muy, muy) simple. Sin embargo, soy un poco reacio a recomendar los kits completos sobre el BeagleBone porque cuestan alrededor de $ 70 y son mucho menos potentes que el Bone, pero todo depende de lo que quieras construir o aprender.

Tengo un Friendly ARM Micro 2440 (que es, contrariamente a su nombre, una versión más pequeña del mini2440): http://www.friendlyarm.net/products/micro2440 . La página cita el soporte del sistema operativo para Linux, CE y Android, pero hay archivos para el desarrollo completo. IIRC pagué E 125 por Stamp + Base (ex BTW).

Especificación: Módulo de sello

Dimension: 63 x 52 mm
CPU: 400 MHz Samsung S3C2440A ARM920T (max freq. 533 MHz)
RAM: 64 MB SDRAM, 32 bit Bus
Flash: 64 MB / 128 MB / 256 MB / 1GB NAND Flash and 2 MB NOR Flash with BIOS
Serial, SPI, USB, LCD, CMOS Camera Interface
Analog Input and Output
User Outputs: 4x LEDs
Expansion headers (2.0 mm)
Debug: 10 pin JTAG (2.0 mm)
OS Support
    Windows CE 5 and 6
    Linux 2.6
    Android

Especificación: Placa SDK

Dimension: 180 x 130 mm
EEPROM: 1024 Byte (I2C)
Ext. Memory: SD-Card socket
Serial Ports: 3x DB9 connector (RS232)
USB: 4x USB-A Host 1.1, 1x USB-B Device 1.1
Audio Output: 3.5 mm stereo jack
Audio Input: 3.5mm jack (mono) + Condenser microphone
Ethernet: RJ-45 10/100M (DM9000)
RTC: Real Time Clock with battery
Beeper: PWM buzzer
Camera: 20 pin Camera interface (2.0 mm)
LCD: 41 pin connector for FriendlyARM Displays and VGA Board
Touch Panel: 4 pin (resistive)
User Inputs: 6x push buttons and 1x A/D pot
Expansion headers (2.0 mm)
Power: regulated 5V (DC-Plug: 1.35mm inner x 3.5mm outer diameter)

Depende en gran medida de lo que esté buscando hacer, actualmente me gusta mucho el descubrimiento de stm32f4. Alrededor de $ 20. Es difícil llamarlo un microcontrolador con la cantidad de flash y ram, dos cachés, criptografía, punto flotante, upt 168MHz, admite memoria externa, etc. (Esta placa de evaluación no tiene memoria externa, 1mb de flash y 128K de ram en uno trozo lineal, creo que hay otros trozos de carnero).

https://github.com/dwelch67/stm32f4d

Sin embargo, no necesariamente tiene acceso a jtag, los microcontroladores más nuevos de arm usan swd, un jtag en serie que necesita más tiempo para obtener soporte para todas las herramientas populares.

los omaps son ti y las placas como la beagleboard no usan el pinout del brazo original. hay muchas cosas pequeñas como esa que hacen que el beagleboard sea más doloroso de lo que debería ser. Estoy ansioso por ver lo que hizo la gente de raspberri pi. Me gusta mucho más mi placa devkit8000 de embest que mi beagleboard. como el hawkboard mejor que el beagleboard también. (por cierto, no es nada difícil hacer lo tuyo, sin Linux, con un beagleboard).

Usted puede mirar en Embeddedarm.com, al estar basados ​​en arm7 y arm9, van a ofrecer el jtag de brazo tradicional. En realidad, pueden usar memoria externa.

También me gustó la placa open-rd, cortex-a core pero de marvell en lugar de ti, y más rápida. Sin embargo, decepcionado con la computadora enchufable, evítelo.

Los nuevos chips xilinx usan un núcleo ARM en lugar de power-pc, haz lo que quieras con eso y las placas de evaluación/desarrollo probablemente tengan flash y ram y muchas otras cosas, pero son costosas y pueden ser un dolor de cabeza.

No estaba satisfecho con mi openpandora, ni siempre innovando (construido casi directamente alrededor del beagle), no malgastes tu dinero allí. en todo caso, obtenga un color de rincón y enraícelo o use un gba o nds que son realmente fáciles de desarrollar.

también está el pandaboard, no tengo uno, no sabía que costaba menos de $ 200, es posible que tenga que conseguir uno, probablemente también me gustará más que el beagle.

hay varias placas del tamaño de arduino, la armmite pro, la arce y la familia, la fez-panda (que no debe confundirse con la placa panda de pandaboard.org), etc. No pueden competir con la stm32f4 discovery aparte del factor de forma si realmente necesitas poner escudos arduino en sus espaldas. Sin embargo, armmite pro y fez-panda (una vez desbloqueados) tienen jtag de brazo real.

El mbed es bueno si realmente te gusta lpc y odias st, por ejemplo, cuesta dos o tres veces más, pero es probablemente mi otro tablero favorito después del descubrimiento de stm32f4.

En realidad, Raspberry Pi se puede usar como una placa de desarrollo completa, siempre que cargue su programa en lugar de cargar Linux.

Vea otra pregunta y respuesta en SO sobre lo que sucede durante el proceso de arranque . Hay un tema del foro Proceso de arranque de Raspberry Pi dedicado a esto también . Según algunas lecturas en la red, siempre que reemplace los archivos que normalmente carga, tiene control total.

Cumple con todos sus criterios, excepto el JTAG.

Como referencia, consulte http://github.com/dwelch67/raspberrypi para ver algunos programas ARM bare metal.

JTAG funciona bien en raspberry pi (para el desarrollo del brazo) para el escaneo de límites. Supongo que necesitaría firmar un NDA con Broadcom para obtener esa información.

Hay una placa de desarrollo ARM9 para cumplir con todos sus requisitos. Póngase en contacto con ellos para obtener más detalles. http://www.armdesigner.com/EM2440-III.html

  • Samsung ARM9 S3C2440A AR M920T, hasta 400MHz.
  • SDRAM de 128 MB~256 MB
  • Flash NAND de 256 MB ~ 1 GB
  • LCD TFT de 3,5 / 4,3 / 7 pulgadas
  • Suministro de dibujos esquemáticos originales y archivos de PCB de referencia para la fabricación de placas
  • Una clave para actualizar Boot-loader, Kernel, Yaffs, NK.bin y una clave para configurar los parámetros de Linux.
  • Host USB, dispositivo USB, puerto serie (UART), puerto Ethernet (RJ45), GPIO, BUS, E/S de audio
  • Compatibilidad con Cramfs/ramfs/etx2/fat32/nfs/yaffs
  • Los parámetros del sistema se pueden guardar en REGEDIT, y el Flash residual se puede leer y escribir
  • El sistema se puede actualizar a través de la interfaz USB.
  • Compatibilidad con WinCE 6.0 y Linux 2.6.25/Linux2.6.30
  • Admite módulos GPS, GPRS, CDMA, impresora, WIFI, AV, VGA
  • Diseño modular: placa portadora: 128 mm x 105 mm; Placa de CPU: 74 mm x 37 mm