🛠 HPM5100 : Mise en route avancée et démarrage sécurisé
Objectifs
Ce tutoriel vise l'initialisation avancée du microcontrôleur HPM5100 via son SDK. Nous allons configurer le démarrage sécurisé (Secure Boot), activer les horloges à haute fréquence et vérifier l'intégrité des périphériques critiques (ADC, PWM). Contrairement aux débutants, nous aborderons les contraintes thermiques pour le mode 480 MHz.
Matériel nécessaire
- Carte de développement HPM5100 (HPM5151)
- Câble USB Type-C pour l'alimentation et le débogage
- PC avec SDK HPM v1.13.0 installé
- Oscilloscope (recommandé pour vérifier les signaux PWM)
- Alimentation externe 3.3V (si test autonome)
Étapes
Assurez-vous que les outils de compilation RISC-V sont installés. Clonez le SDK v1.13.0 et configurez les variables d'environnement. ``bash source hpm_sdk_env.sh ``
- Préparation de l'environnement
Le HPM5100 supporte le démarrage sécurisé matériel. Activez-le dans le fichier de configuration du bootloader. Cela garantit que seul un firmware signé s'exécute. ``c // Exemple de configuration dans main.c hpm_sysctl_t *sysctl = hpm_sysctl; hpm_sysctl_secure_boot_enable(sysctl, true); ``
- Configuration du démarrage sécurisé
Le cœur RISC-V peut atteindre 480 MHz. Attention : cette fréquence exige une gestion thermique stricte. Configurez le PLL principal. ``c // Configuration PLL pour 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); ``
- Initialisation des horloges à 480 MHz
Initialisez l'ADC SAR 16 bits et vérifiez la communication via UART pour confirmer le fonctionnement des bus. ``c // Initialisation UART pour logs hpm_uart_init(hpm_uart0, 115200); printf("HPM5100 Secure Boot Active. CPU: %d MHz\n", 480); ``
- Vérification des périphériques critiques
Compilez le projet pour la cible HPM5151 et flashez le firmware via l'interface USB OTG. ``bash make -j4 hpm_flash_programmer -p /dev/ttyUSB0 -f build/output.elf ``
- Compilation et téléchargement
Vérification
- Vérifiez sur l'oscilloscope que les signaux PWM (32 canaux) sont actifs à la fréquence configurée.
- Consultez la sortie série pour confirmer que le message de démarrage sécurisé s'affiche.
- Mesurez la température du boîtier QFN/LQFP pour assurer qu'elle reste sous 105°C en charge.
- Testez la latence de l'ADC SAR (2 MSPS) avec un signal sinusoïdal connu.
Pour aller plus loin
Explorez l'interface XPI pour connecter une mémoire externe. Étudiez le chiffrement AES-128 pour protéger vos données sensibles. Comparez les performances CoreMark à 400 MHz vs 480 MHz pour optimiser le compromis puissance/consommation.