🛠 Flasher un .hex sans rien installer : MSD et nRF Connect Programmer
Las cuatro puertas de entrada del kit
La Guía del usuario del nRF52833-DK documenta varios métodos de programación, todos a través del MCU de interfaz J-Link OB conectado al puerto J2:
- Arrastrar y soltar MSD: el J-Link OB expone un almacenamiento de masas; al soltar un archivo
.hexse programa directamente. - nRF Connect Programmer (interfaz gráfica de nRF Connect for Desktop).
- nrfjprog (línea de comandos de las nRF Command Line Tools).
- west flash / IDE (SES, Keil, IAR) a través del depurador J-Link.
El arrastrar y soltar es insuperable para probar un hex proporcionado sin instalar una cadena de herramientas: ni SDK, ni west, ni controlador específico.
Paso 1 — Programar mediante arrastrar y soltar
- Conecte el kit mediante micro-USB al conector J2 (el del MCU de interfaz, no J3).
- Aparecerá una unidad extraíble en su equipo.
- Suelte su
firmware.hexen esta unidad; la copia programa la memoria flash del nRF52833. - Pulse el botón Reset del kit: el nuevo firmware se inicia.
Si su imagen proviene del SDK nRF5 con SoftDevice (todo lo que permite BLE), recuerde que el hex de aplicación por sí solo no es suficiente: se necesita una imagen fusionada SoftDevice + aplicación (herramienta mergehex), de lo contrario la tarjeta se programa sin emitir nada. Las compilaciones de Zephyr/NCS, en cambio, producen un hex autónomo.
Paso 2 — Las alternativas con herramientas
nrfjprog --program firmware.hex --chiperase -f # efface, programme, redémarre
nrfjprog --reboot
nRF Connect Programmer hace lo mismo de forma gráfica: seleccione el objetivo «nRF52833», cargue el hex y haga clic en Write. También es la herramienta recomendada para leer/escribir la configuración de protección de la memoria flash.
Paso 3 — El puerto COM virtual para ver los registros
El J-Link OB también expone un puerto COM virtual conectado a los pines P0.05-P0.08 del SoC (hasta 1 Mbit/s con handshake por hardware). Hay dos trampas documentadas en la Guía del usuario:
- La terminal debe activar DTR, de lo contrario las líneas UART permanecen en tri-state y no verá nada.
- Mientras haya una terminal serie conectada, las mediciones de corriente del kit se distorsionan (el convertidor USB-serie consume energía) — desconéctela para perfilar el consumo.
La unidad MSD que se congela: la recuperación
La Guía del usuario (§7.3) es explícita: en Windows, una desfragmentación, un análisis antivirus (o una cuarentena del pseudo-archivo de la unidad), o un intento de arranque USB desde la unidad pueden hacer que el MCU de interfaz deje de responder. Recuperación: corte la alimentación (desconecte el USB), vuelva a conectarlo — el J-Link OB se reinicia. Para evitar el problema, J-Link Commander permite desactivar el almacenamiento de masas: comando msddisable (y msdenable para reactivarlo).
Verificar que funciona
Después del Reset, el LED1 (P0.13, activo a nivel bajo) debe reaccionar si su firmware parpadea. Si no: imagen incorrecta (SoftDevice no fusionado), puerto incorrecto (J3 en lugar de J2), o un firmware que apaga inmediatamente los LED — verifique con nRF Connect Programmer releyendo la memoria flash.
Otros tutoriales para esta placa
- 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