# Xbuild MCU: Extensión de VSCode para Compilación de Proyectos STM32
Los desarrolladores embebidos que trabajan con STM32 suelen lidiar con IDE basados en Eclipse engorrosos como STM32CubeIDE. Aquí entra Xbuild MCU, una extensión de VSCode que maneja la autogeneración de proyectos, compilaciones basadas en Xmake (potenciadas por Lua), importaciones de CubeMX e integración con Cortex-Debug. Te permite editar, compilar y flashear todo en un entorno fluido, sin cambiar de aplicaciones.
Esta extensión va dirigida a desarrolladores intermedios y senior: usa términos técnicos precisos, soporta GCC/G++, JLink y submódulos de Git. Está probada en proyectos reales, pero sigue en desarrollo activo.
Creación e Inicio de Proyecto Inicial
Abre una carpeta vacía en VSCode. La extensión detecta la falta de xmake.lua y te invita a generarlo. Elige un preset de MCU (como STM32F103) y configura tus rutas:
JLINK_PATH: Ruta a JLink.exe (ej.c:/Programs/JLink_V872a/JLink.exe).STM32_SDK: Ruta a ARM GCC de STM32CubeIDE (ej.c:/ST/STM32CubeIDE_1.19.0/STM32CubeIDE/plugins/com.st.stm32cube.ide.mcu.externaltools.gnu-tools-for-stm32.14.3.rel1.win32_1.0.0.202510090749/tools).
En la sección MCU, agrega tus defines y rutas de inclusión. Pulsa "Restablecer a Valores por Defecto de STM32F103" para empezar, luego ajusta para tu proyecto. Los valores se toman directamente de CubeIDE.
Importación de CubeMX: Apunta a tu archivo .ioc. Copia archivos de arranque, scripts de enlace y drivers HAL. Tu main.c y código personalizado quedan intactos, ideal para configuraciones a medida.
Gestión de Submódulos Git y Plantillas
En Configuración de Usuario de VSCode, lista tus submódulos corporativos. La extensión añade botones de un clic para agregarlos/quitarlos.
Para la estructura del proyecto, coloca una carpeta templates en la raíz (mejor como submódulo Git). La generación crea carpetas, archivos y defines desde la plantilla, luego la limpia.
Genera automáticamente .vscode/launch.json para Cortex-Debug.
Compilación, Optimización y Análisis
Soporta configuraciones Debug/Release con niveles de optimización (-O0, -O1, -Os, -O2, -O3). Tras la compilación, muestra uso de Flash/RAM en porcentajes, al estilo de ESP-IDF.
Lista desplegable con optimizaciones y descripciones:
- -O0: Sin optimizaciones, perfecto para depuración.
- -O1: Optimizaciones mínimas.
- -O2: Mejoras agresivas de velocidad.
- -O3: Velocidad máxima, pero complicada para depurar.
- -Os: Optimización enfocada en tamaño.
¿Tienes Doxygen instalado? Generará documentación del proyecto automáticamente.
Puntos Destacados
- Autogenera
xmake.luay.vscode/launch.jsonpara reducir configuración manual. - Importa archivos CubeMX sin sobrescribir tu código.
- Submódulos Git y plantillas fluidas para flujos de equipo.
- Análisis de uso de memoria tras cada compilación.
- Soporte integrado para Doxygen en documentación.
No es una herramienta universal: está hecha para necesidades específicas, pero extensible vía scripts Lua y plantillas. Para desarrollo STM32 en VSCode, es una alternativa ligera a CubeIDE.
— Editorial Team
Aún no hay comentarios.