🛠 Premier blinky Zephyr sur le nRF52833-DK

nRF52833-DK (id de boards.json: nrf52833-dk) · debutant · Deux commandes west et la LED1 de votre kit Nordic s'anime : le débogueur J-Link est déjà embarqué sur la carte.

La tarjeta en un minuto

La nRF52833-DK de Nordic Semiconductor (código de tarjeta PCA10100, ~49 USD en DigiKey) es el kit oficial basado en el SoC nRF52833: Arm Cortex-M4 con FPU @ 64 MHz, 512 KB de flash, 128 KB de RAM, radio multiprotocolo de 2,4 GHz (BLE 5, Bluetooth mesh, Thread, Zigbee), USB, NFC y ADC de 12 bits. Formato Arduino Uno Rev3 (solo 3,3 V), 42 E/S accesibles en conectores y, sobre todo, un MCU de interfaz SEGGER J-Link OB integrado: depuración, programador y puerto COM virtual, sin necesidad de hardware externo. La tarjeta se mantiene en Zephyr upstream bajo el nombre nrf52833dk.

Paso 1 — Instalar la cadena de herramientas Zephyr

Siga la Guía de inicio oficial de Zephyr para su sistema operativo (CMake, Ninja, Python 3, toolchain para Cortex-M y luego west):

python3 -m venv .venv && source .venv/bin/activate   # Windows : .venv\Scripts\activate
pip install west
west init zephyrproject
cd zephyrproject && west update

En cuanto al hardware, la Guía del usuario requiere simplemente un cable micro-USB y un J-Link software v6.52 o más reciente instalado en el host.

Paso 2 — Conectar el kit

El kit dispone de dos conectores micro-USB: J2 para el MCU de interfaz J-Link OB y J3 para el USB nativo del nRF52833. Para flashear, conecte el cable a J2. El programador integrado reconoce la tarjeta sin configuración.

Paso 3 — Compilar y flashear

west build -b nrf52833dk/nrf52833 samples/basic/blinky
west flash

El LED1 debe parpadear. Los 4 LED de usuario están en P0.13 a P0.16, activos a nivel bajo (se encienden cuando el pin pasa a 0); unos puentes de soldadura SB5-SB8 permiten desconectarlos. El mismo PCB existe en versión para el nRF52820 (256 KB de flash / 32 KB de RAM): west build -b nrf52833dk/nrf52820 ....

Paso 4 — Entender el código

El devicetree de la tarjeta define el alias led0 (LED1 = P0.13), de ahí el ejemplo estándar:

#include <zephyr/kernel.h>
#include <zephyr/drivers/gpio.h>

static const struct gpio_dt_spec led = GPIO_DT_SPEC_GET(DT_ALIAS(led0), gpios);

int main(void)
{
        gpio_pin_configure_dt(&led, GPIO_OUTPUT_ACTIVE);
        while (1) {
                gpio_pin_toggle_dt(&led);   /* LED active-low sur le DK */
                k_msleep(500);
        }
}

Trampas conocidas

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales