🛠 HPM5100: Puesta en marcha avanzada y arranque seguro
Objectifs
Este tutorial cubre la inicialización avanzada del microcontrolador HPM5100 a través de su SDK. Configuraremos el arranque seguro (Secure Boot), activaremos relojes de alta frecuencia y verificaremos periféricos críticos (ADC, PWM). A diferencia de las guías para principiantes, abordamos las restricciones térmicas para el modo de 480 MHz.
Matériel nécessaire
- Tarjeta de desarrollo HPM5100 (HPM5151)
- Cable USB Tipo-C para alimentación y depuración
- PC con SDK HPM v1.13.0 instalado
- Osciloscopio (recomendado para verificar señales PWM)
- Fuente de alimentación externa 3.3V (para pruebas autónomas)
Étapes
Asegúrese de que las herramientas de compilación RISC-V estén instaladas. Clone el SDK v1.13.0 y configure las variables de entorno. ``bash source hpm_sdk_env.sh ``
- Preparación del entorno
El HPM5100 soporta arranque seguro por hardware. Actívelo en la configuración del bootloader para garantizar que solo se ejecute firmware firmado. ``c // Ejemplo de configuración en main.c hpm_sysctl_t *sysctl = hpm_sysctl; hpm_sysctl_secure_boot_enable(sysctl, true); ``
- Configuración del arranque seguro
El núcleo RISC-V puede alcanzar 480 MHz. Advertencia: Esto requiere una gestión térmica estricta. Configure el PLL principal. ``c // Configuración PLL para 480 MHz hpm_sysctl_clock_config_t clock_config = { .cpu_clock = hpm_sysctl_clock_cpu_480mhz, .bus_clock = hpm_sysctl_clock_bus_120mhz, }; hpm_sysctl_clock_setup(sysctl, &clock_config); ``
- Inicialización de relojes a 480 MHz
Inicialice el ADC SAR de 16 bits y verifique la comunicación UART para confirmar la funcionalidad de los buses. ``c // Inicialización UART para registros hpm_uart_init(hpm_uart0, 115200); printf("HPM5100 Secure Boot Active. CPU: %d MHz\n", 480); ``
- Verificación de periféricos críticos
Compile para el objetivo HPM5151 y flashee el firmware a través de la interfaz USB OTG. ``bash make -j4 hpm_flash_programmer -p /dev/ttyUSB0 -f build/output.elf ``
- Compilación y descarga
Vérification
- Use un osciloscopio para verificar que las señales PWM (32 canales) estén activas a la frecuencia configurada.
- Revise la salida serie para confirmar que aparece el mensaje de arranque seguro.
- Mida la temperatura del paquete QFN/LQFP para asegurar que permanezca por debajo de 105°C bajo carga.
- Pruebe la latencia del ADC SAR (2 MSPS) con una señal sinusoidal conocida.
Pour aller plus loin
Explore la interfaz XPI para conectar memoria externa. Estudie el cifrado AES-128 para proteger datos sensibles. Compare el rendimiento CoreMark a 400 MHz vs 480 MHz para optimizar el equilibrio potencia/rendimiento.