TODOPIC
Otros Microcontroladores / Dispositivos programables => Microcontroladores ARM => Mensaje iniciado por: planeta9999 en 20 de Marzo de 2015, 14:00:33
-
.
A raiz del post de Snaut (http://www.todopic.com.ar/foros/index.php?topic=44241.0) sobre la noticia de este plugin gratuito para Eclipse, que permite automatizar toda la configuración de un proyecto C/C++ para micros STM32, he estado haciendo algunas pruebas, todavía muy superficiales, pero con unos resultados muy atractivos.
Hasta ahora el uso de Eclipse como IDE para los ARM STM32 y otros, tenía el inconveniente de tener que configurarlo todo a mano, como documenté hace un par de años en este
POST (http://www.todopic.com.ar/foros/index.php?topic=41267.0), una tarea bastante incómoda que me hizo decantarme finalmente por otro IDE, en concreto por Em::blocks (http://www.todopic.com.ar/foros/index.php?topic=44131.0), pero con la liberación del Plugin ST AC6 las cosas cambian por completo.
Para consultar sobre cualquier cosa de este Plugin se ha creado esta Wiki http://www.openstm32.org/tiki-listpages.php
Instrucciones para instalar el Plugin en Eclipse --> http://www.emcu.it/AC6/HowToInstallSTM32Workbench.pdf
Para instalar en Plugin en Eclipse, hay que ir a Help > Install new software.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_012_zpsulkxlbt0.jpg)
Tecleamos la dirección de la imagen y seleccionamos los útiles necesarios, dentro de cada uno hay versiones para Windows y para Linux, marcar SOLO los de nuestro sistema operativo, en mi caso Windows. Este Plugin lo instala TODO, compilador GCC, enlazador, Debug con OpenOCD y GDB, es decir solo hay que partir de una versión limpia de Eclipse para C/C++.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_013_zpsseht2myu.jpg)
Una vez instalado el PLugin si le damos a la opción "What is already installed?", podemos ver todos los paquetes instalados, practicamente todos forman parte del plugin AC6, salvo el paquete base de Eclipse C/C++ y el plugin que he instalado para poder hacer zoom al texto, es decir que el PLugin se encarga de instalar compilador GCC, enlazador, GDB y OpenOCD para el Debug.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_013_zpssutt1sej.jpg)
Una vez instalado el PLugin, al darle a la opción para crear un proyecto, nos aparece un nuevo tipo de proyecto, "Ac6 STM32 MCU GCC" y su correspondiente Toolchain, seleccionamos la opción dándole nombre al nuevo proyecto:
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_001_zps9bkj8cvx.jpg)
En la siguiente pantalla, podemos seleccionar el tipo de placa de evaluación, filtrando por tipo:
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_002_zpsz40wcjnr.jpg)
También podemos crear placas personalizadas, seleccionando al detalle el microcontrolador a usar.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_014_zpszwl3wwwx.jpg)
Siguiente pantalla, y aquí el Plugin permite cosas que no ofrece Em::blocks, que son la adición automática de ciertas librerías StdPerih o Cube HAL, y dentro de cada una podremos seleccionar librerías adicionales para USB Device, host, OTG, FATFS, TPCIP y otras:
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_004_zpseakhedk9.jpg)
Aquí las librerías Cube Hal, con opciones adicionales para USB, Audio, TCPIP, RTOS, JPEG, etc...
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_007_zpsbyrzux54.jpg)
El proyecto recién creado, con su main, librerías, linker script, fichero assembler .S, tenemos las CMSIS y otras que podamos haber seleccionado.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_008_zpszl840mdb.jpg)
Una cosa que no me gustaba de Eclipse, es que no tiene ZOOM al texto, estoy acostumbrado al zoom usando la rueda del ratón con IDES como Geany o Em::blocks, y aunque Eclipse no lo incorpora se pueden añadir plugins, buscando he instalado este de la imagen, que aunque no lo habilita para la rueda del ratón, si que añade un par de botones a la barra de herramientas para agrandar o reducir el tamaño del texto. En la imagen anterior ya salen esos dos botones en la barra de herramientas, porque ya había instalado el plugin.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_009_zpsbuy86dbg.jpg)
Una vez creado el proyecto, podemos comprobar como TODO ha quedado configurado automáticamente, pulsando en Project > Properties. Aquí la configuración de la llamada al compilador GCC con todos sus parámetros.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_001_zps8pl9mezr.jpg)
La definición de los PATH de búsqueda para los includes.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_002_zpsahl67ik7.jpg)
El nivel de optimización de la compilación, que podremos cambiar a nuestro gusto para optimizar el tamaño del objeto o su rendimiento.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_003_zpsax1qtrtk.jpg)
Configuración de llamada al Enlazador.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_004_zpspykgfvfb.jpg)
Configuración de la llamada al compilador para archivos en assembler
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_005_zpscq6d5ew6.jpg)
Definición de todos los directorios del proyecto.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_006_zps2wt4m2kx.jpg)
Compilando el proyecto base que genera el Plugin, sin problemas.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_007_zps9a9m7xam.jpg)
Creando una sesión de Debug, solo hay que pulsar con el botón derecho del ratón sobre el proyecto y seleccionar Debug As
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_008_zps5xwdw3j5.jpg)
Se crea una sesión de Debug, que lanza GDB y OpenOCD.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_009_zpsol2rxda8.jpg)
Se puede comprobar como se ha creado automáticamente la sesión de Debug en el menú de la barra de tareas, para poderlo llamar en cuanto haga falta. Pulsando sobre Debug Configuratión se puede ver la parametrización de la sesión, que antes teniamos que hacer a mano, para desespero del personal.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_010_zpsqbmrz65z.jpg)
Aquí la parametrización de la sesión de Debug, todo creado automáticamente por el Plugin ST AC6. Solo me falta por probar el Debug físicamente con las placas Discovery que tengo, pero todo apunta a que este Plugin funciona de fábula, todo queda configurado automáticamente.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_011_zpskvpz6ijj.jpg)
-
Da gusto ver una explicación así. Si algún día me meto con ARM empezaré por aquí. Gracias
-
Podrías comentar en un par de líneas las ventajas y desventajas de Eclipse con este plugin y em:block?
leía que estabas muy conforme con em:block y ahora comentas que prefieres volver a eclipse, imagino que lo unico malo que tenia es no tener los wizard para crear proyectos para STM, hay algo mas que incline la balanza para un lado u otro?
Saludos!
-
Buena guía ((:-))
-
Podrías comentar en un par de líneas las ventajas y desventajas de Eclipse con este plugin y em:block?
leía que estabas muy conforme con em:block y ahora comentas que prefieres volver a eclipse, imagino que lo unico malo que tenia es no tener los wizard para crear proyectos para STM, hay algo mas que incline la balanza para un lado u otro?
Saludos!
Con este Plugin, Eclipse se pone a la altura de otras soluciones como Em::blocks, Code::blocks o Coocox, pero con algunas ventajas adicionales.
Este Plugin está respaldado por la propia ST, mientras que Em::blocks es el trabajo de un particular a partir de Code::blocks, el plugin está o estará disponible para Windows, Linux y Mac.
Eclipse es un IDE más universal que Code::blocks y derivados, con actualizaciones más frecuentes y con un montón de plugins adicionales para añadir prestaciones.
Los drivers HAL guardan relación con el generador gráfico de código STM32Cube de ST, estoy convencido de que pronto veremos una actualización de STM32Cube que genere código fuente para Eclipse + AC6, y eso dotaría el conjunto de una potencia que no vas a tener con Em::blocks.
Como he comentado, este Plugin permite seleccionar que librerías adicionales queremos incorporar al proyecto, tanto derivadas de StdPeriph como de HAL, tenemos USB device, USB host, USB OTG, FATFS, TPCIP, Audio, FreeRTOS, LibJPEG y alguna más.
Además la selección del hardware a partir de placas de evaluación o de placas personalizadas con el micro a elegir está muy bien.
Lo único que en principio podría tener de ventajoso Em::blocks es su sistema de Scripts basado en lenguaje Squirrel, pero también para eso Eclipse cuenta con soluciones, con entornos adicionales de Scripts como EASE, y supongo que habrán muchos más.
Básicamente me decanto en principio por Eclipse + plugin AC6, porque está respaldado por la propia ST, y porque creo que pronto veremos una versión de STM32Cube con generación de código fuente para Eclipse. Puede incluso que ese plugin de STM32Cube para Eclipse ya exista, lo tengo que probar: http://www.st.com/web/en/catalog/tools/PF257931
Lo que parece claro es que ST ha optado por Eclipse como IDE para un entorno de desarrollo gratuito, y eso puede aportar muchas ventajas en un futuro próximo.
PD: acabo de probar el plugin de STM32Cube para Eclipse, y si bien se integra con Eclipse, e incluso permite seleccionar generación de código para el System Workbench, el resultado no se puede usar directamente, hay que importarlo a mano, así que habrá que esperar que ST libere una versión de STM32Cube que genere un proyecto que se pueda abrir como un proyecto compatible con el plugin de AC6. No creo que tarden mucho en liberar la nueva versión, después de haber dado un respaldo oficial al uso de Eclipse.
-
.
He dicho que no se podía usar o importar a Eclipse los proyectos que genera STM32Cube, pero la verdad es que afortunadamente SI que se puede, lo que es una gran noticia, porque tenemos un entorno de desarrollo completo, gratuito, y que integra un generador gráfico de código fuente. STM32Cube, para los que están con los PIC, es como Harmony, configurar y generar código fuente a partir de un entorno gráfico, en el que se define el oscilador y periféricos a usar, y el generador se encarga de crear todo el código fuente en C, nos va a ahorrar mucho trabajo.
Lo primero es descargar e instalar el Plugin de STM32Cube para Eclipse, de este enlace
http://www.st.com/web/en/catalog/tools/PF257931# (http://www.st.com/web/en/catalog/tools/PF257931#)
Y ahora toca instalarlo, abrimos Eclipse, y seleccionamos Help > Install New Software
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_002_zpscppfitwv.jpg)
Pulsamos Add > Archive y seleccionamos el ZIP que hemos descargado de ST, no hace falta descomprimirlo, se pincha directamente el fichero ZIP
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_003_zpsnoegorez.jpg)
Seleccionamos y aplicamos el archivo pulsando Next y de nuevo Next
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_006_zpslb1nutbi.jpg)
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_008_zpstts7bbu0.jpg)
Ya está instalado STM32Cube en Eclipse, vamos a usarlo para crear un proyecto. Pulsamos Window >Open Perspective > Other
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_001_zpshef72tuu.jpg)
En esta ventana que nos aparece, seleccionamos STM32CubeMX
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_002_zpswoukxxqd.jpg)
Y esta es la pantalla del generador de código STM32Cube, pero integrada dentro de Eclipse. Pulsamos New Project para crear un nuevo proyecto.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_003_zpsk8iqd5aj.jpg)
Aquí podemos seleccionar por Placa o por Procesador. En este caso selecciono por micro, un STM32F407, que es el que instala la Discovery.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_004_zps2p4lvanw.jpg)
Si optamos por la pestaña para seleccionar por Placa, veremos esto, con varios filtros para buscar nuestra placa, en esta imagen una Discovery F429.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_012_zpsh3orasaf.jpg)
Y bueno aquí podemos selecionar todos los periféricos que vayamos a usar, USART, CAN, I2C, SPI, FAT, USB, Ethernet, Timers, etc... más el oscilador, watchdog, etc...
Podemos pinchar directamente sobre los pines del gráfico del chip, para seleccionar su función, y muchas más cosas que aún me quedan por ver, por ahora he visto muy superficialmente STM32Cube.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_011_zps80utwxhj.jpg)
Aquí podemos configurar el oscilador de manera gráfica, tipo de oscilador, frecuencia, PLL, multiplicadores, divisores.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_007_zpsvenabcc8.jpg)
Más configuraciones de los periféricos
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_008_zpscii8qwna.jpg)
Aquí se configura el proyecto a generar, en la pestaña Toolchain IDE seleccionaremos SW4STM32 para que se genere un proyecto System Workbench que luego podremos importar a Eclipse, los otros formatos son para herramientas de pago.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_009_zpsnw53zwfy.jpg)
Seleccionamos Project > Generate Code, para generar el código fuente.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_011_zpsugchcyg9.jpg)
El código fuente se ha generado, ahora hay que importarlo a Eclipse.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_019_zpsysx6ne3g.jpg)
Pinchamos sobre el icono C/C++ que hay en la esquina superior derecha, para pasar al entorno de desarrollo de Eclipse.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_022_zps3ipwvdi1.jpg)
Seleccionamos File > Import
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_023_zpspddzresm.jpg)
Seleccionamos General > Existing projects into Workspace y pulsamos Next
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_024_zps9j9eks4p.jpg)
Seleccionamos el directorio donde STM32Cube generó el proyecto.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_025_zpsug633kya.jpg)
Nos aparece el proyecto disponible, lo marcamos y pulsamos Finish
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_026_zpsdqbpihqg.jpg)
Y aquí tenemos el proyecto completo, generado con STM32Cube, hay un main, tenemos el linker script, el fichero assembler .S, y las librerías de los periféricos que hemos seleccionado configurados conforme a lo que marcamos en el generador, también por alguno de los fuentes aparece la configuración ya lista del oscilador
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_027_zpsmqz000n7.jpg)
Ahora toca compilar y probar. Lanzamos la compilación con el icono "Build All"
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_028_zpsebb2mo64.jpg)
El proyecto se compiló sin problemas. Ahora ya es cuestión de meter nuestro código en el main, crear nuestras funciones, etc... El Debug se puede utilizar muy fácilmente como he indicado antes. Faltaría añadir la llamada al programador, eso lo documente hace tiempo en la configuración manual de Eclipse en este POST (http://www.todopic.com.ar/foros/index.php?topic=41267.0), y no es diferente para el caso.
(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_029_zpstl886z67.jpg)
Bueno, pues creo que usar Eclipse ahora con los STM32 de ST, SI que merece la pena, todo está automatizado, e incluso podemos usar el generador de código fuente STM32Cube, una virguería para ahorrar mucho tiempo a la hora de configurar el oscilador y los periféricos. Todavía tengo que profundizar mucho con STM32Cube porque apenas lo conozco, pero promete y mucho.
Esperemos que en la próxima versión de STM32Cube, la generación del proyecto se integre directamente en Eclipse, sin necesitar hacer uso de la importación, aunque es un mal menor, tal cual está ya se puede usar perfectamente para crear proyectos de manera muy sencilla.
Este es el ENLACE a STM32Cube (http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1533/PF259242?sc=stm32cube) en la web de ST, para estar atentos a las actualizaciones del plugin para Eclipse y a todas las novedades que nos faciliten el trabajo con este generador gráfico de código fuente. Y con las ventajas que aporta ahora el uso de Eclipse, creo que Em::blocks y otros se quedan a la altura de la suela de la zapatilla, y ya no vale la pena usarlos, lo mismo para Code::blocks o Coocox.
Otro tema interesante a mirar, es el lenguaje de Scripts que se puede añadir a Eclipse para personalizar más aún el producto, creo que hay unos cuantos lenguajes Script que se pueden integrar con Eclipse, por ejemplo EASE (https://eclipse.org/ease/), será cuestión de probarlos.
:-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :z) :afro: :g) :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/
-
Muy, pero muy interesante.
Pudiste investigar o probar como se comportan las librerías de st, el hal y demás para un proyecto propio, sin usaruna placa de evaluación? Las de nxp, lpcopen, tienen sus vueltas para crear un proyecto propio sin placa de evaluación...
Sds
-
No lo he probado todavía con la placa, solo he estado mirando el software, tanto Eclipse como los dos plugins. De todas formas no creo que haya diferencia de usarlo con un tarjeta Discovery a usarlo con una placa propia. Los próximos días quiero empezar las pruebas con las dos placas Discovery que tengo con F407 y F429, si todo va bien seguire mi proyecto de bootloader encriptado con Eclipse, STM32Cube y el plugin AC6 en vez de con Em::blocks.
También quiero probar cosas básicas, como encender leds, leer pulsadores, gestionar USB Device para emular un teclado o un ratón, leer y escribir tarjetas SD con FAT32, I2C con un expansor de puertos, CAN bus entre STM32 y PIC32, control de la pantalla TFT que lleva la Discovery F429.
En cuanto empiece a dominar el tema, quiero abrir un hilo para ir colgando programas modelo, a modo de plantillas, y por último meterme con el gestor de Scripts, a ver si consigo crear un sistema de almacenamiento de plantillas como tiene Em::blocks.
Se me olvidaba, también quiero probar el Debug, no creo que haya ningún problema, porque usa igualmente GDB y OpenOCD, lo mismo que configuré hace tiempo a mano, pero con estos plugins se configura todo automáticamente, una gozada, porque hacerlo a mano lleva un rato.
-
Lo que mas me interesa es el soporte para linux, ya que muchos otros fabricantes dice ofrecer apoyo a linux o mac, y solo es un soporte a medias, como microchip o atmel. A ver si se van dando cuenta de que linux es una herramienta mas eficiente para los que desarrollamos, sobre todo para los que trabajamos con microprocesadores y microcontroladores.
a ver si es verdad y ofrece una herramienta completa para linux, entonces ST sera una alternativa muy interesante para mi.
-
No lo he probado todavía con la placa, solo he estado mirando el software, tanto Eclipse como los dos plugins. De todas formas no creo que haya diferencia de usarlo con un tarjeta Discovery a usarlo con una placa propia. Los próximos días quiero empezar las pruebas con las dos placas Discovery que tengo con F407 y F429, si todo va bien seguire mi proyecto de bootloader encriptado con Eclipse, STM32Cube y el plugin AC6 en vez de con Em::blocks.
También quiero probar cosas básicas, como encender leds, leer pulsadores, gestionar USB Device para emular un teclado o un ratón, leer y escribir tarjetas SD con FAT32, I2C con un expansor de puertos, CAN bus entre STM32 y PIC32, control de la pantalla TFT que lleva la Discovery F429.
En cuanto empiece a dominar el tema, quiero abrir un hilo para ir colgando programas modelo, a modo de plantillas, y por último meterme con el gestor de Scripts, a ver si consigo crear un sistema de almacenamiento de plantillas como tiene Em::blocks.
Se me olvidaba, también quiero probar el Debug, no creo que haya ningún problema, porque usa igualmente GDB y OpenOCD, lo mismo que configuré hace tiempo a mano, pero con estos plugins se configura todo automáticamente, una gozada, porque hacerlo a mano lleva un rato.
Atento y muy interesado en el tema!
Viene en camino una NUCLEO-F411RE para hacer pruebas, seguramente estaré probando en ecplise como recomiendas acá. Por cierto, las NUCLEO son mas nuevas o mas viejas que las Discovery?
Sds.
-
las nucleo no son ni mas nuevas ni mas viejas son diferentes, aunque yo te recomiendo que utilices las discovery, las nucleo estan mas pensadas para usar como arduinos con el sistema de abstraccion que tiene ST, el cual puedes programar a traves de tu navegador.
-
http://www.futureelectronics.com/en/technologies/development-tools/microcontroller-microprocessor/32-bit-eval-board/Pages/1035719-STM32F429I-DISCO.aspx?IM=0
USD 24???????????????????? no valen nada!!!!!
-
La Discovery con el F429 la compré yo hace poco, es una maravilla, con pantalla TFT táctil de 2.4 pulgadas, programador STLink V2 integrado, y el resto igual que la F407 pero con un procesador más potente y con 2 Megas de flash. Es una de las cosas buenas que tiene ST, sus placas de evaluación son BARATISIMAS, con unos precios de risa, yo creo que las venden al coste para captar clientes. Si Microchip sacara algo parecido con PIC32, no bajaría de los 100-150 Euros/Dólares, por eso entre otras cosas me gustan los ARM STM32, son muy baratos, muy potentes, y con un entorno de desarrollo totalmente gratuito.
Cuando compré la Discovery F407, por 12 euros (unos 13 dólares), me pareció tan barata, que me compré dos, ahora podré utilizarlas para probar comunicaciones CAN bus o I2C. Solo nos faltaba que ST diera de una vez respaldo a los entornos de desarrollo gratuitos, y por fin ya lo está haciendo decantándose por Eclipse, esperemos que a partir de ahora de más fuentes de ejemplo, librerías para Eclipse, potencie el uso de STM32Cube, y deje de marearnos con Keil, no soporto Keil, lo odio, te obligan a gastar 4000 dólares mínimo o a ser un pirata, y no me gusta ninguna de las 2 opciones.
Ganas tengo de que liberen el nuevo STM32F7, para volver a marcar diferencias con los PIC32MZ de Microchip, y disponer de un producto muy potente y barato, supongo y espero que sacarán una Discovery para el F7, y espero que sea tan barata como las otras.
-
Recopilando documentación de trabajo:
Manual de STM32Cube en pdf (165 páginas) (http://www.st.com/st-web-ui/static/active/en/resource/technical/document/user_manual/DM00104712.pdf)
Histórico mejoras por release de STM32Cube (http://www.st.com/st-web-ui/static/active/en/resource/technical/document/release_note/DM00107607.pdf)
-
Ya ha salido la nueva actualización del STM32CubeMX para crear proyectos para el plugin de eclipse ((:-)) ((:-))
http://www.st.com/web/catalog/tools/FM147/CL1794/SC961/SS1533/PF259242?sc=stm32cube
-
La versión del plugin de STM32Cube para Eclipse sigue siendo la misma, la 4.7.0.
¿ De donde has sacado otra más reciente ?.
-
Hola planeta9999. Me he colado :oops: Había visto en el foro de AC6 que la gente tenía una versión del CubeMx para generar los proyectos para el plugin de Eclipse y como yo no lo tenía actualizado pensaba que era nuevo, pero ahora que repaso tus posts veo que ya lo habías dicho tú. Un saludo.
-
este es el Eclipse que hay que instalar?
eclipse-cpp-luna-SR2-win32.zip
o este:
eclipse-cpp-kepler-SR2-win32.zip
saludos!
-
Hola elgarbe. Yo no lo sé seguro ya que con eclipse hasta ahora no había hecho nada y apenas lo conozco, pero des de la web de ac6 te puedes bajar un pack que te viene el eclipse con todas las configuracions y plugins para programar los micros de ST.
http://www.openstm32.org/Downloading+the+System+Workbench+for+STM32+installer
-
Hola elgarbe. Yo no lo sé seguro ya que con eclipse hasta ahora no había hecho nada y apenas lo conozco, pero des de la web de ac6 te puedes bajar un pack que te viene el eclipse con todas las configuracions y plugins para programar los micros de ST.
http://www.openstm32.org/Downloading+the+System+Workbench+for+STM32+installer
ah, ok, estaba bajando ese installer tambien y como pesaba 244mb (eclipse pesa 144) pense que lo incluia pero no estaba seguro. Dejo descargando ese installer solo entonces.
Gracias!
-
Tienes que bajarte siempre la versión "Eclipse IDE for C/C++ Developers", del apartado Downloads de Eclipse.
https://www.eclipse.org/downloads/
Tienes Eclipse para Windows, Linux y Mac, versiones de 32 y 64 bit. Te bajará la última versión, que actualmente es LUNA, Kepler es más antigua. Mejor que te descargues siempre Eclipse de la web oficial, y luego le apliques los plugins que quieras, así siempre tendrás Eclipse a la última versión.
El plugin para integrar STM32CubeMx, lo tienes en la web de ST.
http://www.st.com/web/en/catalog/tools/PF257931
Y el plugin AC6, lo puedes instalar desde Eclipse siguiendo las intrucciones que di al principio de este post, o en este PDF:
http://www.emcu.it/AC6/HowToInstallSTM32Workbench.pdf
-
Ok, entiendo.
Ya tengo instalado el eclipse, pero desde el OpenSTM32. O sea que ya viene integrado el plugin AC6. Acabo de hacer un chek for update y encontro actualizaciones de varias herramientas así que las acepté.
Como vengo de LPCXpresso, el cual es un ide construido sobre Ecplise, que al instalarlo ya tenemos todo lo necesario para los LPC, la verdad que me disgusta mucho instalar las cosas por separado y configurar todo. Si instalando todo desde el IDE de ST, OpenSTM, las cosas no funcionan bien, pues es una porquería!
Otra consulta, yo ya habia bajado e instalado el STM32Cube MX, un ejecutable que permite tener el MX independiente de ecplise. Ahora estoy bajando el plugin para eclipse, para tenerlo integrado. Puedo usar directamente este plugin y desinstalar el MX que trabaja de forma independiente, verdad?
Saludos!
-
Ok, entiendo.
Ya tengo instalado el eclipse, pero desde el OpenSTM32. O sea que ya viene integrado el plugin AC6. Acabo de hacer un chek for update y encontro actualizaciones de varias herramientas así que las acepté.
Como vengo de LPCXpresso, el cual es un ide construido sobre Ecplise, que al instalarlo ya tenemos todo lo necesario para los LPC, la verdad que me disgusta mucho instalar las cosas por separado y configurar todo. Si instalando todo desde el IDE de ST, OpenSTM, las cosas no funcionan bien, pues es una porquería!
Supongo que siempre podrás actualizar Eclipse desde el propio Eclipse, una vez instalado ese paquete, no se si conservando todos los plugins instalados, espero que si.
Otra consulta, yo ya habia bajado e instalado el STM32Cube MX, un ejecutable que permite tener el MX independiente de ecplise. Ahora estoy bajando el plugin para eclipse, para tenerlo integrado. Puedo usar directamente este plugin y desinstalar el MX que trabaja de forma independiente, verdad?
Saludos!
Claro, el plugin es el mismo STM32CubeMx pero integrado en Eclipse, todo lo demás es idéntico.
-
Si tuviese que elegir un micro por el ide elijo nxp sin dudarlo. Ide gratuito hasta 256kb. Instalas un paquete y ya tenés todo funcionando.
Lo que si veo es que stm tiene librerías de alto nivel bien organizadas. Fatfs, freertos y el cube mx es espectacular
Ahora voy a tratar de hacer un programa simple en la núcleo, para ver que tan fácil es. Algo que me gusta de nxp es que para programas simples podemos prescindir de las funciones tipo gpiosetdir o gpiosetpin y esas cosas.
Hay alguna fuente de ejemplos para st? En nxp, siempre hay un conjunto de proyectos con funcionalidades básicas, como usar el systick, uart, gpio, adc, timer, etc. Incluso especifico para placas particulares de evaluación. Me gustaría encontrar lo mismo para mi núcleo 411.
Saludos!
-
Ese es el punto debil de ST, la falta de un buen conjunto de proyectos modelo de ejemplo, y lo poco que publicaban siempre para Keil. A ver si ahora que se han abierto a entornos gratuitos con Eclipse, empiezan a publicar librerías y proyectos modelo compatibles.
Mientras puedes echar mano de páginas personales, que aportan mucho en ese aspecto, como esta, ahí tienes de todo, solo tienes que añadir en tu main la llamada a las funciones necesarias. http://stm32f4-discovery.com/2014/05/all-stm32f429-libraries-at-one-place/
Si utilizas el STM32Cubemx, si que te crea un main con llamadas a cada función, documentadas con comentarios.
-
Agrego algunos comentarios.
Yo he instalado directamente OpenSTM, el cual te instala eclipse y el AC6.
Al finalizar busque actualizaciones y acepté las que me sugirió
Luego hice como comentas, abri el MX cree un proyecto nuevo, genré el código y luego lo importe en eclipse.
El problema es que al importarlo le agrega " Configuration" al nombre del proyecto y sin querer, caí en este post:
http://www.openstm32.org/tiki-view_forum_thread.php?forumId=7&comments_threshold=0&comments_parentId=172&comments_offset=20&comments_per_page=20&thread_style=commentStyle_plain
donde hay una gran explicacion de como proceder y que complementa lo que ha puesto planeta acá.
Finalmente, estoy siguiendo estos pasos: http://www.openstm32.org/Importing+a+STCubeMX+generated+project
para generar e importar un proyecto hecho en MX.
Este caso no suprimer lo de planeta, este agregado es para que todo funcione instalando directamente el OpenSTM. De este modo, parece que se instala y configura absolutamente todo, incluso el debug.
Saludos!
-
Despues de seguir los pasos que figuran en el enlace anterior y renegar un poco bastante he conseguido que funcione el debug.
Pero debo decir que para mí no esta 100% integrado el Cube MX en eclipse. Eso de cambiar el nombre del proyecto y tener que generar la sesion de debug (aunque sea mínimo lo que hay que configurar).... pero bueno, falta poco para que quede funcionando a la perfeccion.
Cuando este bien seguro de como hacer para que todo funcione sobre ruedas comentaré.
Sds.
PD: Las imagenes del otro post se están subiendo...
-
Gracias a este hilo (gracias planeta y elgarbe) he logrado configurar Eclipse+AC6+CubeMX, y ya tengo los cuatro leds de la discovery STM32f4 parpadeando...
Me falta explorar el tema del debuger.
Gracias compañeros
-
Openstm32 o system workbench. Ya viene el instalador que te instala eclipse + el ac6 todo integrado.
Luego agregas el plugin del cubemx
Saludos!
-
He seguido el procedimiento que dictaba planeta: primero el eclipse C/C++ y luego añadir software para el Workbench.
Algunos avances de esta tarde siguiendo estos excelentes tutoriales he conseguido crear un terminal USB CDC:
https://www.dropbox.com/sh/yg4iy7h6xmca7lk/AACCDJvbyj_UsCm5lU887N0ya/V1.0?dl=0