🛠 Premiers pas sur le Teensy 4.0 : Teensyduino, Loader et premier Blink

Teensy 4.0 · debutant · Schéma : IMG-teensy-40-debutant-1-teensy40-premiers-pas-blink.svg — Teensy 4.0 vue de dessus (format 1,4 × 0,7 pouce, même empreinte que le Teensy 3.2), flèches sur la LED orange (pin 13), le bouton Program, la LED rouge du bootloader et le port micro-USB ; à côté, la fenêtre Teensy Loader.

Objetivos

Domina la placa más rápida de su categoría: el Teensy 4.0 incorpora un NXP MIMXRT1062DVL6 (Cortex-M7 a 600 MHz, oficialmente overclockeable a 912 MHz) en el diminuto formato de 1,4 × 0,7 pulgadas de los Teensy 3.x. Este primer tutorial establece las bases: instalar el entorno Teensyduino, cargar un Blink, comprender el ecosistema Teensy Loader + botón Program (¡la placa NO tiene reset de hardware!), y medir la velocidad real de los pines con el contador de ciclos.

Material

Instalación y carga

  1. Instala el complemento Teensy a través de https://www.pjrc.com/teensy/td_download.html (las alternativas oficiales son: PlatformIO, Visual Micro y el Makefile de línea de comandos incluido con Teensyduino).
  2. En el IDE: Herramientas > Placa > Teensy > Teensy 4.0, luego Herramientas > Tipo de USB > Serial (la lista es larga: MIDI, Teclado, Ratón, Audio, MTP, RawHID…).
  3. Haz clic en Cargar: Teensy Loader se inicia automáticamente. Si no detecta la placa, pulsa el botón Program de la placa — no es un botón de reset, solicita el modo de programación por USB.
  4. El LED rojo indica el estado del bootloader: tenue = en espera, brillante = escritura flash en curso.

Punto de arquitectura crucial: el bootloader reside en un chip físicamente separado (un GD32E230F8 en las placas posteriores a junio de 2022). El flash principal es 100 % tuyo y la carga no puede destruirlo. En cambio, no existe ningún pin de reset de hardware: solo se reinicia mediante watchdog de software o a través del registro SCB_AIRCR.

Código completo

// Blink + mesure réelle de la vitesse GPIO via le compteur de cycles
// 32 bits ARM_DWT_CYCCNT, incrémenté à la fréquence CPU (600 MHz).
void setup {
  Serial.begin(9600);            // série USB : le baud est ignoré
  pinMode(13, OUTPUT);           // LED orange (JAMAIS en INPUT_PULLUP :
                                 // la LED polarise la broche)
}

void loop {
  uint32_t start = ARM_DWT_CYCCNT;         // instantané du compteur
  for (int i = 0; i < 100000; i++) {
    digitalToggle(13);                     // écriture broche la plus rapide
  }
  uint32_t cycles = ARM_DWT_CYCCNT - start;
  Serial.printf("moyenne %u cycles par bascule\n", cycles / 100000);
  delay(1000);
}

Verificación esperada

El LED naranja parpadea (visualmente casi apagado: el bucle alterna el pin millones de veces por segundo, digitalToggle se compila en una sola escritura de bit). El Monitor serie muestra el número de ciclos por alternancia — a 600 MHz, una decena de ciclos corresponde a una señal de varias decenas de MHz en el pin. Es la demostración inmediata de la potencia del M7 de doble emisión con predicción de saltos y memoria TCM.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales