Quiero comenzar a usar procesadores ARM, migrar desde 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 estropeado la facilidad y el bajo costo de comenzar. Pero viendo que su poder se ve reducido por algunos chips ARM al mismo precio, y al estar harto de software de código cerrado, quiero hacer el cambio.
Prefiero evitar las placas de desarrollo, y en su lugar me meto directamente con una placa base genérica barata ($ 1), y en una placa de prueba utilizando 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 y programan a través de una conexión en serie simple (como ICSP) con el chip? ¿Qué diferencia de configuraciones se requiere 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?
EDITAR: Muy bien, así que 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 yo obtener mi placa de desarrollo stm32 en el correo). Pero descubrí que la placa daplink_usb incluida con el readbear mk20 está ejecutando un chip stm32, han lanzado el firmware, que necesita tener una línea cambiada para que sea compatible con el cristal de 8mhz (detallado en la publicación del foro vinculada a continuación). De lo contrario, cambie el cristal por uno de 16 mhz. Me actualizaré una vez que haya confirmado esto cuando llegue mi kit de desarrollo.
Respuestas:
Las líneas stm32F0 y stm32L0 tienen placas de descubrimiento que cuestan 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 están AQUÍ
Además, ARM tiene una hoja blanca sobre la migración a Cortex M3 desde PIC que puede serle útil.
fuente
La forma más fácil: desembolsar> $ 10K USD para un compilador Keil Pro con todas las funciones, compre su depurador JLINK (quizás otros $ 1K- hay otros más baratos con algunas limitaciones). IAR es otra posibilidad costosa (se proporcionan ejemplos para el procesador STM32F7 Cortex M7 que funciona en la demostración IAR de 30 días)
La forma más económica: descargue e instale una cadena de herramientas Eclipse GCC-ARM + (gratuita) con complementos de depurador JLINK. Obtenga un clon de JLINK por aproximadamente $ 20, que creo que funcionará bien, aún no probado, para la depuración.
Hay instrucciones detalladas para este último en la red, sin embargo, hacen ciertas suposiciones. Espere pasar un día o más para ponerlo en marcha, especialmente en Windows. No espere poder usar muchos de los ejemplos proporcionados para otros IDE sin algo de trabajo. Impresionantemente, la cadena de herramientas gratuita puede usar 'paquetes' ('experimentales' en este momento).
Hay otros sistemas como Rowley Crossworks (que usa gcc, creo) que son menos dolorosos financieramente. Atmel Studio es otro, pero he recibido amargas quejas de mi experimentado desarrollador de firmware al respecto (solo he jugado brevemente con él).
Si sus necesidades de código son inferiores a 32K, puede usar el mismo sistema Keil de forma gratuita (versión de 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 PIC o AVR con ARM de gama baja, pero no es tan bueno si va a 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).
fuente
Esto es lo que uso:
fuente
El comienzo más fácil probablemente sea uno de los tableros de clonación de terceros. Ejemplo aleatorio de ST . Eso requiere un programador que use el protocolo 'SWD'. ST hace los de marca 'ST-LINK', no estoy seguro de si tiene que usar los ST-LINK con dispositivos ST o si es realmente genérico.
Alguna combinación de SWD y JTAG desempeña el papel de ICSP en los sistemas ARM, brindándole 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 costosa.
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 y presiona un botón. La solución más fácil posible, no requiere programador. Atmel AT91 tiene un cargador de arranque USB que funciona con un protocolo propietario llamado SAM-BA.
fuente
En el frente de IDE, Silicon Labs ofrece Simplicity Studio , que se basa en Eclipse . Viene de serie 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). Simplemente conecte 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 depuradores de Atmel. Esto también se envía con GCC.
Ambos proveedores tienen numerosos (muy numerosos) ejemplos para manejar sus dispositivos.
He usado ambos y aunque la documentación no es perfecta (nunca lo es), sin duda fue suficiente para que me pusiera en marcha de manera relativamente indolora.
Muchos de los kits ST (y otros) están habilitados para mbed .
fuente
Cypress fabrica tableros de conexión basados 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 interrupción. El precio de la placa de conexión y el adaptador de programación adjunto (desmontable) es de US $ 3.99 desde Digi-Key.
fuente
Recomendaría CooCox : es la misma combinación GCC + Eclipse, pero no es necesario configurar la cadena de herramientas manualmente, solo instálela y comience a codificar.
fuente
En mi opinión, TI, NXP (que consiste en NXP + Freescale) y ST son los principales actores 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 la cantidad de tutoriales, bibliotecas, controladores de dispositivos, herramientas, etc.
luego :
Los números 2 y 3 son una mejor opción para el nivel superior que el hobby. También recuerde que al usar la licencia gratuita de herramientas profesionales como IAR, Keil o incluso LPCXPRESSO, tiene menos dolor mientras se muda al área profesional.
fuente
mbed
- ver [ developer.mbed.org] [developer.mbed.org]