Skip to content

labmicro/micro-muju

Repository files navigation

micro-muju

Entorno de trabajo para la asignatura Sistemas con Microprocesadores de la Universidad Nacional de Tucumán (versión RISC-V).

Este repositorio integra el sistema de compilación, ejemplos, proyectos de laboratorio y documentación para programar la placa didáctica edu-unt-rv, basada en el microcontrolador GD32VF103.

Contenido del repositorio

Ruta Descripción
examples/ Ejemplos por tema (GPIO, interrupciones, temporizadores, transferencias, etc.)
laboratorios/ Código de apoyo para trabajos prácticos de laboratorio
modules/ Módulos de soporte (core RISC-V, periféricos GD32VF103, nuclei N200)
projects/ Proyectos de práctica (ignorados por git; crear los propios en esta carpeta)
docs/EDU-UNT-RV.pdf Esquemático de la placa didáctica
docs/figuras-guia/ Capturas de pantalla de la guía de instalación
scripts/installMicro.sh Script de instalación del toolchain y OpenOCD en WSL/Linux
makefile, proyecto.mk Sistema de compilación basado en GNU Make

Requisitos

  • Windows: WSL 2 (Ubuntu) + usbipd-win para compartir la placa USB con WSL.
  • Linux: instalación nativa (omitir pasos de WSL y usbipd).
  • Visual Studio Code con extensiones WSL, C/C++, C/C++ Extension Pack y USBIP Connect.
  • GNU RISC-V Embedded Toolchain y OpenOCD (instalables con scripts/installMicro.sh).

Inicio rápido

git clone https://github.com/labmicro/micro-muju.git
cd micro-muju
bash scripts/installMicro.sh

Abrir la carpeta del repositorio en VS Code conectado a WSL (Connect to WSL), editar proyecto.mk para elegir el proyecto a compilar y ejecutar:

make
make gdbserver   # en una terminal
# Iniciar depuración desde VS Code (F5)

Guía de instalación del entorno de desarrollo

Visual Studio Code es un entorno de desarrollo multiplataforma que puede ejecutarse en Linux, Windows y macOS, y permite compilar y depurar proyectos para sistemas embebidos. La mayoría de los IDE utilizan make para compilar y gdb para depurar; este repositorio expone ambas herramientas de forma sencilla.

La siguiente guía describe la instalación paso a paso para escribir, compilar, grabar y depurar programas en la placa edu-unt-rv. Al final se listan errores frecuentes.

1. Windows Subsystem for Linux (WSL)

Para acceder a un entorno Linux virtualizado desde Windows, utilice WSL (disponible desde Windows 10 2004 en adelante).

Abra PowerShell como administrador y ejecute:

wsl --install

Siga los pasos indicados y reinicie la máquina. Documentación: Instalar WSL.

2. usbipd: compartir dispositivos USB con WSL

WSL no accede directamente a los dispositivos USB de Windows. Instale usbipd-win desde releases (archivo usbipd-win_*_x64.msi).

3. Visual Studio Code

Descargue VS Code desde code.visualstudio.com. La cátedra da soporte para instalaciones en Windows + WSL y Linux (en Linux omita los pasos de WSL y usbipd).

4. Extensión WSL para VS Code

Instale la extensión WSL desde el marketplace de VS Code:

Extensión WSL en VS Code

Conéctese a la instancia WSL con el botón >< en la esquina inferior izquierda y elija Connect to WSL:

Botón de conexión a WSL

5. Extensiones adicionales en VS Code (dentro de WSL)

Instale:

  • C/C++ — depuración.
  • C/C++ Extension Pack — resaltado de sintaxis y herramientas asociadas.
  • USBIP Connect — interfaz para usbipd.

Extensiones C/C++ y USBIP Connect

6. Primera conexión a la placa

En la barra inferior de VS Code presione Attach y seleccione el dispositivo de la placa (CMSIS-DAP...). Si aparece un error, abra PowerShell como administrador y ejecute el comando indicado por la extensión (forma usbipd bind ...). Vuelva a VS Code e intente nuevamente.

7. Herramientas para RISC-V

El paquete GNU RISC-V Embedded Toolchain incluye, entre otras:

  • gcc — compilador C/C++.
  • gdb — depurador.
  • GNU Binutils — enlazador, ensamblador, etc.

También se necesitan Git, curl, build-essential y OpenOCD para grabado y depuración.

Ejecute el script incluido en este repositorio (desde la raíz del proyecto, en WSL):

bash scripts/installMicro.sh

El script instala las dependencias del sistema y, mediante xpm, las versiones del toolchain y OpenOCD utilizadas por el makefile del proyecto.


Creación del proyecto en VS Code

Cierre y vuelva a abrir VS Code (conectado a WSL) para refrescar la configuración. Seleccione File → Open Folder y abra la carpeta clonada de micro-muju:

Pantalla de inicio de VS Code

En el explorador deberían aparecer los directorios examples, modules, laboratorios y los archivos makefile y proyecto.mk.

Creación y edición del código

Para un proyecto nuevo, cree una carpeta en la raíz (por ejemplo projects/mi-proyecto) con subcarpetas src/ (fuentes .c y .s) e inc/ (cabeceras .h):

Creación de carpeta de proyecto

Organización src/inc

Ejemplo de organización

Consulte los ejemplos en examples/ como referencia.

Compilación y depuración

  1. Definir el proyecto a compilar — edite proyecto.mk y asigne la ruta relativa, por ejemplo:

    PROYECTO ?= examples/demo
  2. Abrir una terminal en la raíz del repositorio:

    Terminal en VS Code

  3. Compilar:

    make

    Salida de make

  4. Conectar la placa — botón Attach → dispositivo CMSIS-DAP (como en el paso 6 de instalación).

  5. Iniciar el servidor de depuración (en otra terminal o la misma):

    make gdbserver

    Salida de make gdbserver

  6. Depurar — panel de depuración (Ctrl+Shift+D) → Start debugging (F5):

    Sesión de depuración

  7. FinalizarStop en el depurador y Ctrl+C en la terminal de gdbserver.

Errores comunes

WSL

Si al instalar WSL aparece:

No se pudo iniciar la operación porque no se instaló una característica requerida.
Código de error: Wsl/InstallDistro/Service/RegisterDistro/CreateVm/HCS/HCS_E_SERVICE_NOT_AVAILABLE

Ejecute wsl --install dos veces y reinicie si es necesario.


Documentación de hardware

El esquemático completo de la placa está en docs/EDU-UNT-RV.pdf.

Licencia

El software de este repositorio se distribuye bajo licencia MIT. Véase los avisos de copyright en los archivos fuente y LICENSE.txt.

SPDX-License-Identifier: MIT

About

Entorno de trabajo para la asignatura de Sistemas con Microprocesadores UNT (Versión RISC-V)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors