Autor Tema: Instalando y configurando Eclipse + GCC para Discovery  (Leído 19111 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Instalando y configurando Eclipse + GCC para Discovery
« 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





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.





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:






Arrancar Eclipse:






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






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.






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






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.





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.




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.








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".








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.






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.






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.






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





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







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








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





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






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.





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.






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".





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.






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






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






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.








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.





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.








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






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.






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".






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.






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







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







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.







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.






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".






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






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.





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.







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






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.







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







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.






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.






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






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....





  
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.






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.


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




« Última modificación: 05 de Agosto de 2013, 20:10:59 por planeta9999 »

Desconectado KALLITOS

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1256
Re: Instalando y configurando Eclipse + GCC para Discovery
« Respuesta #1 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.
A un microcontrolador hay que sacarle hasta el ultimo byte....(YO)

Cómo puede ser que un pic24EP512 me quede corto de memoria, señores de MICROCHIP saquen pics con más memoria flash

Más de 45 mil lineas de codigo y aun no termino el equipo, asu mare!!

S34ML08G1TFI200 no necesito mas memoria externa.

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Instalando y configurando Eclipse + GCC para Discovery
« Respuesta #2 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.











Desconectado Argobot

  • PIC10
  • *
  • Mensajes: 2
Re: Instalando y configurando Eclipse + GCC para Discovery
« Respuesta #3 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

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Instalando y configurando Eclipse + GCC para Discovery
« Respuesta #4 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.




 
« Última modificación: 13 de Agosto de 2013, 14:47:17 por planeta9999 »

Desconectado jgpeiro06

  • Colaborador
  • PIC18
  • *****
  • Mensajes: 276
Re: Instalando y configurando Eclipse + GCC para Discovery
« Respuesta #5 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

Desconectado Suky

  • Moderadores
  • DsPIC33
  • *****
  • Mensajes: 6758
Re: Instalando y configurando Eclipse + GCC para Discovery
« Respuesta #6 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  :-)
No contesto mensajes privados, las consultas en el foro

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Instalando y configurando Eclipse + GCC para Discovery
« Respuesta #7 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:






Desconectado Tano

  • PIC12
  • **
  • Mensajes: 96
Re: Instalando y configurando Eclipse + GCC para Discovery
« Respuesta #8 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
No hay nadie mas ignorante que el que no quiere aprender

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Instalando y configurando Eclipse + GCC para Discovery
« Respuesta #9 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.





« Última modificación: 01 de Septiembre de 2013, 01:07:03 por planeta9999 »

Desconectado carlos7890

  • PIC10
  • *
  • Mensajes: 28
Re: Instalando y configurando Eclipse + GCC para Discovery
« Respuesta #10 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

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Instalando y configurando Eclipse + GCC para Discovery
« Respuesta #11 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

« Última modificación: 19 de Noviembre de 2013, 02:34:22 por planeta9999 »

Desconectado carlos7890

  • PIC10
  • *
  • Mensajes: 28
Re: Instalando y configurando Eclipse + GCC para Discovery
« Respuesta #12 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

Desconectado planeta9999

  • Moderadores
  • DsPIC30
  • *****
  • Mensajes: 3520
    • Pinballsp
Re: Instalando y configurando Eclipse + GCC para Discovery
« Respuesta #13 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.




Desconectado pajaro

  • PIC24H
  • ******
  • Mensajes: 1121
Re: Instalando y configurando Eclipse + GCC para Discovery::
« Respuesta #14 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.


« Última modificación: 21 de Noviembre de 2013, 14:49:41 por pajaro »