Tabla de Contenidos
Eclipse: crear un proyecto a partir de 'Firmware-Examples'
Variables Globales del IDE
Para simplificar el trabajo con proyectos, deben agregarse las siguientes variables globales al Eclipse que permitirán tener los principales paths almacenados en dichas variables. Algunos paths ya se han agregado en la variable de entorno PATH, con lo cual este paso en alguna de estas variables podría ser innecesario pero clarifica la configuración. Esto se hace desde el menú 'Windows⇒Preferences' tal como se muestra a continuación, donde se crearon las siguientes variables:
- arm_none_eabi_gdb_path: Path al debugger GNU-ARM
- CIAA_Firmware_path: Path a la carpeta del repositorio local
- openocd_cfg_path: Path al archivo de configuración usado en OpenOCD para la CIAA
- openocd_path: Path la herramienta OpenOCD usada para debug
Nuevo proyecto a partir de 'makefile con código'
Para crear un proyecto partiendo de los ejemplos que se incluyen dentro del Firmware (directorio 'examples'), típicamente se va a crear un workspace nuevo que podría colocarse dentro de 'C:\CIAA\Eclipse'.
En este workspace se creará el primer proyecto, a partir del menú 'File⇒New⇒Makefile Project with Existing code', dado que tenemos nuestro código y también nuestro Makefile, y no necesitamos utilizar uno generado por Eclipse.
Luego, debe elegirse el proyecto deseado dentro de la carpeta 'examples', dejando las opciones por defecto (toolchain 'none' dado que esto lo configura nuestro Makefile)
Para que el Makefile del proyecto sepa que proyecto compilar, debemos incorporar una variable de entorno que nos indique el path al mismo. Seleccionando en el workspace nuestro proyecto, y a continuación del menú 'Project⇒Properties', agregamos la variable 'PROJECT_PATH' tal como sigue:
Nota: originalmente el nombre de la variable era PROJECT, por claridad ha sido renombrado a PROJECT_PATH, pero aun no se ha actualizado esta captura de pantalla :)
Configuración del Makefile
Dado que el Proyecto CIAA tiene su propio Makefile, hay que indicarle al IDE cómo manejarse con él, puesto que no queremos que genere un Makefile automáticamente. Principalmente se le indica por línea de comando al 'make' que cambie de directorio de trabajo al utilizado para el repositorio, y además qué comando es necesario para hacer un 'clean' o un 'Build' incremental. Particularmente, se utiliza 'clean_generate' para borrar los archivos objeto y luego volver a generar los archivos fuentes del RTOS-OSEK. En caso de trabajar sin RTOS-OSEK, sólo hace falta usar el comando 'clean'.
Indexar archivos fuente
Para que el IDE pueda Indexar los archivos fuentes, de manera que el usuario rápidamente pueda ver la información contextual relacionada con variables o funciones (tooltips), o incluso buscar rápidamente con 'ctrl + click izquierdo' para ir a la declaración del texto seleccionado, se le debe indicar dónde residen los mismos. Es importante incorporar los siguientes directorios mediante 'Link Folder' como se muestra a continuación:
- Firmware\modules
- Firmware\externals\platforms
- Firmware\out\gen ⇐ Sólo si el RTOS es generado por el make como OSEK
Configuración de OpenOCD para Debug
Como se ha mencionado al instalar las herramientas para Debug, se utilizará OpenOCD para hacer el nexo JTAG-GDB mediante la conexión USB. Así, desde el menu 'Run⇒Debug Configurations…' se debe crear una nueva 'debug configuration' del tipo 'GDB OpenOCD Debugging' (siempre que se tenga instalado el plug-in GNU-ARM como se indicó al instalar el firmware). Una vez hecho esto, colocar los siguientes valores: