TODOPIC

Otros Microcontroladores / Dispositivos programables => Microcontroladores ARM => Mensaje iniciado por: planeta9999 en 05 de Agosto de 2013, 17:22:11

Título: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: planeta9999 en 05 de Agosto de 2013, 17:22:11

Acabo de recibir mi pedido a los chinos del kit ARM de Waveshare, aunque ya hace días hice un pedido a Amidata, de una Discovery, Beaglebone black, PIC32 Ehternet Starter kit y varias pantallas LCD que necesitaba. Lo primero que he cogido es la Discovery, y el primer plantemiento es que entorno de desarrollo y compilador usar.


Opciones hay varias, de pago y gratuitas. De las de pago, la más conocida es la de Keil, pero a menos que uno quiera gastarse varios miles de euros o trabajar con una demo que está limitada a 32K de programa, lo ideal será trabajar con producto gratuito, que además no tiene nada que envidiar al de pago.

Como curiosidad, esta es la tarifa de precios, del distribuidor de Keil en España, una soberana BARBARIDAD (para ver los precios en dólares, dividir por 0,77):
1 /1 MDK-Professional.................................................................................. € 7.450,00
2 /1 MDK-Standard...................................................................................... € 3.950,00
3 /1 MDK-ARM-CM....................................................................................... € 2.600,00


Como producto gratuito tenemos Coocox+GCC o Eclipse+GCC.  Decir que Coocox es una MARAVILLA, se instala y funciona practicamente sin configurar nada, desde el minuto cero, es un excelente entorno para ARM. También me decidí a probar Eclipse+GCC porque al ser un entorno más abierto, se puede usar con otros entornos de hardware-software, como JAVA para Android, Raspberry o Beaglebone con C, etc...

En este post voy a detallaros como instalar y configurar Eclipse y GCC, para ARM, sobre Windows, y en concreto para la tarjeta Discovery con el STM32F407VG. La historia ha sido larga, me he tirado como 2 días dándome de cabezazos, porque la información que hay por internet es muy confusa, parcial, contradictoria, obsoleta y a veces erronea. Pero al final lo conseguí, he sudado sangre, pero funciona TODO, Editor, compilador, programador y Debug.


Vamos allá, Programas necesarios (todos GRATUITOS):

1.- Eclipse, como IDE, descargar el paquete "Eclipse IDE for C/C++ Developers", esto es importante porque viene preconfigurado para C/C++.
http://www.eclipse.org/downloads/

2.- GCC, es el compilador de C.
https://launchpad.net/gcc-arm-embedded

3.- ST-Link, programa y drivers, para programar los microcontroladores ARM STM32 de ST.
http://www.st.com/web/en/catalog/tools/PF258168
http://www.st.com/web/en/catalog/tools/PF258167

4.- OpenOCD, sirve para que la tarjeta se comunique con Eclipse para hacer DEBUG
http://www.freddiechopin.info/en/download/category/4-openocd

5.- Make, utilidad para poder automatizar el proceso de compilación y "linkage".
http://gnuwin32.sourceforge.net/downlinks/make-bin-zip.php


Descargar e instalarlos todos.

Sobre OpenOCD, instalarlo en C:\OpenOCD, según se ve en esta imagen.
En cuanto a Make, una vez descargado y descomprimido, solo teneis que coger el archivo Make.exe del directorio BIN y copiarlo al directorio  C:\OpenOCD\bin

(http://imageshack.us/a/img28/2187/iqcm.jpg)



En Windows XP, ir al panel de control, Sistema, Opciones Avanzadas, pulsar sobre el botón "Variables de Entorno". En otras versiones de Windows supongo que habrá algo parecido para definir los PATH del sistema.

(http://imageshack.us/a/img51/5153/9ph4.jpg)



En Variables del Sistema seleccionar PATH y pulsar modificar, al final del campo "Valor de variable", añadir ";C:\openocd\bin", tal como se ven en la imagen:

(http://imageshack.us/a/img706/2926/2mak.jpg)




Arrancar Eclipse:

(http://imageshack.us/a/img13/7083/w9ut.jpg)




Nos saldrá la pantalla Workspace launcher, aqui podemos poner el directorio en el que Eclipse guardará todos nuestros proyectos.

(http://imageshack.us/a/img836/2251/8q4u.jpg)




En Eclipse, vamos a instalar un par de productos que nos harán falta para que funcione el Debug, es posible que uno de ellos ya lo lleve instalado el paquete, pero mejor instalarlo para asegurarnos. En la barra de herramienta de Eclipse seleccionamos  Help > Install New Software.

(http://imageshack.us/a/img692/782/h4n2.jpg)




Nos saldrá la pantalla de instalación, pulsar el opción "Available Software Sites"

(http://imageshack.us/a/img829/636/flu6.jpg)




En esta pantalla, es importante que estén seleccionadas las opciones CDT, de hecho las otras podríamos desmarcarlas, para que la búsqueda sea más rápida. Darle al OK.

(http://imageshack.us/a/img17/4460/6ner.jpg)



Desplegar el campo "Work With", y seleccionar la linea que empieza con CDT, o --All available sites", si escogemos CDT iremos directos al grano y la descarga de la lista de paquetes de software disponibles, será más rápida.

(http://imageshack.us/a/img51/1875/ovkh.jpg)


Una vez se descargue la lista de paquetes disponibles, tenemos que marcar en "CDT Main Features", el paquete "C/C++ development tools", y en "CDT Optional Features" los paquetes "C/C++ GDB Hardware Debugging" y "C99 LR Parser", pulsar Next para seguir, los paquetes se descargarán e instalarán.

(http://imageshack.us/a/img850/899/3bsq.jpg)

(http://imageshack.us/a/img826/4951/c5sc.jpg)




Una vez instalados, podemos ver todos los paquetes y plugins que tenemos instalados, comprobemos que lo anterior se ha descargado e instalado, para ello pulsaremos sobre "What is already installed".

(http://imageshack.us/a/img542/962/gky2.jpg)


(http://imageshack.us/a/img43/2227/t871.jpg)



Para probar la compilación y el Debug, vamos a crear un proyecto y volcar un fuente de ejemplo, algo sencillo, un programita que enciende los LEDs de la Discovery, en secuencia, sobre este programa probaremos la compilación, grabación del chip y Debug. VAmos a la barra de herramientas de Eclipse y pulsamos File > New > C Project.

(http://imageshack.us/a/img839/6567/wncd.jpg)




En la pantalla C Project seleccionamos "Empty project" bajo Makefile Project y "Cross GCC" bajo Toolchains, en Project Name le ponemos el nombre que queramos para nuestro proyecto, yo he puesto PRUEBAS, pulsamos Finish.

(http://imageshack.us/a/img9/2619/qdmu.jpg)




Se ha creado el proyecto PRUEBAS, pero está vacío, ahí podemos añadir nuestro código fuente, ficheros .C, .H, etc, pero en este caso voy a importar un código fuente que ya existe, y que se añadirá al proyecto, es un programa sencillito para encender los leds de la Discovery en secuencia, suficiente para probar la compilación, grabación y Debug.  Seleccionamos la opción IMPORT en el menú File.

(http://imageshack.us/a/img836/8305/jn6l.jpg)




En la pantalla Import, marcamos General > File System, pulsamos Next.

(http://imageshack.us/a/img199/6913/fj2.jpg)



En esta pantalla, pulsamos Browse, para seleccionar el directorio donde tenemos los fuentes que serán importados al proyecto.

(http://imageshack.us/a/img845/2308/jq4p.jpg)





Seleccionamos de nuestro disco duro, el directorio de los fuentes que queremos importar al proyecto

(http://imageshack.us/a/img855/139/epq5.jpg)






Marcamos todos los ficheros que aparecen en las dos ventanas, y pulsamos "Finish".

(http://imageshack.us/a/img818/2249/4sly.jpg)



Los archivos se han añadido al proyecto, ya podemos empezar a configurar y probar.

(http://imageshack.us/a/img196/5917/j37w.jpg)




Como en este caso, además de los fuentes, también están el objeto compilado .BIN y el fichero de símbolos para Debug .ELF, vamos a borrar estos archivos, ya que si intentamos compilar, el compilador parece que comprueba la fecha de fuentes y objeto, y si la fecha de los fuentes es más antigua que la de los objetos, no compila, ya que entiende que no es necesario. Así que borramos los archivos .BIN y .ELF para probar la compilación.

(http://imageshack.us/a/img849/6523/klf9.jpg)



Ahora ya podemos probar a compilar el proyecto, para eso pulsamos el icono "Build All" de la barra de herramientas, es el séptimo icono por la izquierda de la esquina superior izquierda de la barra de herramientas de Eclipse, también es accesible por Project > Build All, o pulsando Ctrl + B. Si todo va bien, vereis como sale la ventana "Building WorkSpace" indicando el proceso, en la ventana de la Consola se indica lo que va compilando y linkando y si el proceso termina sin errores.

(http://imageshack.us/a/img855/4207/8byq.jpg)




Ahora que ya hemos compilado el programa, vamos a programar el chip. Eclipse no integra directamente la programación del chip, algo que si que hace Coocox, pero podemos añadir fácilmente un icono para que llame al programador "STM32-STLINK Utility" de ST, que ya instalamos al principio, para eso desplegaremos el icono de la barra de herramientas de Eclipse, tal como se ve en la imagen, y pulsaremos "External Tools Configurations".

(http://imageshack.us/a/img689/9283/s3nx.jpg)



En esta pantalla salen dos opciones que a vosotros no os saldrán, porque es precisamente lo que tenemos que crear, una para lanzar el programador y la otra para poder configurar el Debug. Ahora vamos a crear el icono para lanzar el programador. Para crear esta opción, pulsar dos veces sobre "Program" o pinchar sobre el primer icono por la izquierda, se creará una nueva linea bajo "Program", podeis llamarla como querais, yo le he puesto "PROGRAMADOR", ese nombre lo podeis poner en el campo "Name".  En esta pantalla hay que poner en el campo "Location", el enlace completo al ejecutable del programador, si habeis instalado el software STM32 STLink Utility, como se indicó al principio, y no habeis tocado la vía de acceso, podeis poner exactamente lo mismo que aparece en esta pantalla, si habeis cambiado la vía de instalación, pulsar "Browse File System", y seleccionar el ejecutable del programador STM32 ST-LINK Utility.exe.

(http://imageshack.us/a/img818/3559/3ekb.jpg)




Ahora pulsaremos sobre la pestaña "Build", y desmarcaremos la opción "Build before Launch".

(http://imageshack.us/a/img443/681/gmjo.jpg)




Pulsamos sobre la pestaña "Common", y marcamos el icono "External Tools", pulsamos Apply y Close para guardar.

(http://imageshack.us/a/img841/4407/ionw.jpg)




Ya estamos en situación de lanzar el programador de ST, desde Eclipse, para poder grabar el chip. Desde la barra de herramientas de Eclipse, deplegamos el icono que aparecen en la imagen, y ya podremos ver la opción que acamos de crear con el nombre "PROGRAMADOR", pulsemos sobre esta opción. Se abrirá y ejecutará el programador de ST para nuestra Discovery. Para micros de otros fabricantes, el proceso es el mismo, pero instalando el software que nos de el fabricante, y poniendo la llamada al programa correspondiente. Ya podemos ver el programador STM32 ST-LINK Utility.

(http://imageshack.us/a/img823/904/62h0.jpg)


(http://imageshack.us/a/img7/1665/pfbt.jpg)



Debemos de tener la tarjeta Discovery conectada al puerto USB, y con los drivers instalados, como ya vimos. Para conectar con la tarjeta pulsaremos el tercer icono por la izquierda, con forma de enchufe negro y amarillo, el software conectará con la tarjeta, si todo va bien, nos indicará en la esquina superior derecha "Device Informatión", el tipo de chip.

(http://imageshack.us/a/img580/4100/r7zf.jpg)



Ahora vamos a seleccionar el fichero .BIN de nuestro programa, para grabarlo en el micro de la tarjeta, el fichero .BIN se generó al compilar el programa. Pulsamos sobre el sexto icono por la izquierda (hoja de papel y lapiz, o eso parece), se abrirá la ventana de la imagen, pulsaremos Browse para seleccionar el fichero .BIN a grabar.

(http://imageshack.us/a/img850/610/xnqj.jpg)

(http://imageshack.us/a/img17/9376/e5sh.jpg)




El software empieza a grabar el fichero .BIN en el micro de nuestra tarjeta Discovery.

(http://imageshack.us/a/img802/9775/fhns.jpg)




Desde este software, podemos también, leer, borrar y verificar, pulsando sobre los iconos y menús correspondientes. En la siguiente imagen, borrando el chip, pulsando sobre el quinto icono por la izquierda.

(http://imageshack.us/a/img23/1244/q7b7.jpg)




Ahora vamos a configurar el OPENOCD, este software es parte del sistema necesario para realizar DEBUG. Desplegamos de nuevo el icono Run, y pulsamos sobre "External Tools Configurations".

(http://imageshack.us/a/img809/158/j1h9.jpg)




Tenemos que crear una nueva opción, pulsando sobre "Program" dos veces o sobre el primer icono por la izquierda, se añadirá una nueva linea bajo "Program", yo la he llamado OPEN OCD como se puede ver en la imagen, ese nombre se puede cambiar en el campo "Name".

En esta pantalla tenemos que poner la llamada al programa openocd.exe, si lo hemos instalado como dije en pasos anteriores, ese programa estará en C:\openocd\bin\openocd.exe", y esa es la vía que hay que poner en el campo "Locatión", tal como se muestra en esta imagen, también podeis localizarlo pulsando sobre la opción "Browse File System", poner también "C:\openocd\bin" en el campo Working directory.

Finalmente teneis que escribir en la ventana Arguments lo siguiente, "-f board/stm32f4discovery.cfg", esto para la tarjeta Discovery, pero en el directorio "board" de OpenOCd tenemos 142 archivos para otras tantas tarjetas y chips distintos.

(http://imageshack.us/a/img838/1310/rlsc.jpg)




Pulsamos sobre la pestaña "Build" y desmarcamos "Build before launch".

(http://imageshack.us/a/img10/3706/9zd9.jpg)





Pulsamsos sobre la pestaña "Common" y marcamos la opción "External Tools". Pulsamos Apply y Close para guardar.

(http://imageshack.us/a/img829/9004/rj9u.jpg)





Vamos a probar el OpenOCD, para eso desde la barra de opciones de Eclipse, desplegamos el Icono Run y nos aparecerá la opción que acabamos de crear, "OPENOCD", pulsamos sobre esta nueva opción.

(http://imageshack.us/a/img818/1446/5llm.jpg)





En la ventana de la Consola, que normalmente está situada en la parte baja de Eclipse, veremos el siguiente mensaje, que nos indica que OPENOCD está funcionando.

(http://imageshack.us/a/img580/6479/l4xd.jpg)




Ahora vamos a crear el segundo proceso, necesario para poder hacer Debug, se trata del proceso GDB, de estos procesos hay que crear uno para cada proyecto, en el que indicaremos el programa a Debugear (fichero .ELF), y la vía de acceso para ejecutar el servidor GDB. Desde la barra de menues de Eclipse, desplegaremos el icono con forma de cucaracha verde, y selecionaremos "Debug Configurations".

(http://imageshack.us/a/img33/2776/qfxa.jpg)




Sobre esta pantalla, posicionaremos el puntero del ratón sobre "GDB Hardware Debugging" y pulsaremos dos veces, se creará una nueva linea debajo.

(http://imageshack.us/a/img809/4941/agmx.jpg)




A esta configuración yo la he llamado DEBUG, como se puede ver en la imagen, podeis poner el nombre en el campo Name. Aquí tenemos que poner la vía de acceso completa al fichero .ELF de nuestro proyecto, podemos buscarlo pulsando sobre el botón "Browse". Los ficheros .ELF contienen los símbolos necesarios para hacer el Debug. En el campo Project, pondremos el nombre de nuestro proyecto, podemos seleccionarlo pulsando sobre el botón "Browse" de Project.

(http://imageshack.us/a/img16/5674/sq82.jpg)



Pulsamos sobre la pestaña "Debugger", aquí hay que poner en el campo "GDB Command" el nombre del programa ejecutable del servidor GDB, este programa lo instala el compilador GCC que ya hemos instalado anteriormente, si no habeis cambiado el directorio de instalación, coincidirá con el que aparece en esta imagen, de lo controlario podeis localizarlo pulsando sobre el botón Browse, el nombre del ejecutable es "arm-none-eabi-gdb.exe". Además en el campo "Port Number" teneis que poner 3333, este dato es muy importante, si poneis otro número, el Debug NO funcionará, lo digo por experiencia después de estar horas probando y probando sin que me funcionase.

(http://imageshack.us/a/img138/8852/qek7.jpg)





Pasamos a la pestaña Startup, aqui hay que poner "monitor reset halt" en la ventana que se ve en la imagen.

(http://imageshack.us/a/img835/3410/gdtn.jpg)




Pasamos a la pestaña Common y marcamos el icono Debug, pulsamos Apply y a continuación pulsamos sobre la opción "Select Other" que aparece a la izquierda del botón Apply.

(http://imageshack.us/a/img94/8696/gim8.jpg)





Se abrirá una nueva ventana, pulsamos "Change Worskspace Settings".

(http://imageshack.us/a/img560/8227/mxok.jpg)





Seleccionamos GDB Hardware Debugging y Debug en la ventana de la izquierda, y en la ventana de la derecha marcamos "Standard GDB Hardware Debug", pulsamos OK, también OK en la siguiente pantalla, y finalmente Apply y CLose en la última pantalla.

(http://imageshack.us/a/img96/1656/y8gh.jpg)




Ya tenemos totalmente configurado el DEBUG, es hora de probarlo. Para ejecutar un Debug, son necesarios dos procesos, el primero es OPENOCD y el segundo es GDB, ambos ya los hemos configurado y creado para poder lanzarlos con comodidad desde la barra de herramientas de Eclipse. Antes ya configuramos y probamos el OPENOCD, si lo habeis cerrado o habeis cancelado el proceso OPENOCD que abrimos anteriormente, tendremos que lanzarlo de nuevo, estos serán siempre los pasos a realizar para lanzar el Debug, primero ejecutar el OPENOCD y luego lanzar el GDB, ambas opciones ya las tenemos configuradas, solo hay que ejecutarlas desde la barra de herramientas de Eclipse. Asi que lancemos primero el OPENOCD.

(http://imageshack.us/a/img819/996/g8bj.jpg)




Comprobemos que en la ventana de la consola sale este mensaje, que nos indica que OpenOCD se está ejecutando:

(http://imageshack.us/a/img580/6479/l4xd.jpg)




Ahora toca lanzar el GDB, para ello seleccionaremos la entrada DEBUG que creamos anteriormente. Si funciona, entraremos en modo Debug, Eclipse cambiará la pantalla al modo Debug, donde tendremos todas las opciones típicas para hacer Degug, marcar BreakPoint, avanzar paso a paso, ver variables, etc....

(http://imageshack.us/a/img17/5392/b79b.jpg)



  
Si todo ha ido bien, veremos una pantalla similar a esta, en la esquina superior derecha veremos el botón Degug activado, y a su izquierda el botón C/C++ que podemos pulsar para pasar al modo de trabajo, aunque eso no significará que se pare el Debug. Para parar el Debug hay que pulsar sobre el icono cuadrado rojo que aparece en la parte superior de la pantalla, según se ve en esta imagen. Ahora estamos en modo Degug, podremos hacer todas las tareas tradicionales de una sesión de Debug, es un entorno muy cómodo, me recuerda bastante a Visual Studio, por ejemplo para ver el estado de una variable, basta con poner el puntero del ratón sobre esa variable.

(http://imageshack.us/a/img62/8393/uz9i.jpg)




Y con esto y un bizcocho, se acabó, ha sido una tarea MUY COMPLEJA, por más que he buscado por Google, no hay nada claro y detallado (como lo que yo he redactado), casi todo es confuso, parcial, contradictorio, no funciona o da errores no documentados, con versiones antiguas de Eclipse, algunos procedimientos que he localizado en Google precisan parte de programas comerciales como Atollic, o emplean otros entornos para el compilador como Cygwin.  Paquetes como Yagarto o el de Olimex instalan una version del compilador antigua, que no reconoce los ARM Cortex M4, una pesadilla.

Otro día, instalación y configuración de Coocox, aunque ese será MUY FACIL, es el más recomendable si SOLO quereis trabajar sobre microcontroladores ARM en C. Para los que tenemos intención de trabajar, además, con otros entornos de Hardware-Software, por ejemplo JAVA para Android, C para Raspberry o Beaglebone, Eclipse es la mejor opción, aunque resulte tan extramadamente farragosa su instalación y configuración.


 :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/ :-/




Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: KALLITOS en 05 de Agosto de 2013, 17:55:35
Hola planeta9999, tengo la discovery F4 hace rato guardada, por cuestión de tiempo aun no le he metido el diente espero hacerlo ya pronto.

La información que acabas de describir está muy pero muy buena y detallada.

Muchas gracias por tu aporte  ((:-)) ((:-)) ((:-)) ((:-)) ((:-)) ((:-)).

saludos.
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: planeta9999 en 06 de Agosto de 2013, 09:08:05
Hola planeta9999, tengo la discovery F4 hace rato guardada, por cuestión de tiempo aun no le he metido el diente espero hacerlo ya pronto.

La información que acabas de describir está muy pero muy buena y detallada.

Muchas gracias por tu aporte  ((:-)) ((:-)) ((:-)) ((:-)) ((:-)) ((:-)).

saludos.



Sería interesante que nos metieramos más gente a trabajar con los ARM, a mi me parece una familia de micros fantástica, con prestaciones muy superiores a los PIC, y muy baratos. Lamentablemente este subforo sobre ARM, está bastante muertecico, la gente sigue prefiriendo los PIC, yo llevo ya unos cuantos años programando PIC32, pero hay diseños para los que se me quedarían cortos, para eso pensé en tocar los CPLD y las FPGA, pero son productos bastante complejos, tal vez la alternativa sean los micros ARM, el Raspberry, la Beaglebone, la Cubieboard ...

Tengo por ahí aparcado un proyecto, desde hace tiempo, para controlar un panel TFT de 15 pulgadas, por LVDS, cree el diseño con PIC32, pero dudo que tenga potencia suficiente para gestionar el tráfico de datos que precisa el panel a una velocidad suficiente para que la imagen sea estable, estoy pensando en retormar el proyecto usando un ARM STM32F407, siendo el doble de rápido que un PIC32, creo que podría funcionar.

Hay una particularidad de los STM32 que me ha gustado mucho, llevan integrado de fábrica un Bootloader, eso tengo que probarlo. Revisando información de los STM32, me encuentro que la familia STM32F41xx integra un motor de encriptación/desencriptación por hardware, esto es lo que yo andaba buscando hace mucho tiempo, en los PIC32 lo tengo implementado por software con XTEA, pero que venga integrado en el hardware es mucho más seguro, usan el algoritmo AES, el problema es que no hay ningún kit de desarrollo para los STM32F41xx.

¿ has probado el STMStudio de ST ?, es genial, sirve para hacer Debug, mostrando el valor de las variables sobre gráficas, que se actualizan en tiempo real, ayer estuve cacharreando un poco con esto, y me pareció muy interesante.


(http://www.stm32.eu/sites/default/files/artykuly/STM_Studio_program_narzedziowy_wspomagajacy_uruchamianie_aplikacji/rys1.jpg)







Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: Argobot en 13 de Agosto de 2013, 14:21:35
Muy interesante. Yo tengo una lpcxpresso y un Mbed. Son muy potentes. Si saco tiempo intentare hacer alguna cosa con FreeRTOS que esta portado para ambos, me parece  muy útil para sistemas de tiempo real. Por otra parte Beaglebone, si corre Android tambien me parece muy interesante para otro tipo de proyectos, aunque habra  que ver como dar soporte a perifericos tipo GPS, pantallas tactiles, etc.

un saludo
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: planeta9999 en 13 de Agosto de 2013, 14:41:27
Muy interesante. Yo tengo una lpcxpresso y un Mbed. Son muy potentes. Si saco tiempo intentare hacer alguna cosa con FreeRTOS que esta portado para ambos, me parece  muy útil para sistemas de tiempo real. Por otra parte Beaglebone, si corre Android tambien me parece muy interesante para otro tipo de proyectos, aunque habra  que ver como dar soporte a perifericos tipo GPS, pantallas tactiles, etc.

un saludo


Lo del FreeRTOS me tiene intrigado, porque llevo bastante tiempo oyendo hablar de esto, entiendo que es un sistema operativo para sistemas embebidos, pero por otra parte me parece que va en contra de una de las ventajas de usar un microcontrolador, que es precisamente evitar la carga que supone un sistema operativo, para obtener mayor o igual rendimiento que el que conseguirías con un ordenador mucho más potente, pero que tiene que tirar de un sistema operativo.

La Beaglebone Black, también la tengo, la compré hace poco, y me parece fantástica, solo tiene una pega, que la GPU no integra decodificación de video, por lo que si precisas reproducir videos, la decodificación se tiene que hacer por software, y eso da un rendimiento muy pobre, y por descontado que no sirve para ver videos de alta definición, mientras que Raspeberry, si lo integra en su GPU. La Beaglebone tiene como ventaja sobre Raspeberry, que tiene muchos más puertos en su puerto de expansión, 65 puertos frente a los 16 que creo que tiene Raspberry. A las dos placas, les quiero hincar el diente, en cuanto termine con el STM32. Beaglebone puede rodar Linux y Android, viene precargada en flash con Linux.

Sobre el acceso a dispositivos desde la Beaglebone, no es tan complicado, se podrían reutilizar librerías de Arduino, solo hay que configurar los puertos, o echar mano de fuentes hechos para Raspberry, también es probable que ya exista una buena comunidad de Beaglebone, con desarrollos libres disponibles.




 
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: jgpeiro06 en 28 de Agosto de 2013, 14:47:11
Hola planeta9999,

hace un par de semanas probé a programar los STM32F4 desde Eclipse, ya que tenia algunos problemas con el keil en C++ y quería probar esta alternativa. He tenido buenos resultados con el Eclipse, puedo visualizar variables que el Keil no me mostraba, pero tengo otros problemas, como que no puedo simular (solo depurar) y otro mas grande: Cuando depuro, no puedo resetear el micro ni hacer un "move PC to".
¿Sabes como hacer esto o con que comandos indicarselo al OpenOCD?


PD: Sobre FreeRTOS, te da muchas ventajas. Evidentemente hay un incremento de carga de CPU y de ROM, pero son despreciables para un uC de 32 bits. Hace unos años hice un pequeño proyecto para comprender yo mismo las ventajas/desventajas de los RTOS que colgué aquí: http://www.todopic.com.ar/foros/index.php?topic=25318.0
Un saludo
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: Suky en 28 de Agosto de 2013, 15:29:44
PD: Sobre FreeRTOS, te da muchas ventajas. Evidentemente hay un incremento de carga de CPU y de ROM, pero son despreciables para un uC de 32 bits. Hace unos años hice un pequeño proyecto para comprender yo mismo las ventajas/desventajas de los RTOS que colgué aquí: http://www.todopic.com.ar/foros/index.php?topic=25318.0
Un saludo

Otro recomendable es chibiOS. Me gusta como te abstrae del hardware y ya tenes funcionando lwip y fatfs  :-)
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: planeta9999 en 28 de Agosto de 2013, 16:49:46
Hola planeta9999,

hace un par de semanas probé a programar los STM32F4 desde Eclipse, ya que tenia algunos problemas con el keil en C++ y quería probar esta alternativa. He tenido buenos resultados con el Eclipse, puedo visualizar variables que el Keil no me mostraba, pero tengo otros problemas, como que no puedo simular (solo depurar) y otro mas grande: Cuando depuro, no puedo resetear el micro ni hacer un "move PC to".
¿Sabes como hacer esto o con que comandos indicarselo al OpenOCD?



La simulación no la he utilizado nunca, pero con ningún entorno de programación de micros, yo suelo trabajar con PIC32, y como mucho uso el Debug.
Sobre el Debug de Eclipse no te puedo ayudar mucho, solo monté todo el tinglado este, y la parte del Debug solo la vi superficialmente, para ver que funcionaba, puse unos breakpoints y miré algunas variables, no lo he vuelto a tocar, ya me metí a programar para manejar la pantalla TFT y luego ya me puse con otros tema de PIC32.

No se a que te refieres con lo de "move PC to", ¿ quieres cambiar el Program Counter para forzar que el programa salte a una linea concreta del programa ?, yo en PIC32 si que he visto el PC y se que se puede tocar, pero nunca he tenido la necesidad de hacerlo.

En el Debug de Eclipse, lo que veo es que entrando a Registers, tienes el PC (Program Counter) y lo puedes cambiar con botón derecho del ratón, Change value:


(http://img692.imageshack.us/img692/2428/kq9c.jpg)


Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: Tano en 31 de Agosto de 2013, 22:22:07
Hola muy interesante el post y felicitaciones por el exelente trabajo.

Yo recién estoy empezando con esto de los arm y tengo una cubieboard que me dio un amigo que la compro y no sabia de que se trataba, por un lado es bastante complicado para empesar pero bueno veremos que sale.

Pregunta...... se pueden implementar los mismos programas y métodos para la cubie??? agradesco cualquier consejo.

Abrazo

Edu
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: planeta9999 en 01 de Septiembre de 2013, 00:54:27
Hola muy interesante el post y felicitaciones por el exelente trabajo.

Gracias.   :-) :-)


Citar
Yo recién estoy empezando con esto de los arm y tengo una cubieboard que me dio un amigo que la compro y no sabia de que se trataba, por un lado es bastante complicado para empesar pero bueno veremos que sale.

Pregunta...... se pueden implementar los mismos programas y métodos para la cubie??? agradesco cualquier consejo.

Abrazo

Edu


La Cubieboard, es muy similar a Beaglebone o Raspberry, supongo que podrás utilizar Eclipse y C++ para compilar proyectos, todos estos micro ordenadores funcionan con procesadores ARM.

Yo tengo las mencionadas Raspberry, Beaglebone y también un uHost que usa el mismo procesador que la Cubieboard (un Allwiner A10), y en cuanto pueda quiero montar cosas, hay mucha gente que las programa en Python, pero yo sigo prefiriendo el C++ como lenguaje de programación, puedes ir a cualquier plataforma que siempre tendrás un compilador de C o C++, y con más o menos esfuerzo puedes portar mucho código y librerias.

En cuanto a la Cubi, tendrás que descargarte Eclipse para Linux, y desde la propia Cubi puedes bajarte el compilador, no es complicado.


En la parte de Eclipse, a la hora de crear un proyecto, tienes que definir los directorios donde están almacenadas las librerías y todos los archivos que quieras cargar con includes, para que el compilador los encuentre y los pueda compilar y linkar. Accedes a las propiedades del proyecto pulsando Alt+Intro y en Paths and Symbols añades los directorios.


(http://img822.imageshack.us/img822/6199/eu18.jpg)


Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: carlos7890 en 18 de Noviembre de 2013, 23:23:39
Hola Planet9999:
Te felicito y agradezco tu trabajo, el cual es el más claro y didáctico que he visto en Internet.
Pero tengo un inconveniente,  empezaron a salir errores al  tratar de compilar, situación que no se presentaba antes de configurar el Openodc como herramienta  de debug. 
Luego de incorporar las direcciones  en Paths and Symbols de los diferentes archivos con error , me queda el siguiente  error :
fatal error: core_cm4.h: No such file or directory   stm32f4xx.h
Y no puedo eliminarlo.
Se adjunta unas capturas de pantalla, para ser más claro en la explicación, agradecería cualquier ayuda.
Muchos saludos
Carlos
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: planeta9999 en 18 de Noviembre de 2013, 23:56:26
Hola Planet9999:
Te felicito y agradezco tu trabajo, el cual es el más claro y didáctico que he visto en Internet.
Pero tengo un inconveniente,  empezaron a salir errores al  tratar de compilar, situación que no se presentaba antes de configurar el Openodc como herramienta  de debug.  
Luego de incorporar las direcciones  en Paths and Symbols de los diferentes archivos con error , me queda el siguiente  error :
fatal error: core_cm4.h: No such file or directory   stm32f4xx.h
Y no puedo eliminarlo.
Se adjunta unas capturas de pantalla, para ser más claro en la explicación, agradecería cualquier ayuda.
Muchos saludos
Carlos


Hola Carlos:

Las capturas de pantalla que pones son muy borrosas, no se lee nada.
De todas formas te falta añadir el directorio donde está ese archivo, en Paths and Symbols > Includes > GNU C, para que el compilador lo encuentre.

Lo normal es que el path para ese archivo core_cm4.h sea /area_de_trabajo/Libraries/CMSIS/Include , donde "area_de_trabajo" lo reemplazas por el tuyo. Comprueba también que el archivo está ahí realmente.

Todos los errores del tipo "No such file or directory ", suelen ser porque no se ha definido el directorio donde el compilador debe de buscar los archivos que metemos con includes en los fuentes, o el archivo no está o lo hemos escrito mal.


Saludos

Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: carlos7890 en 19 de Noviembre de 2013, 17:58:29
Hola Planet9999:
En mi proyecto el archivo core_cm4.h se encuentra en el directorio CMSIS ( no tiene un subdirectorio /include).
Mi problema es que el error se presenta en la siguiente línea :
#include "core_cm4.h"             /* Cortex-M4 processor and core peripherals */
que se encuentra en el header: stm32f4xx.h   
y no veo la forma que el compilador encuentre el path.
Muchos saludos
Carlos
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: planeta9999 en 19 de Noviembre de 2013, 18:30:43


Pon la segunda captura de pantalla más grande, que se pueda leer, de 800 pixels de ancho y cuélgala.
Y despliega el arbol de directorios que se vea bien donde está el archivo.



Título: Re: Instalando y configurando Eclipse + GCC para Discovery::
Publicado por: pajaro en 21 de Noviembre de 2013, 14:46:24
Hola compañero

Estoy intentado prepararme un entorno sobre linux,
para programar en principio ARM con el IDE Eclipse.

 
instale gcc

sudo apt-get install gcc

luego mire version

gcc -v : era 4.7

luego baje eclipse en comprimido:


La vesion que yo tengo es kepler pra C/C++ , venia comprimida en tar.gz
la descomprimi en /home/ miuser

hice la parte de "avaliable software"

- available software site: seleciona CDT
- work with: seciono CDT
- paquetes disponibles:
   -- "CDT Main Features":
          "C/C++ development tools"
   -- "CDT Optional Features" :
          "C/C++ GDB Hardware Debugging"
          "C99 LR Parser"

Despues en instalado me muestra:

C/C++ Development tool SDK
C/C++ GDB Hardware DEbugging
C99 LR Parse
Eclipse IDE for C/C++ DEvelopers


probar la compilación y el Debug:

no tengo ningun codigo de prueba asi que
eso no puedo probarlo ...

una vez que tenias el proyecto nuevo creado podias haber puesto
un ejemplo de encender un led no debe de ser dificil a modo ejemplo.

seguimos por otro lado

de la seccion de instalacion (varios puntos):

punto 2:
 creo que deberia de instalar gcc para arm
 pero cual es?... ahi esta el problema.
permite instalar mas de un modulo de gcc por ejemplo ARM, AVR, ...

punto 3:
estos drives son para windows...!
para linux , hacen falta o los detecta solo?

punto 4:
OpenOCD
lo estoy revisando en varios foros

Punto 5:
Make y linkage
Desconozco si es para el openOCD o es para el compilador
Si es para el Compilador,  
Deberia de hacerlo el compilador o en su defecto los comandos del IDE
en la secion de creacion de archivos de salida.



no llego a enterder algunos puntos y pediria en la medida de las
posibilidades que algun compañero del foro
me aclare algunas cosillas de la sección de instalación.

Por otro lado aclaro que el Eclipse lo probe con los ejemplo s de hola mundo
tanto en proyectos c como c++ y si que genera las salidad de ejecutales.

De momemto me quede atascado en varios tramos
pero el manual esta muy bien, en especial me quede con lo de la creación
de iconos para llamar a plicaciones.



Un cordial Saludo y mis Felicitaciones al hilo.


Título: Re: Instalando y configurando Eclipse + GCC para Discovery::
Publicado por: planeta9999 en 21 de Noviembre de 2013, 21:22:01
punto 2:
 creo que deberia de instalar gcc para arm
 pero cual es?... ahi esta el problema.

¿ Que problema ?, el enlace es directo al compilador GCC para ARM.


Citar
permite instalar mas de un modulo de gcc por ejemplo ARM, AVR, ...

Eclipse es un IDE, puedes configurarle los compiladores que quieras, cualquier compilador que se pueda ejecutar desde una linea de comandos se puede configurar en Eclipse, QT y similares.


Citar
punto 3:
estos drives son para windows...!
para linux , hacen falta o los detecta solo?

Busca en la página de ST, algo debe de haber para linux.


Citar
Punto 5:
Make y linkage
Desconozco si es para el openOCD o es para el compilador
Si es para el Compilador,  
Deberia de hacerlo el compilador o en su defecto los comandos del IDE
en la secion de creacion de archivos de salida.

Make enlaza todos los objetos, y crea el ejecutable.
El compilador, como su propio nombre indica, compila, creando los objetos a partir de los fuentes, ahora falta enlazar todos los objetos y librerias para crear el ejecutable (tarea del enlazador, en este caso el programa make.exe), ahí además interviene un linker script o similar, que le dice al enlazador, en que dirección de memoria colocar el ejectutable, de cuanta ram dispone, tamaño de la flash, etc...



Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: pajaro en 22 de Noviembre de 2013, 09:09:26
hola planeta9999


cuando dices enlace directo,.. yo tenia otra interpretación de enlace directo:  :D

El ppa: a mi no me funciona por lo visto mi versión de linux no lo soporta,
o el programa no es compatible con mi versión,
veremos si por el otro metodo lo soporta.


https://launchpad.net/gcc-arm-embedded --> External downloads -->


enlace paqina de descargas (versiones S.O. ):

https://launchpad.net/gcc-arm-embedded/+download


Enlace directo descarga version de linux ("directo"):

https://launchpad.net/gcc-arm-embedded/4.7/4.7-2013-q3-update/+download/gcc-arm-none-eabi-4_7-2013q3-20130916-linux.tar.bz2


Para configurar Eclipse con otros compiladores me lo tengo que mirar, con mas calma
este tema me interesa, lo quiero mirar más en profundidad.
Eclipse tiene muchas opciones y conocer todas o la mayoria require de ponerse muy a fondo.


el punto del make:
yo cree un proyecto en c y otro en c++ con el entono eclipse
fui a la carpeta del bin y si ahi estaban los ejecutables
supuse que si lo compilo y no tenia errores y creo el ejecutable
supuse que tenia linkador o enlazador.

por lo que dices el compilador cros gcc no dispone de lincador,
y por eso tenemos que bajarlo y adjuntarlo
¿Es por eso verdad?


Un saludo.




Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: PCCM en 29 de Noviembre de 2013, 19:59:42
Muy buena tu dedicación. ((:-))
Seria bueno si abrieras un tema sobre programar el micro.
También estoy aprendiendo a programar ese micro.
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: elgarbe en 29 de Marzo de 2015, 20:41:46
Tengo un problema, en este punto:

"Una vez se descargue la lista de paquetes disponibles, tenemos que marcar en "CDT Main Features", el paquete "C/C++ development tools", y en "CDT Optional Features" los paquetes "C/C++ GDB Hardware Debugging" y "C99 LR Parser", pulsar Next para seguir, los paquetes se descargarán e instalarán."

no me aparece "C/C++ GDB Hardware Debugging" en la lista. Yo veo que vos tenes como direccion /release/juno en mi caso me aparece /release/8.5 u 8.6 y en esas release parece que no esta el GDB, puede ser? estoy trabado en ese paso...

EDITO: Si agrego la direccion que vos usas, ahí si me aparece el GDB. Sigo con esa direccion y despues de última, estimo que será actualizar. no?

EDITO2: Eclipse solito encontro una actualizacion del GDB y ya la tomó para instalar:

https://www.dropbox.com/s/w2byforysdxw2qg/Captura%20de%20pantalla%202015-03-29%2020.53.26.png?dl=0


Saludos!
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: planeta9999 en 29 de Marzo de 2015, 21:16:25


No te recomiendo que sigas estas instrucciones, salvo en el punto que trata de la llamada al programador desde Eclipse, el resto está obsoleto desde la aparición del plugin de AC6 para Eclipse.

Si instalas el plugin de AC6, se instala y configura TODO automáticamente (compilador, enlazador y Debug).
http://www.todopic.com.ar/foros/index.php?topic=44245.0


(http://i1121.photobucket.com/albums/l518/xmen4001/ScreenHunter_013_zpssutt1sej.jpg)
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: elgarbe en 29 de Marzo de 2015, 21:58:01
ufffff, en algun lugar de otro post tuyo vi que decia que para el debug hay que seguir estos pasos... http://www.todopic.com.ar/foros/index.php?topic=44245.msg366515#msg366515 :

"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, y no es diferente para el caso."

antes de configurar la llamada al programador creo que tengo que revisar algo antes porque me sale esto al hacer debug:

https://www.dropbox.com/s/axsfwvaioqytuob/Captura%20de%20pantalla%202015-03-29%2021.52.58.png?dl=0

y en la pantalla de configuracion de debug tengo:

https://www.dropbox.com/s/scl9zihh4p19mri/Captura%20de%20pantalla%202015-03-29%2021.57.11.png?dl=0

como que no se creó el script de configuracion.
En que paso pude haberle errado?

Saludos!
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: planeta9999 en 29 de Marzo de 2015, 23:01:27
ufffff, en algun lugar de otro post tuyo vi que decia que para el debug hay que seguir estos pasos... http://www.todopic.com.ar/foros/index.php?topic=44245.msg366515#msg366515 :

"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, y no es diferente para el caso."


Eso es porque todavía no había probado el Debug con el plugin de AC6. Si lees más adelante verás que una vez instalado el plugin, el Debug también está operativo, y es mucho más sencillo, sin necesidad de configurar nada, le das a botón derecho del ratón sobre el proyecto, y ahí tienes la opción para hacer Debug, al pulsarla te genera automáticamente la sesión de Debug en la barra de herramientas, luego ya puedes usar ese icono.


Citar
antes de configurar la llamada al programador creo que tengo que revisar algo antes porque me sale esto al hacer debug:
https://www.dropbox.com/s/axsfwvaioqytuob/Captura%20de%20pantalla%202015-03-29%2021.52.58.png?dl=0
y en la pantalla de configuracion de debug tengo:
https://www.dropbox.com/s/scl9zihh4p19mri/Captura%20de%20pantalla%202015-03-29%2021.57.11.png?dl=0
como que no se creó el script de configuracion.
En que paso pude haberle errado?
Saludos!

No veo las imágenes, solo pone "el archivo se está subiendo". O son enormes, o coincide que todavías las estás subiendo.

Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: elgarbe en 29 de Marzo de 2015, 23:07:29
sigamos en el otro post mejor:

http://www.todopic.com.ar/foros/index.php?topic=44245.20

sds.
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: cristian_elect en 30 de Marzo de 2015, 11:37:22
Cuando yo empecé a usar los cortex M3 (2008) no había tanta facilidad en los ide gratuitos y  usaba keil, Iar a veces el rowley crossworks por la información que encontraba.
En ese tiempo los ARM7 DMI era lo mas comun.
Y los  que eran gratis eran bastante complicado configurarlos sobre todo el startup.
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: planeta9999 en 30 de Marzo de 2015, 15:49:00


Afortunadamente las cosas han cambiado para bien, yo empecé con los ARM STM32 en 2013, y por aquel entonces solo estaba Eclipse configurado a mano, como documenté en este post, algo bastante laborioso, aunque por lo menos se podia trabajar con un entorno gratuito y legal.

Yo creo que los de ST, por fin, se han dado cuenta de la importancia de facilitar herramientas de trabajo gratuitas, si quieren que la competencia no les coma el terreno. Microchip con los PIC32MZ les ha puesto nerviosos, pienso, por eso se han decantado por Eclipse y en breve sacarán los STM32F7. Mejor, cuanta más competencia haya entre empresas, más nos beneficiaremos los usuarios.
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: elgarbe en 30 de Marzo de 2015, 19:52:18
Microchip con los PIC32MZ les ha puesto nerviosos

sin animo de polemizar, te parece que los pic32mz pueden poner nervioso a cualquier fabricante de ARM? si ST se ha puesto las pilas es gracias a NXP, TI, Freescale, etc. no creo que siquiera se hayan dadocuenta que existe un pic32mz.... pero es solo una opinion.

Saludos!
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: planeta9999 en 30 de Marzo de 2015, 20:33:09
Microchip con los PIC32MZ les ha puesto nerviosos

sin animo de polemizar, te parece que los pic32mz pueden poner nervioso a cualquier fabricante de ARM? si ST se ha puesto las pilas es gracias a NXP, TI, Freescale, etc. no creo que siquiera se hayan dadocuenta que existe un pic32mz.... pero es solo una opinion.

Saludos!


A lo mejor no, pero ha coincidido en el tiempo, lo que resulta curioso. Microchip saca los PIC32MZ y Harmony, ST libera el plugin de AC6 para Eclipse, saca STM32CubeMx y poco después su plugin para Eclipse, ahora están al caer los STM32F7.

Yo también tengo la sensación de que Microchip y ST no juegan en la misma liga, pero como dijo Groucho Marx "Qué casual que casualmente pasan tantas casualidades."

Sea como sea, eso da igual, se están preocupando por facilitar herramientas de trabajo gratuitas, si a eso le añades lo baratas que son las tarjetas de evaluación, a mi me han covencido, y eso que llevo años con los PIC32, y soy muy reacio a cambiar cuando ya me he acostumbrado a algo. Lo mismo me pasa con Eagle y Altium, después de hacer una comparativa real sobre el mismo diseño.
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: cristian_elect en 30 de Marzo de 2015, 22:38:12
Las funciones de STM32 para configurar el micro consume buena cantidad de flash, yo lo veo así porque uso los cortex m0 de los chiquitos de 20 pines así que lo estoy haciendo de la manera más convencional definiendo punteros de memoria de los puertos y demás módulos asi me ahorro flash y el programa se ve más simple.
Paso de 2.3KB a 512B en la configuración de inicio.  Pero si estas apurado el st cube te ayuda bastante.
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: elgarbe en 30 de Marzo de 2015, 23:15:22
Eso me temía! No soy muy fanático de usar los generadores de código. De hecho nxp creo que no tiene. Antes venia un cmsis wizard que permitía configuración básica de inicio si usabas cmsis. Otra cosa que veo es que un proyecto se con cube mx pesa 25mb en la Pc. Ovbio que eso no va al micro, pero parece haber mucho código inútil.
Puede ser que st y las cube usen cmsis?

Sds
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: planeta9999 en 30 de Marzo de 2015, 23:28:31


Si configuras en Eclipse el compilador para que optimice el tamaño del objeto al mínimo (-Os), todas las funciones, definiciones, cabeceras, etc... que no se usen de las librerías, no deberían de formar parte del objeto, y su tamaño se reduce bastante. Es importante seleccionar el nivel correcto de optimización, se puede optimizar para conseguir un objeto más rápido (-O1, -O2, -O3) o más pequeño (-Os), según interese.

Para hacer Debug, creo que al igual que con los PIC32, no conviene optimizar, aunque todavía no lo he probado, pero con PIC32 te vuelves loco si tratas de debugear un objeto optimizado, muchas variables no se ven, y el programa hace cosas raras.

Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: adriana09 en 12 de Abril de 2015, 13:04:34
Hola, muchas gracias por el tutorial.

Me ha dado bases para iniciarme en este tema ya que soy total principiante en esto y nunca había trabajado con esta clase de tarjetas. Actualmente estoy iniciando con una STM32F4 especificamente STM32F401VCT6U con el Eclipse Luna y estoy tratando de instalarlo y configurarlo en Windows 8, lastimosamente no he tenido éxito. Por eso por favor solicito amablemente me den alguna ayuda si alguien trabaja en condiciones similares, he intentado muchos tutoriales y nada, también traté de instalarlo en Windows 7 y nada. En serio agradecería cualquier tip.

Muchas gracias por la atención!!

Saludos
Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: planeta9999 en 12 de Abril de 2015, 13:42:34


Pero si no detallas el problema, no lo podemos adivinar.
Yo en W8 no lo tengo probado, pero en WXP y W7 funciona perfectamente.

Además te recomiendo que hagas la instalación con el PLugin System Workbench STM32 AC6 y el de STM32CubeMx, es mucho mejor, instalación rápida y sin complicaciones.  http://www.todopic.com.ar/foros/index.php?topic=44245.0


(http://static.ow.ly/photos/normal/7sEt6.jpg)

Título: Re: Instalando y configurando Eclipse + GCC para Discovery
Publicado por: adriana09 en 20 de Abril de 2015, 05:01:46
Hola.
Estuve haciendo algunas pruebas con una F3 y salieron bien, por tanto asumo que la instalacion de las herramientas de desarrollo esta bien. Sin embargo la F4 no me funciona aún. Haciendo el test del Hello ARM World, salen los errores mostrados en imag2 e imag3. La configuración del debugger es la indicada en imag1. Y finalmente en la consola sale la siguiente información:

GNU ARM Eclipse 32-bit Open On-Chip Debugger 0.8.0-00002-g21154a1 (2015-03-24-22:52)
Licensed under GNU GPL v2
For bug reports, read
   http://openocd.sourceforge.net/doc/doxygen/bugs.html
srst_only separate srst_nogate srst_open_drain connect_deassert_srst
Started by GNU ARM Eclipse
Info : This adapter doesn't support configurable speed
Info : STLINK v2 JTAG v23 API v2 SWIM v0 VID 0x0483 PID 0x3748
Info : using stlink api v2
Info : Target voltage: 2.886772
Info : stm32f4x.cpu: hardware has 6 breakpoints, 4 watchpoints
Info : accepting 'gdb' connection from 3333
Info : device id = 0x00006423
Info : flash size = 256kbytes
undefined debug reason 7 - target needs reset
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080002c4 msp: 0x20010000
semihosting is enabled
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080002c4 msp: 0x20010000, semihosting
Info : Padding image section 0 with 3 bytes
target state: halted
target halted due to breakpoint, current mode: Thread
xPSR: 0x61000000 pc: 0x20000042 msp: 0x20010000, semihosting
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080002c4 msp: 0x20010000, semihosting
target state: halted
target halted due to debug-request, current mode: Thread
xPSR: 0x01000000 pc: 0x080002c4 msp: 0x20010000, semihosting

Le agradezco su atención y cualquier indicación que puedan darme.

Saludos