Closed huig- closed 8 years ago
El IDE se basa en Eclipse y vale tanto para MAC OSX como para Linux. Los componentes a instalar son los siguientes:
Nos instalamos una versión de Eclipse con entorno C/C++ (en este caso Kepler Service Release 2). Una vez tenemos Eclipse instalado arrancamos Eclipse y 'Help>Install New Software...', después pinchamos en 'Available Software Sites', buscamos 'cdt' y lo seleccionamos. Pulsamos OK. En la ventana 'Available Software' seleccionamos la última entrada en 'Work with:'. Expandimos 'CDT Optional Features' y seleccionamos 'GCC Cross Compiler Support'. Pulsar 'Next' hasta tener la instalación completada.
Aquí hay información detallada para instalarlo en todas las plataformas.
Aquí está la página oficial de donde se puede descargar. También se puede instalar en linux con apt-get y en Mac OSX con brew. Para configurar OpenOCD dentro de Eclipse creamos un nuevo fichero stm32f4.cfg y lo metemos en openocd/scripts/test/. El contenido de este archivo es:
source [find interface/stlink-v2.cfg]
source [find target/stm32f4x_stlink.cfg]
reset_config srst_only srst_nogate
Ahora nos vamos a 'Run>External Tools> External Tool Configurations...' y creamos una nueva configuración que parta de 'Program'. En 'Location:' pondremos el path del ejecutable OpenOCD (/usr/local/bin/openocd) y en 'Arguments:' pondremos '-f test/stm32f4.cfg'. Guardamos la configuración y ya tenemos OpenOCD listo.
'File>New>C++ Project' y dentro de la pestaña 'Executable' elegimos 'STM32F4xx C/C++ Project'. Pulsamos 'Next' hasta la sección 'Cross GNU ARM Toolchain' donde en 'Toolchain path' tenemos que darle el path de la carpeta donde estén los binarios de arm-none-eabi (/usr/local/bin/).
'Run>Debug Configurations...' y añadimos un nuevo elemento de tipo 'GDB Hardware Debugging'. En la pestaña 'Debugger' ponemos 'arm-none-eabi-gdb' como 'GDB Command:', y en 'Port Number:' el 3333. Pulsamos 'Select Other...' y elegimos 'Legacy GDB Hardware Debugging Launcher'. Por último en la pestaña 'Startup' quitamos las opciones 'Reset and Delay (seconds):' y 'Halt', y escribimos en el cuadro de diálogo 'mon reset init'.
Estoy siguiendo los pasos que vienen aquí pero todavía no sé si funciona