Instalación de herramientas en Windows

Para instalar MSYS2, make y un compilador de C seguir el siguiente video

Instalar MSYS2 y herramientas básicas para Windows

Herramientas para ARM y la placa de desarrollo

Copiar y pegar en terminal MSYS (con MAYUSCULA-INSERTAR)

pacman -S  mingw-w64-ucrt-x86_64-arm-none-eabi-binutils mingw-w64-ucrt-x86_64-arm-none-eabi-gcc mingw-w64-ucrt-x86_64-arm-none-eabi-newlib mingw-w64-ucrt-x86_64-openocd mingw-w64-ucrt-x86_64-gdb-multiarch

Instalación de drivers para la placa de desarrollo en Windows

El programa openocd emplea los drivers libusb para acceder a la interfaz de programación, pero windows instala los drivers del fabricante por defecto.

  • Descarga el instalador Zadig de drivers libusb desde https://zadig.akeo.ie/
  • Ejecuta Zadig
  • Activa Options->List all devices
  • Conecta la placa
  • En el listado busca Dual RS232-HS (Interface 0)
  • Presiona el botón Replace Driver, la instalación puede demorar unos minutos

NOTA: Es posible que Windows Update reescriba los drivers de la placa, si esto sucede openocd dejará de reconocerla. Para solucionarlo repetir el procedimiento anterior.

Configurar el shell bash de MSYS UCRT64 como terminal por defecto en Visual Studio Code (Windows)

  • Haz esto una vez instalado MSYS, si recién lo instalaste y estaba abierto Visual Studio Code cierra y vuelve a abrir el programa.
  • En Visual Studio Code presiona CONTROL-MAYUSCULA-P para abrir la paleta de comandos
  • Escribe new terminal y selecciona Create New Terminal (With Profile)
  • En el listado busca bash (MSYS2) y haz click en el ícono del engranaje para esa fila (Configure Terminal Profile)
  • Escribe el nombre para el nuevo perfil bash (MSYS2-UCRT64) y presiona ENTER
  • Abre nuevamente la paleta de comandos CONTROL-MAYUSCULA-P
  • Escribe settings y selecciona Preferences: Open User Settings (JSON)
  • En el editor que se abre encuentra la entrada "bash (MSYS2-UCRT64)": {
  • Dentro de dicha entrada reemplaza
           "env": {
                "CHERE_INVOKING": "1"
            }

por

           "env": {
                "MSYSTEM": "UCRT64",
                "CHERE_INVOKING": "1",
                "MSYS2_PATH_TYPE": "inherit"
            }
  • Guarda los cambios CONTROL-S y cierra la pestaña
  • Abre la paleta de comandos CONTROL-MAYUSCULA-P
  • Escribe select def y selecciona Terminal: Select Default Profile
  • Selecciona bash (MSYS2-UCRT64)
  • Cierra y vuelve a abrir Visual Studio Code para aplicar los cambios
  • Edita el archivo C:\msys64\etc\nsswitch.conf y reemplaza db_home: cygwin desc por db_home: windows porque de otro modo el comando git no encontrará su archivo de configuración de usuario.

Instalar Ceedling

Instala Ruby en MSYS2 con

En la línea de comandos de MSYS2-UCRT

pacman -S mingw-w64-ucrt-x86_64-ruby

Nota: si falla la instalación, actualizar msys2 con pacman -Syu y volver a intentar

Instala el gem de Ceedling

gem install ceedling

Instalar gcovr para generar informes de cobertura

  • Instalar Python
  • En la terminal de powershell o cmd ejecutar el comando pip install gcovr para instalar gcovr

Probar la instalación (opcional)

  • Crear el proyecto de demostración temp_sensor en un nuevo directorio del mismo nombre
ceedling example temp_sensor
  • Entrar en el proyecto y correr las pruebas
cd temp_sensor
ceedling test:all
  • Abrir project.yml. Buscar
:plugins:
  :load_paths: []
  :enabled:
    #- beep                           # beeps when finished, so you don't waste time waiting for ceedling
    - module_generator               # handy for quickly creating source, header, and test templates
    #- gcov                           # test coverage using gcov. Requires gcc, gcov, and a coverage analyzer like gcovr
  • Descomentar - gcov quedando
:plugins:
  :load_paths: []
  :enabled:
    #- beep                           # beeps when finished, so you don't waste time waiting for ceedling
    - module_generator               # handy for quickly creating source, header, and test templates
    - gcov                           # test coverage using gcov. Requires gcc, gcov, and a coverage analyzer like gcovr
  • Ejecutar
ceedling gcov:all
Última modificación: lunes, 23 de junio de 2025, 10:17