He desarrollado algo con ATMega y estoy buscando ampliar mis horizontes. Tengo un par de chips de la serie Cortex M4 y me gustaría hacer un ARM equivalente al Breadboarduino
Planeo grabar mi propio tablero o usar un tablero de arranque para el ARM y el resto del tablero. Una referencia o esquema de los componentes mínimos sería muy apreciado.
¿Existen buenos recursos para determinar los componentes mínimos requeridos para operar e idealmente programar un chip ARM?
ACTUALIZAR:
Estoy abierto a sugerencias de hardware alternativas. A continuación se muestra el chip con el que estoy intentando trabajar actualmente:
arm
microprocessor
prototyping
ZnArK
fuente
fuente
Respuestas:
Esto realmente depende de los chips que esté utilizando: no especificó cuál obtuvo. Por lo general, necesitaría al menos un cristal, desacoplando las tapas y restableciendo la lógica. La interfaz de programación podría ser una simple interfaz JTAG.
Pero todo esto debe indicarse en la hoja de datos de chips.
Actualización (para el STM32F407):
Mira las siguientes páginas en la hoja de datos
No necesitará un circuito de reinicio (está integrado; consulte la página 23) o un oscilador (el oscilador integrado de 16 MHz se selecciona al inicio, consulte la página 22). Por lo tanto, usar una placa de conexión LQFP144 (como la de futurlec (consulte la parte inferior de la página) puede ser realmente suficiente).
También puede ver el esquema de la placa STM32F4DISCOVERY (consulte el manual del usuario , página 33. Lo que ve allí es el circuito básico, e incluso contiene los cristales externos.
fuente
¿Seguro que quieres hacer esto para un Cortex-M4? Es un gran salto de AVR, y no veo cómo utilizaría todas las funciones que proporciona. Para comenzar con un Cortex-M4 generalmente viene en un paquete grande, típicamente más de 80 pines para las partes de nivel de entrada, y 200+ no es una excepción, piense en QFP o BGA. ¿Va a hacer una tabla de ruptura con dos filas de 40 pines a la placa de pruebas?
El Cortex-M4 también está diseñado para alta velocidad: 120 MHz a más de 200 MHz típicamente. OK, es posible que no necesite diseñar su PCB para esas velocidades si usa un PLL en el chip. Pero, ¿qué pasa con los periféricos, como USB o Ethernet?
Por supuesto, puede ejecutarlo a velocidades más bajas y omitir gran parte de la funcionalidad en el chip, pero me pregunto para qué sirve un Cortex-M4. Creo que un Cortex-M3 o incluso -M0 es más apropiado para comenzar. No quiero desanimarte, quiero seguir siendo realista.
Si no desea seguir adelante con el Cortex-M4 se puede hacer con un mínimo de hardware externo. El NXP LPC407x, por ejemplo, tiene un oscilador RC interno que es el oscilador predeterminado en el reinicio, por lo que ni siquiera necesita un cristal. Un circuito de reinicio y un desacoplamiento adecuado de la fuente de alimentación serán todo lo que necesita para ponerlo en funcionamiento.
Para un Cortex-M0, vale la pena echarle un vistazo al NXP LPC111x . Por supuesto, no viene con mucha memoria, pero está disponible en un paquete DIL-28 , lo cual es una rareza para los ARM. Alternativamente, puede usar una placa de desarrollo como LPCXpresso ,
donde la mitad derecha es la placa de aplicación, que se puede separar del enlace LPC. Como puede ver, apenas se requiere hardware externo para la aplicación. Y si suelda un conjunto de encabezados, puede enchufarlo a una placa de pruebas.
fuente
Como Steven dice que es un gran salto hacia ARM desde un micro de 8 bits, así que espere un poco de aprendizaje / tiempo en el camino.
Tampoco elegiría el M4 para su primer ARM, simplemente porque no ha estado fuera demasiado tiempo y hay menos soporte / información disponible para ello. Creo que un M3 o M0 es una mejor opción, y será suficiente para seguir adelante.
Ciertamente, puede hacer su propia placa, pero tal vez sería mejor tomar primero una placa de desarrollo pequeña / barata. En cuanto al desarrollo, hay muchas opciones, desde gratuitas (eclipse + GCC + OpenOCD) hasta costosas (Keil, Rowley, etc.). Personalmente uso el IDE Raisonance Ride7 y herramientas con el ARM M3 / M4 de la serie STM32, que es un poco más barato que Keil / Rowely pero lo suficientemente bueno.
Eche un vistazo a una de las placas de desarrollo simples de alguien como ST, Olimex, etc. Esta placa de desarrollo tiene el esquema más simple que pude encontrar, para un STM32 Cortex-M3.
fuente
El Arduino Due debería salir pronto:
Chip es un SAM3X8 Cortex-M3 de Atmel. Vale la pena esperar si ya está familiarizado con las placas de estilo Arduino y la documentación de estilo Atmel. Y dado que será de código abierto para satisfacer los requisitos de Arduino, por supuesto, puede duolarlo.
fuente
Recomiendo que compruebe que Mbed es un dispositivo cortex-m3 con algunos periféricos agradables, nxp proporciona un compilador y muchas bibliotecas y bibliotecas comunitarias, una forma realmente fácil de programarlo y ya está en un paquete para ser utilizado en una placa de pruebas. Creo que sería la forma más fácil de hacer la transición de AVR a ARM.
fuente
Muchas de las partes ST pueden, al menos si no están usando un transceptor USB, funcionar con su oscilador interno de alta velocidad.
Básicamente, eso significa que su "circuito" consta de tapas de derivación y algunas resistencias en cosas como el reinicio y como terminación en la interfaz SWD.
Los tableros de evaluación de $ 8-10 de ST programarán las partes que coloque en su propio tablero sobre el bus SWD; también hay herramientas de código abierto para ellos, por lo que puede colocar la operación de programación directamente en su Makefile.
Buscar algo en el 48 PQFP probablemente hará la vida más fácil en su primer intento de tablero. Puede ensamblarlos sin aumento (solo tenga una trenza fina disponible para arreglar el puente o dos que probablemente creará por lado), pero sería útil tener una lupa disponible para verificar su trabajo.
fuente