🛠 Flasher un .hex sans rien installer : MSD et nRF Connect Programmer
Les quatre portes d'entrée du kit
Le User Guide du nRF52833-DK documente plusieurs méthodes de programmation, toutes via le MCU d'interface J-Link OB connecté au port J2 :
- Glisser-déposer MSD : le J-Link OB expose un stockage de masse ; déposer un fichier
.hexle programme directement. - nRF Connect Programmer (interface graphique de nRF Connect for Desktop).
- nrfjprog (ligne de commande des nRF Command Line Tools).
- west flash / IDE (SES, Keil, IAR) via le débogueur J-Link.
Le glisser-déposer est imbattable pour tester un hex fourni sans installer de toolchain : ni SDK, ni west, ni pilote spécifique.
Étape 1 — Programmer en glisser-déposer
- Branchez le kit en micro-USB sur le connecteur J2 (celui du MCU d'interface, pas J3).
- Un lecteur amovible apparaît sur votre machine.
- Déposez votre
firmware.hexsur ce lecteur ; la copie programme la flash du nRF52833. - Appuyez sur le bouton Reset du kit : le nouveau firmware démarre.
Si votre image vient du SDK nRF5 avec SoftDevice (tout ce qui fait du BLE), souvenez-vous que l'hex applicatif seul ne suffit pas : il faut une image fusionnée SoftDevice + application (outil mergehex), sinon la carte programme sans rien diffuser. Les builds Zephyr/NCS, eux, produisent un hex autonome.
Étape 2 — Les alternatives outillées
nrfjprog --program firmware.hex --chiperase -f # efface, programme, redémarre
nrfjprog --reboot
nRF Connect Programmer fait la même chose en graphique : sélectionnez la cible « nRF52833 », chargez l'hex, cliquez Write. C'est aussi l'outil recommandé pour lire/écrire la configuration de protection de la flash.
Étape 3 — Le port COM virtuel pour voir les logs
Le J-Link OB expose aussi un port COM virtuel relié aux broches P0.05-P0.08 du SoC (jusqu'à 1 Mbit/s avec handshake matériel). Deux pièges documentés au User Guide :
- Le terminal doit assertir DTR, sinon les lignes UART restent en tri-state et vous ne voyez rien.
- Tant qu'un terminal série est connecté, les mesures de courant du kit sont faussées (le convertisseur USB-série consomme) — déconnectez-le pour profiler la consommation.
Le lecteur MSD qui gèle : la récupération
Le User Guide (§7.3) est explicite : sous Windows, une défragmentation, une analyse antivirus (ou une mise en quarantaine du pseudo-fichier du lecteur), ou une tentative de boot USB sur le lecteur peuvent rendre le MCU d'interface inresponsive. Récupération : coupez l'alimentation (débranchez le USB), rebranchez — le J-Link OB redémarre. Pour éviter le problème, J-Link Commander permet de désactiver le stockage de masse : commande msddisable (et msdenable pour le réactiver).
Vérifier que ça tourne
Après Reset, la LED1 (P0.13, active au niveau bas) doit réagir si votre firmware clignote. Sinon : mauvaise image (SoftDevice non mergé), mauvais port (J3 au lieu de J2), ou firmware qui éteint tout de suite les LED — vérifiez avec nRF Connect Programmer en relisant la flash.
Autres tutoriels pour cette carte
- Premier blinky Zephyr sur le nRF52833-DK
- CircuitPython sur le kit Nordic : le prototypage sans C
- Premier périphérique BLE avec le nRF Connect SDK
- Projet firmware complet avec PlatformIO et la sonde J-Link embarquée
- Utiliser le DK comme sonde J-Link pour une cible externe
- Réseau Thread / 802.15.4 avec OpenThread sur le nRF52833