🛠 Usar USB OTG como almacenamiento masivo
Objetivos
Este tutorial le guía para transformar su placa HPM5100 en una unidad de almacenamiento masivo USB. Aunque el chip integra 1 MB de flash y 416 KB de SRAM, simularemos un espacio de almacenamiento accesible a través de la interfaz USB 2.0 OTG. Esta es una introducción ideal para comprender la comunicación USB y el periférico TinyUSB incluido en el SDK de HPMicro. Aprenderá a inicializar el controlador USB y gestionar intercambios de datos simples.
Material Necesario
- Una placa de desarrollo HPM5100.
- Un cable USB Tipo-C (o micro-USB según el conector de su placa).
- Un ordenador (Windows, Linux o macOS) con controladores USB estándar.
- Un entorno de desarrollo compatible con el SDK de HPMicro (versión 1.13.0 o superior).
- Un terminal serie para mostrar mensajes de depuración (baudrate 115200).
Pasos
- Preparación del Entorno: Instale el SDK de HPMicro y configure su herramienta de compilación (Make o CMake). Asegúrese de que la variable de entorno apunte al directorio raíz del SDK.
- Acceder al Ejemplo: Navegue a la carpeta de ejemplos de USB en el SDK. El ejemplo de almacenamiento masivo suele estar en
examples/usb/device/msc. Abra el archivo principalmain.cpara entender la estructura.
- Configuración del Código: En el archivo de configuración, active la interfaz de dispositivo USB. El HPM5100 tiene un PHY USB integrado, por lo que no se requieren componentes externos para la capa física. Defina el tamaño del 'disco' virtual. Por ejemplo, use una parte de la SRAM o un buffer de memoria estática para simular el almacenamiento.
- Compilación: Ejecute la compilación con el siguiente comando:
make BOARD=hpm5100evk
Si usa CMake:
cmake -B build -DBOARD=hpm5100evk
make -C build
- Flasheo: Conecte la placa al ordenador vía USB. Use la herramienta de flasheo del SDK (a menudo
hpm_manufactoryo vía GDB) para cargar el binario en el chip.
./tools/openocd/openocd -f board/hpm5100.cfg -c "program build/hpm5100evk.elf verify reset exit"
- Prueba: Desconecte y vuelva a conectar el cable USB. Su ordenador debería detectar un nuevo dispositivo de almacenamiento extraíble.
Otros tutoriales para esta placa
- HPM5100: Primera conexión y arranque
- HPM5100: Primera conexión y puesta en marcha
- Control GPIO y Lectura de Sensor Analógico en HPM5100
- HPM5100: Primera conexión y puesta en marcha avanzada
- HPM5100: Dominio avanzado de E/S GPIO e interfaces de sensores
- Primeros pasos con la adquisición analógica en HPM5100