La forma más barata, (fácil) de iniciar la programación en los microcontroladores ARM [cerrado]

17

Quiero comenzar a utilizar los procesadores ARM, migrando desde los PIC que he estado usando durante demasiado tiempo. Los modelos de 8 bits estaban disponibles por menos de $ 1, los programadores por menos de $ 10, y me ha echado a perder la facilidad y el bajo costo de comenzar. Pero al ver que su poder está empequeñecido por algunos chips ARM al mismo precio, y al estar harto de software de código cerrado, quiero hacer el cambio.

Preferiría evitar tener tableros de desarrollo, y en lugar de eso, entrar directamente en él con un PCB genérico barato ($ 1), y en una placa de pruebas con cualquier componente externo que sea esencial para que funcione.

¿Cuáles son mis opciones para programar chips ARM de esta manera? ¿Hay programadores como el PICKit2 que usan USB para conectarse a una PC, programando a través de una conexión en serie simple (como ICSP) con el chip? ¿Qué diferencia se requiere en las configuraciones para diferentes fabricantes de ARM, versiones de ARM y chips individuales? (ST, Atmel ...) Por ejemplo, ¿Cada fabricante necesita sus propios compiladores, programadores, IDE, etc.? ¿O hay herramientas comunes para todos?

EDICIÓN: Muy bien, después de más investigaciones, creo que he encontrado una solución relativamente barata, una placa de desarrollo stm32 se puede flashear con el firmware DAPLINK, pero no creo que el firmware oficial de github funcione de forma nativa (todo esto es especulación hasta que reciba mi stm32 dev board en el correo). Pero descubrí que la placa daplink_usb incluida con el lector de lectura mk20 está ejecutando un chip stm32, han lanzado el firmware, que necesita una línea modificada para que sea compatible con el cristal de 8 mhz (detallado en la publicación del foro vinculado a continuación). De lo contrario cambiar el cristal con un 16 mhz uno. Se actualizará una vez que haya confirmado esto cuando llegue mi kit de desarrollo.

Buen recurso de foro aquí .

Horquilla de Github de Redbear

    
pregunta CL22

8 respuestas

14

La línea stm32F0 y stm32L0 tienen tableros de descubrimiento que ejecutan alrededor de $ 10, y Keil proporcionará un IDE de función completa para esta línea a un costo cero.

Las instrucciones de instalación de Keil free pro MDK son AQUÍ

Además, ARM tiene una hoja blanca sobre la migración a Cortex M3 desde PIC que puede encontrar útil

    
respondido por el Scott Seidman
7

La forma más fácil: desembolsar > $ 10K USD para un compilador Keil Pro con todas las funciones, compre su depurador JLINK (otros $ 1K quizás, hay más baratos con algunas limitaciones). IAR es otra posibilidad costosa (se proporcionan ejemplos para el procesador Cortex M7 STM32F7 que funciona en la demostración de IAR de 30 días)

Manera más barata: descargue e instale una cadena de herramientas GCC-ARM + Eclipse (gratuita) con los complementos del depurador JLINK. Obtenga un clon de JLINK por aproximadamente $ 20, lo que creo que funcionará bien, todavía no se ha probado, para la depuración.

Hay instrucciones detalladas para este último en la red, sin embargo, hacen ciertas suposiciones. Espera pasar un día o más poniéndolo en marcha, especialmente en Windows. No espere poder utilizar muchos de los ejemplos proporcionados para otros IDE sin algún trabajo. De manera impresionante, la cadena de herramientas gratuita puede usar 'paquetes' ('experimentales' en este momento).

Hay otros sistemas, como Rowley Crossworks (que usan gcc, creo) que son menos dolorosos financieramente. Atmel Studio es otro, pero he tenido muchas quejas por parte de mi experimentado desarrollador de firmware (solo lo he jugado brevemente).

Si sus necesidades de código son menores a 32K, puede usar el mismo sistema Keil gratis (versión con código limitado), pero tenga en cuenta que la ruta de actualización es fácil pero bastante costosa. Por ejemplo, no compilará los ejemplos simples de Ethernet para el SAME70. Está bien si está reemplazando los PIC o los AVR con ARM de gama baja, pero no tanto si va a usar ARM porque realmente necesita hablar con pantallas LCD y ejecutar protocolos de comunicación complejos (posiblemente se pueden incluir módulos precompilados sin afectar el Límite de 32K, no he investigado ese ángulo en particular).

    
respondido por el Spehro Pefhany
7

Esto es lo que uso:

  • STM32F103 "placa de sistema mínima" (consulte, por ejemplo, aquí , Cortex-M3 core ), funciona con 3.3V o USB sin componentes externos, los clones tienen un costo aproximado de US $ 3 cada uno. Esto encaja perfectamente con su solicitud de "entrar directamente en ella con una PCB genérica barata y en una placa de pruebas".
  • Clon del programador USB de ST-Link V2 (se parece a this ), comienza en aproximadamente US $ 2 y también admite la depuración en el chip.
  • EmBitz (anteriormente Em :: Blocks) como IDE con la cadena de herramientas gcc, US $ 0
  • STM CubeMX para ayudar a comenzar con nuevos proyectos, US $ 0
respondido por el JimmyB
5

El inicio más fácil probablemente es uno de los tableros de clonación de terceros. Ejemplo aleatorio de ST . Eso requiere un programador que use el protocolo 'SWD'. ST crea los de la marca 'ST-LINK', no estoy seguro de si tiene que usar los ST-LINK con dispositivos ST o si es realmente genérico.

Algunas combinaciones de SWD y JTAG cumplen la función de ICSP en los sistemas ARM, lo que le brinda capacidades de programación y depuración.

En cuanto al software, generalmente es posible trabajar con GCC y OpenOCD en la mayoría de los chips. Los detalles son ligeramente diferentes para cada dispositivo. Los profesionales a menudo usan la cadena de herramientas Keil, que es bastante cara.

Algunos dispositivos (por ejemplo, de la serie Kinetis) tienen cargadores de arranque USB: el dispositivo aparece como un dispositivo de almacenamiento masivo, usted descarga un archivo BIN en él y presiona un botón. La solución más fácil posible, sin necesidad de programador. Atmel AT91 tiene un cargador de arranque USB que funciona con un protocolo propietario llamado SAM-BA.

    
respondido por el pjc50
3

En el frente del IDE, Silicon Labs proporciona Simplicity Studio , que se basa en Eclipse . Viene como estándar con GCC.

Hay soporte incorporado para todos los kits de inicio que venden, lo que hace que comenzar sea relativamente sencillo.

La programación utiliza un controlador Segger J-Link para los kits de inicio (gratis). Solo conecta el kit a USB y listo.

Atmel tiene su Studio que se basa en el IDE de Visual Studio y puede conectarse a cualquiera de los Atmel depuradores Esto también se envía con GCC.

Ambos proveedores tienen numerosos (muy numerosos) ejemplos para controlar sus dispositivos.

He usado ambos y, aunque la documentación no es perfecta (nunca lo es), ciertamente fue suficiente para que funcionara de forma relativamente sencilla.

Muchos de los kits ST (y otros) están mbed habilitados.

    
respondido por el Peter Smith
2

Cypress fabrica placas de ruptura basadas en PSOC-4200 (ARM Cortex M0) con un factor de forma DIP-40 que incluye un adaptador de programación basado en USB en una porción de separación. El precio de la placa de ruptura y el adaptador de programación adjunto (desmontable) es de US $ 3.99 de Digi-Key.

    
respondido por el supercat
1

Recomendaría CooCox : es la misma combinación de GCC + Eclipse, pero no es necesario configurar la cadena de herramientas manualmente, solo instálalo y comienza a codificar.

    
respondido por el Flanker
1

En mi opinión, TI, NXP (consta de NXP + Freescale) & ST es un jugador importante en el mundo de la corteza M, especialmente ST y NXP ofrece herramientas realmente competitivas para los recién llegados, otro parámetro importante es la popularidad en la comunidad de código abierto que causa gran cantidad de tutoriales, bibliotecas, controladores de dispositivos, herramientas y amp; etc.

entonces:

  1. compilador en línea mbed + un tablero mbed
  2. Un tablero de descubrimiento STM32 (como STM32F407discovery) + construido en st-link depurador + SPL o HAL (STM CUBE) framework + licencia gratuita keil IDE.
  3. Una placa de descubrimiento LPC + depurador LPC-link 2 + marco LPCOPEN + LPCXPRESSO licencia gratis IDE.

Número 2 y amp; 3 son la mejor opción para el nivel superior que la afición. También recuerde que al utilizar la licencia gratuita de herramientas profesionales como IAR, Keil o incluso LPCXPRESSO, tiene menos dolor al pasar al área profesional.

    
respondido por el Mahmoud Hosseinipour

Lea otras preguntas en las etiquetas