🛠 Ingénierie mémoire du Teensy 4.1 : TCM, DMAMEM, EXTMEM, flash QSPI et EEPROM

Teensy 4.1 · avance · Schéma en coupes du i.MX RT1062 du Teensy 4.1 : caches I/D 32 Ko, 512 Ko de RAM1 en TCM accès cycle unique, 512 Ko de RAM2 optimisée DMA (tas malloc), flash QSPI externe 8 Mo (7 936 Ko utilisables) et les deux empreintes QSPI sous la carte pour PSRAM.

Objetivos

El Teensy 4.1 es una máquina de memoria: 1 024 KB de RAM (512 KB de RAM1 en TCM con acceso de ciclo único + 512 KB de RAM2 optimizada para DMA), 8 MB de flash QSPI (7 936 KB utilizables, los 256 KB superiores están reservados para la EEPROM emulada y el programa de recuperación), dos cachés de 32 KB y dos huellas QSPI vacías bajo la placa para soldar PSRAM. Este tutorial coloca conscientemente cada dato en el lugar adecuado.

Las palabras clave

Código completo

#include <InternalTemperature.h>

DMAMEM  uint8_t audioBuf[8192];      // RAM2, compatible DMA
EXTMEM  uint8_t bigBuf[1024 * 1024]; // PSRAM : ne lie que si la puce est soudée

const char msg[] PROGMEM = "constante dans le flash QSPI";

void setup {
  Serial.begin(9600);
  while (!Serial && millis < 3000);
}

void loop {
  Serial.print("Temp. die : ");
  Serial.print(InternalTemperature.readTemperature); // capteur embarqué
  Serial.print(" C | tas libre (RAM2) : ");
  Serial.print(malloc_free / 1024);
  Serial.println(" Ko");
  delay(1000);
}

Verificación esperada

Con un chip PSRAM soldado en la huella pequeña, el sketch compila con EXTMEM y el monitor muestra la temperatura del die y el montón libre. Sin PSRAM, la palabra clave EXTMEM provoca un error de compilación — es la señal para verificar la huella.

Errores frecuentes

Otros tutoriales para esta placa

Ejemplos de código para esta placa

← Volver a la ficha 🛠 Todos los tutoriales