Autor Tema: Placa de desarrollo para iniciarse en los ARM  (Leído 7998 veces)

0 Usuarios y 5 Visitantes están viendo este tema.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Placa de desarrollo para iniciarse en los ARM
« en: 25 de Abril de 2017, 13:04:41 »
Me está entrando el gusanillo de utilizar micros potentes de 32 bits.
Por ahora los micros más potentes que estoy utilizando son los de 16 bits de microchip (dsPIC33) con capacidades de DSP y hasta 70MIPS.

Muchos micros ARM (M0) no llegan a tanto, pero veo que es el futuro y que se pueden ampliar mucho más, sin aparente límite.

He estado estudiando varias familias y sus placas de desarrollo y me gustaría tener un consejo acerca de la mejor opción.

Lo que busco es un microcontrolador sencillo (M0 o M4) para iniciarme y que pueda sustituir a los PIC de 16bit.

No busco placas de tipo Beaglebone o Raspberry que son más bien ordenadores en una tarjeta.

Lo ideal es que compile C con GCC (y que sea libre no como el de Microchip) y que no necesite programador o utilice uno estándar o barato.


Por ahora tengo estas opciones:

Teensy 3.2
27€ + envío
Microcontrolador NXP / Freescale ARM Cortex M4
MK20DX256VLH7 (72 MHz) (3.3V signals, 5V tolerant)
256k Flash, 64k SRAM
Programable con bootloader con USB integrado en la placa.
Entorno Arduino (compilador GCC)


STM32 Discovery STM32F407G-DISC1
19,51€ + envío
Microcontrolador STMicroelectronics ARM Cortex M4
STM32F407VGT6 (168 Mhz) (DSP instructions)
1MB Flash, 192KB RAM
Programable con bootloader con USB integrado en la placa.
¿Compilador?


He comprado esta otra placa parecida a la discovery:
http://www.ebay.es/itm/STM32F407VET6-tablero-de-desarrollo-STM32-Cortex-M4-Kit-de-modulo-placa-base-/332159698561?hash=item4d5642c681:g:qcwAAOSw-kdX0mup
Pero no se cómo se programa.


No me importaría comprar varias, pero tampoco quiero gastar demasiado dinero.
Me gustaría comprar también la placa Teensy, pero dudo entre la 3.2 y la 3.5 o 3.6. Son demasiado caras, pero tienen la ventaja de poder comenzar a trabajar con ellas fácilmente y muchos ejemplos.

¿Algún consejo?

Un saludo.


Desconectado KILLERJC

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8242
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #1 en: 25 de Abril de 2017, 14:13:57 »
Citar
No busco placas de tipo Beaglebone o Raspberry que son más bien ordenadores en una tarjeta.

Esos son procesadores.

Creo que por lo que son ambas placas iria por la de ST, mas barata, mas memoria, mas velocidad y algunas cosas en la placas mas.
Varios fabricantes ofrecen las placas con ARM Cortex-M4F (como el de la discovery) a precios muy baratos, siempre menos de 25U$S, pero que con esa placa tenes, Placa de evaluacion y programador ( podes debuggear la placa de evaluacion, no se si un micro externo, habria que probar nunca lo hice ). Lo cual es una inversion bastante buena si comparas tener que comprar placa de evaluacion y programador aparte como lo es Microchip.

Ejemplos hay. Y mas para las placas de evaluacion. Lo podes bajar desde la pagina de la placa
De los que conozco son ST y TI (Ambos tiene programador en la placa de evaluacion) , NXP no se. Pero ST se programa con GCC ( Eclipse + plugin), TI podes hacerlo con GCC o con el compilador de TI, aunque siempre lo hice con el de TI ( un GCC modificado no se en que lo modifica a pesar que me lo lei bastante ). En si podes programar para cualquier ARM con GCC, ya que el compilador que se usa es le mismo( el arm-none-eabi-gcc )

Y la unica diferencia que vas a encontrar de los entornos de desarrollo que casi la mayoria es Eclipse + algun plugin o reforma del eclipse para ese fabricante.
Respecto a los micros, La diferencia esta en los módulos que posea. Casi que la cultura general en los ARM es darle modulos que puedan hacer de TODO y no tan simples como los de Microchip. Pero eso te da flexibilidad.

Por otra parte, lo bueno de las micros M3, M4 (M4F = los qe poseen DSP ) son que pueden usar Thumb-2 en la cual pueden mezclar instrucciones de 16 y 32 bits, lo que permite una flexibilidad y aprovechar mejor el espacio. En cambio los M0 son todos de instrucciones Thumb ( 16-bits ). A pesar que esto interese poco con respecto a la programacion en C. Lo bueno de los M0+ es su bajo consumo.

Lo que si es que tienen cierta analogia o son parecidos todos los nucleos y su forma de operar. Por lo que si comenzas con los M4 no hay problema de ir a los M3 o M0+ luego.
« Última modificación: 25 de Abril de 2017, 14:19:38 por KILLERJC »

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #2 en: 25 de Abril de 2017, 14:41:05 »
Pillate alguna Freedom de Freescale (perdón NXP :P). Que viene a ser la Teensy que comentas (vaya robo!). Los IDEs están basados en Eclipse (KDS y CodeWarrior) y los compiladores son GCC, G++, etc.

Saludos!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado Alicia91

  • PIC12
  • **
  • Mensajes: 63
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #3 en: 25 de Abril de 2017, 14:47:12 »
Yo tengo una freedom de cuando era freescale, y también puedes programarla por usb como la discovery además de que te sirve de programadora para otras placas con kinetis creo recordar.

Tambien esta la Nucleo con los STM32 cortex m0.

Un saludo.


Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #4 en: 25 de Abril de 2017, 15:41:17 »
.

Lo que yo tengo por aquí.

Teensy 3.2, Teensy 3.5 y Teensy 3.6 (basados en micros Kinetis MK20, MK64 y MK66)
Discovery con STM32F407 y F429 (iba a comprar una que sacaron con un Cortex-M7, pero ya me lié con otras cosas)
NXP FRDM con Kinetis K64 y K22 (en la caja pone Freescale, supongo que ahora se comercializan con la marca NXP).

Entorno de programación, todos pueden estar basados en Eclipse y compilador GCC. Para ST, Eclipse + AC6 + Cube, para Kinetis MCUXpresso o Kinetis Design Studio + Processor Expert (lo que es el Cube en ST, un generador de código para configurar la periferia y añadir librerías de manera sencilla y asistida), que no dejan de ser Eclipse con un plugin.

Para Teensy en principio te colocan un entorno basado en Arduino, que es malísimo (ahora aparecerá Picuino a contarme las bondades de Arduino, XDDD), pero como los Teensy están basados en Kinetis tambien los puedes trabajar desde Eclipse con MCUXpresso o KDE, aunque les tendrás que soldar unos hilos para sacar SWD para programar y Debug.



« Última modificación: 25 de Abril de 2017, 17:22:51 por planeta9999 »

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #5 en: 25 de Abril de 2017, 15:56:14 »
Voy a hacer de "Trol" hablando en jerga de internet. Después de mi primer proyecto con PIC32MZ personalmente no estoy descontento como para plantearme pasar a M4: tienen una cagada tremenda con el oscilador pero por lo demás van como un tiro y en términos de cantidad de RAM/FLASH salen más económicos que los ARM (al menos los que me planteé antes de empezar el proyecto).

Sólo un "kitkat" ;-).

Saludos!
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #6 en: 25 de Abril de 2017, 17:28:46 »
salen más económicos que los ARM (al menos los que me planteé antes de empezar el proyecto).


Depende de donde compres los ARM, yo me traigo de China los STM32F405 a 3.8USD/unidad para 40 piezas. Mientras que los PIC, los compres donde los compres cuestan lo mismo, incluso en los chinos pueden estar más caros.

Mirando en Microchip Direct, porque yo abandoné los PIC32 hace tiempo, y ni idea de lo que cuestan, no parece que puedas conseguir los PIC32MZ por menos de 7-8 Euros + IVA la unidad (de 8.5 a 9.5€ la unidad), eso bastante más caro de lo que cuesta un ARM de ST.

Y para los Kinetis MK64 y MK66 ya he conseguido un buen proveedor.
« Última modificación: 25 de Abril de 2017, 17:32:06 por planeta9999 »

Desconectado manwenwe

  • Moderadores
  • PIC24H
  • *****
  • Mensajes: 2211
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #7 en: 25 de Abril de 2017, 17:38:31 »
Bueno pero es q no es justo comparar con los q se caen del camión :D
Ojo por ojo y todo el mundo acabará ciego - Mahatma Gandhi -

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #8 en: 25 de Abril de 2017, 17:41:02 »
No es cuestión de precio del micro. Los samples de microchip me salen gratis, pero no quiero comenzar por ahí en los 32 bits.

La idea que tenía es algo parecido a lo que tiene Planeta. Varias placas representativas de lo que hay hoy en día en la gama media (Cortex-M4).

Del Teensy precisamente me interesa su posibilidad de trabajar con Arduino (para mí es un gran valor añadido que tenga disponible ese entorno tan 'malo'  ;-) )
Pero Teensy se sale un poco de lo que deseo pagar. 52€ por su versión 3.6 es demasiado:
https://www.amazon.es/DEV-14058-Teensy-Headers-stock-SparkFun/dp/B01NCOQELS/ref=sr_1_cc_1?s=aps&ie=UTF8&qid=1493152790&sr=1-1-catcorr&keywords=teensy+3.6

Probaré con la Freedom a ver que tal.

Un saludo.

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #9 en: 25 de Abril de 2017, 17:49:01 »
¿Y que tal los ATSAM Cortex-M4 de Microchip?

http://www.microchip.com/ParamChartSearch/chart.aspx?branchID=211

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #10 en: 25 de Abril de 2017, 20:31:26 »
Pero Teensy se sale un poco de lo que deseo pagar. 52€ por su versión 3.6 es demasiado:
https://www.amazon.es/DEV-14058-Teensy-Headers-stock-SparkFun/dp/B01NCOQELS/ref=sr_1_cc_1?s=aps&ie=UTF8&qid=1493152790&sr=1-1-catcorr&keywords=teensy+3.6

Como opción bastante barata, está hacerse uno mismo la plaquita y soldar un MK66 o un MK64 en TQFP, yo estoy usando los MK66 de 144 pines, y con el microscopio y el horno, no hay placa que se me resista, hasta lo más enano sale perfecto.

Hace poco soldé unos acelerómetros LSM9DS1, con encapsulado LGA creo que de 24 patas y todo perfecto, tambien he soldado algunos Kinetis QFN y un HUB de 2 puertos tambien QFN. Microscopio y horno son las mejores inversiones que he hecho en el mundillo electrónico, ya me veo capacitado para diseñar y soldar de casi todo, solo me faltaría por probar los BGA. En pasivos ya uso 0602 sin problemas, y quiero empezar a probar 0402.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #11 en: 25 de Abril de 2017, 20:40:32 »
.

A la lista de chismes ARM que tengo me faltó añadir los programadores.

Para ST tengo el ST-LINK V2, y un puñado de clones que compré a los chinos porque diseñé un producto con STM32F407 que debía de cargar el firmware con el bootloader interno del ST, y en principio no me funcionó. Ya con el producto vendido y los clientes esperando, a la desesperada compré un puñado de programadores clones tipo pendrive para dar uno con cada placa. Más tarde descubrí que el problema es que tenía conectado un módulo WIFI a la UART y en el arranque el bootloader tenía prioridad con dispositivos conectados por puerto serie y pasaba del USB.

Para Kinetis, tengo el U-Multilink, muy caro, no lo recomiendo habiendo soluciones mucho mas baratas (y originales) que van muy bien. También tengo el Jlink EDU de Segger, y un clon del Jlink que compré en Satkit porque estaba tan barato (12€) que no me pude resistir, y como tenía que perdirles otras cosas aproveché y lo metí en el mismo saco.

También tengo unos cuantos libros en papel, que compré en la web de Elektor, y un libro en PDF muy bueno, el "Mastering STM32" de Carmine Noviello.

« Última modificación: 25 de Abril de 2017, 20:45:38 por planeta9999 »

Desconectado elgarbe

  • Moderador Local
  • PIC24H
  • *****
  • Mensajes: 2178
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #12 en: 25 de Abril de 2017, 23:57:11 »
Consejo, no empieces a probar mil placas de marcas diferentes x  q es de no acabar nunca. Elige una marca y sácale todo el jugo antes de ir a probar otra.
Yo tuve nxp, ti y ahora ST. Me quedo con ST toda la vida. Aparte de la discovery tienes la núcleo con el f401 o con el f411. Yo adopte el f411 como micro de cabecera y resuelvo casi todo con ese micro. Algún proyecto muy chico paso a un f030 o f103 pero casos muy puntuales. F030 tienes en tssop de 20 pines. ST tiene free samples también.
El IDE de ST va en Linux si te gusta. Todas las placas traen programador y debugeador integrado y con el mismo podés programar debugear tu placa externa.
A ST no hay con que darle. Un poco chotas las librerías, pero las van actualizando constantemente y no creo que la de otros fabricantes sean mejores.
ST tiene utilidad gráfica para configurar periféricos y te crea el código de inicialización de los mismos, así como del oscilador. Eso te ahorra horas y horas de trabajo.

Saludos
-
Leonardo Garberoglio

Desconectado Picuino

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 5883
    • Picuino
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #13 en: 26 de Abril de 2017, 04:16:59 »
ST con su discovery es una de mis preferidos.
Quería confirmar que el modelo STM32F407G-DISC1 es una buena opción, porque tienen muchos modelos distintos.

En cuanto a Freescale también me atrae mucho porque tengo la impresión (no se si acertada o no) de que se parece a Microchip en que cuidan mucho sus periféricos y en este campo es superior a los demás fabricantes. Por eso quería una Teensy, pero puedo optar por otra.


En cuanto a los programadores, prefiero trabajar con bootloader si puede ser. No viene mal tener un programador, pero si la discovery se puede usar como tal, con eso me sobra.

Un saludo.

Desconectado juaperser1

  • Colaborador
  • DsPIC30
  • *****
  • Mensajes: 2979
Re:Placa de desarrollo para iniciarse en los ARM
« Respuesta #14 en: 26 de Abril de 2017, 05:06:06 »
En mi opinion los mejores perifericos los tienen los kinetis y los que antes eran atmel los atsam, ademas de la mejor documentación, lo malo es que las placas de evaluacion de los atmel (ahora microchip) son muy caras al igual que su programador.
St tiene la ventaja del precio, en mi caso no es suficiente para elegirlos como favoritos.

Es mejor programarlos sin botloader picuino, al menos en el desarrollo del software, asi puedes debuguear perfectamente y te quita muchisimos dolores de cabeza.

Un saludo
Visita mi canal para aprender sobre electrónica y programación:

https://www.youtube.com/channel/UCxOYHcAMLCVEtZEvGgPQ6Vw


 

anything