← George Rey · BlogZephyr size study · Teensy 4.1

What does each Zephyr service cost on a Teensy 4.1?

Flash and RAM cost of the modules of a small Zephyr reference application, and of 279 Zephyr services: networking, storage, security, OS services, drivers, USB classes and field buses. Each number comes from a full clean build for the teensy41 board (NXP i.MX RT1062, Cortex-M7, 600 MHz, 8 MB flash, 1 MB on-chip RAM) with Zephyr v4.4.2 and GCC 14.3 at -Os. The builds were not flashed or run.

Reference app, flash
104.9 KB
1.3% of 8 MB
Reference app, static RAM
28.7 KB
11.2% of the 256 KB default RAM region (1 MB on chip)
Builds measured
305
0 failed or inexact
Services catalogued
279
263 built · 16 not available

Key findings

The reference app

Every measurement starts from the same small, typical Zephyr application, the reference app. It has a console and command shell over USB (CDC-ACM), logging, a GPIO shell, C++20 and a few small application modules (shell commands, LED control, one worker thread). Catalogue costs are measured on top of it. The first chart shows where its bytes go, from the linker map. The second removes one module at a time.

Where the bytes go

0 KB5 KB10 KB15 KBsubsys/shell16.3subsys/usb13.0(merged strings)11.7kernel10.0drivers/gpio9.0(linker fill)7.5modules/hal_nxp6.2drivers/usb4.9subsys/logging3.9toolchain libs (libc, libgcc)3.7arch (Cortex-M7)3.7lib/os3.7generated (ISR tables)1.9app (application code)1.5drivers/serial1.4lib/posix1.3lib/heap1.1lib/utils1.1lib/net_buf0.7drivers/timer0.6boards0.5SoC (i.MX RT)0.3drivers/pinctrl0.3drivers/clock_control0.2lib/libc0.2drivers/hwinfo0.1drivers/console0.1

“(merged strings)” is all string literals: the linker merges them into one pool. “(linker fill)” is alignment padding, mostly the 8 KB FlexSPI boot header area.

Cost of each module (leave one out)

0 KB10 KB20 KB30 KBShell subsystem (with all commands)34.2USB device stack + CDC-ACM28.1Logging subsystem16.1GPIO shell (gpio info/toggle/blink)3.9kernel shell commands3.8devmem shell command2.8date shell command2.1threaded LED blink (thread + stack)1.2device shell commands1.1GPIO get-direction/get-config API0.7boot-probe shell commands0.4UART line control API0.4simpleecho shell commands0.3Boot-probe module (init-level counters, K…0.3Console (printk output to UART)0.2basic LED toggle command0.2bootloader shell command0.1

Bar = app size minus the size without that module. Where other modules depend on it, they are removed too.

Table: module cost and the components that go with it
ModuleFLASH costRAM costNotesMain components removedStatus
Shell subsystem (with all commands)
abl.shell
34.2 KB6.1 KBRemoves the shell and every command that needs it, including all app shell sources. Only main.cpp stays.subsys/shell -16.3 KB / RAM -4.3 KB
(merged strings) -6.9 KB
drivers/gpio -2.7 KB / RAM -0.0 KB
kernel -1.7 KB / RAM -0.2 KB
toolchain libs (libc, libgcc) -1.5 KB
ok
USB device stack + CDC-ACM
abl.usb
28.1 KB16.5 KBConsole and shell move to the board default LPUART6 (pins 0/1). Measures USB stack cost against a plain UART.subsys/usb -13.0 KB / RAM -5.6 KB
drivers/usb -4.9 KB / RAM -3.4 KB
modules/hal_nxp -3.4 KB / RAM -3.2 KB
kernel -3.2 KB / RAM -1.3 KB
(merged strings) -2.4 KB
ok
Logging subsystem
abl.log
16.1 KB2.9 KBLOG_* macros compile to nothing; printk stays.subsys/logging -3.9 KB / RAM -2.2 KB
(merged strings) -3.7 KB
lib/os -3.1 KB / RAM -0.0 KB
subsys/usb -2.0 KB / RAM -0.0 KB
subsys/shell -1.2 KB / RAM -0.6 KB
ok
GPIO shell (gpio info/toggle/blink)
abl.gpio_shell
3.9 KB0.1 KBdrivers/gpio -2.5 KB / RAM -0.0 KB
(merged strings) -1.1 KB
kernel -0.2 KB
toolchain libs (libc, libgcc) -0.1 KB
subsys/shell -0.0 KB
ok
kernel shell commands
abl.kernel_shell
3.8 KB0.4 KBsubsys/shell -1.5 KB / RAM -0.0 KB
(merged strings) -1.4 KB
kernel -0.8 KB / RAM -0.2 KB
subsys/logging -0.1 KB / RAM -0.0 KB
arch (Cortex-M7) -0.0 KB
ok
devmem shell command
abl.devmem_shell
2.8 KB0.1 KBsubsys/shell -1.4 KB / RAM -0.0 KB
(merged strings) -0.7 KB
lib/utils -0.4 KB / RAM -0.0 KB
toolchain libs (libc, libgcc) -0.3 KB
lib/posix -0.0 KB / RAM -0.0 KB
ok
date shell command
abl.date_shell
2.1 KB0.0 KBsubsys/shell -0.6 KB
toolchain libs (libc, libgcc) -0.6 KB
lib/utils -0.4 KB
lib/os -0.4 KB / RAM -0.0 KB
(merged strings) -0.2 KB
ok
threaded LED blink (thread + stack)
abl.src.led_ctrl_threaded
1.2 KB1.2 KBapp (application code) -0.6 KB / RAM -1.3 KB
(merged strings) -0.5 KB
kernel -0.1 KB
ok
device shell commands
abl.device_shell
1.1 KB0.0 KBsubsys/shell -0.8 KB
(merged strings) -0.3 KB
kernel -0.0 KB
(linker fill) +0.0 KB
ok
GPIO get-direction/get-config API
abl.gpio_get_dir_cfg
0.7 KB0.0 KBGPIO_SHELL info needs these, so GPIO_SHELL_INFO_CMD is also removed.drivers/gpio -0.5 KB
(merged strings) -0.2 KB
(linker fill) -0.0 KB
ok
boot-probe shell commands
abl.src.boot_probe_cmd
0.4 KB0.0 KBapp (application code) -0.2 KB
(merged strings) -0.2 KB
(linker fill) +0.0 KB
ok
UART line control API
abl.uart_line_ctrl
0.4 KB0.0 KBsubsys/usb -0.3 KB
drivers/serial -0.1 KB
ok
simpleecho shell commands
abl.src.simpleecho
0.3 KB0.0 KB(merged strings) -0.2 KB
app (application code) -0.1 KB
(linker fill) -0.0 KB
ok
Boot-probe module (init-level counters, Kconfig off)
abl.mod.grey_boot_probe
0.3 KB0.0 KBCONFIG_GREY_BOOT_PROBE=n; the shell command stays and reports "disabled".app (application code) -0.2 KB / RAM -0.0 KB
(merged strings) -0.0 KB
ok
Console (printk output to UART)
abl.console
0.2 KB0.0 KBdrivers/console -0.1 KB
lib/libc -0.1 KB / RAM -0.0 KB
lib/os -0.0 KB / RAM -0.0 KB
(linker fill) -0.0 KB
ok
basic LED toggle command
abl.src.led_ctrl_basic
0.2 KB0.0 KBapp (application code) -0.1 KB
(merged strings) -0.1 KB
(linker fill) +0.0 KB
ok
bootloader shell command
abl.src.bootloader
0.1 KB0.0 KBapp (application code) -0.1 KB
(merged strings) -0.0 KB
(linker fill) +0.0 KB
ok

Tuning knobs

Each knob applied alone to the reference app. saves bytes costs bytes.

-15 KB-10 KB-5 KB0 KB5 KB10 KB15 KB20 KB25 KBMinimal shell (no history, tab, VT100, help)-16.5Minimal log mode-9.2Link-time optimisation-7.6Thread monitor and names off-3.8Boot banner off-1.2Shell log backend off-1.0Shell history off-0.9cbprintf nano formatter-0.7Time slicing off-0.5Exception debug (fault dump) off-0.3Hardware FPU on, float printf off+0.5Minimal libc instead of picolibc+0.6Hardware FPU on (hard-float ABI)+5.1Default log level DEBUG+8.7-O2 speed optimisation (instead of -Os)+19.3-Og debug optimisation (instead of -Os)+25.3Assertions on+25.7
Table: Kconfig lines and notes
KnobFLASH changeRAM changeNotesStatus
Minimal shell (no history, tab, VT100, help)
CONFIG_SHELL_MINIMAL=y
-16.5 KB-0.9 KBok
Minimal log mode
CONFIG_LOG_MODE_MINIMAL=y
-9.2 KB-2.9 KBok
Link-time optimisation
CONFIG_LTO=y CONFIG_ISR_TABLES_LOCAL_DECLARATION=y
-7.6 KB-4.1 KBok
Thread monitor and names off
CONFIG_KERNEL_SHELL=n CONFIG_THREAD_MONITOR=n CONFIG_THREAD_NAME=n
-3.8 KB-0.4 KBKERNEL_SHELL uses them; the kernel shell is also removed. THREAD_STACK_INFO stays (MPU stack guard needs it).ok
Boot banner off
CONFIG_BOOT_BANNER=n
-1.2 KB+0.0 KBok
Shell log backend off
CONFIG_SHELL_LOG_BACKEND=n
-1.0 KB-0.6 KBok
Shell history off
CONFIG_SHELL_HISTORY=n
-0.9 KB-0.6 KBok
cbprintf nano formatter
CONFIG_CBPRINTF_NANO=y
-0.7 KB+0.0 KBok
Time slicing off
CONFIG_TIMESLICING=n
-0.5 KB-0.1 KBok
Exception debug (fault dump) off
CONFIG_EXCEPTION_DEBUG=n
-0.3 KB+0.0 KBok
Hardware FPU on, float printf off
CONFIG_FPU=y CONFIG_CBPRINTF_FP_SUPPORT=n CONFIG_PICOLIBC_IO_LONG_LONG=y
+0.5 KB+1.2 KBFPU and FPU_SHARING on, but keep the integer-only printf of the app.ok
Minimal libc instead of picolibc
CONFIG_MINIMAL_LIBC=y
+0.6 KB-0.1 KBok
Hardware FPU on (hard-float ABI)
CONFIG_FPU=y
+5.1 KB+1.2 KBThe board default leaves the Cortex-M7 double-precision FPU off; float code then uses libgcc soft-float. FPU=y also turns on FPU_SHARING, float printf in picolibc and cbprintf, which is most of the cost.ok
Default log level DEBUG
CONFIG_LOG_DEFAULT_LEVEL=4
+8.7 KB+0.0 KBok
-O2 speed optimisation (instead of -Os)
CONFIG_SPEED_OPTIMIZATIONS=y
+19.3 KB+0.0 KBok
-Og debug optimisation (instead of -Os)
CONFIG_DEBUG_OPTIMIZATIONS=y
+25.3 KB+0.1 KBok
Assertions on
CONFIG_ASSERT=y
+25.7 KB+1.3 KBok

Service catalogue

Each service is measured against its parent build: a network service against the TCP/IP base, ISO-TP against the CAN driver, and so on. Point at a bar to see its parent and the components it adds. Library services include a small, never-run caller so that the linker keeps their code.

NetworkingStorageSecurityOS services & debugLibraries, ML & UIDrivers & busesUSB classesIndustrial & field

The 40 largest services

0 KB50 KB100 KB150 KB200 KBLVGL (label + button, 16 KB pool)+211.9LC3 audio codec (encode + decode, 48 kHz)+102.9CMSIS-DSP (FIR, real FFT, statistics; f32)+81.8Apache Thrift (binary protocol, memory transport)+74.1TLS 1.2 sockets (mbedTLS + TLS credentials)+71.7LwM2M client (OMA, over CoAP/UDP)+52.6Bluetooth LE host + H:4 HCI over UART+51.5Userspace (MPU-based user mode)+49.5net shell (net iface/ping/arp/conn/...)+41.4Ethernet + IPv6 + UDP (ND, MLD, ICMPv6; no IPv4)+40.3WireGuard VPN+35.5C++ exceptions+35.1OSCORE (uoscore) object security for CoAP+33.7LoRaWAN (loramac-node, EU868, OTAA)+29.9mbed TLS 1.3 client (AES128-GCM, ECDHE P-256)+28.9SNMP agent over USB CDC-NCM (ENET off, external z…+28.6HTTP server (HTTP/1.1 + HTTP/2, one static resour…+27.6Zephyr crypto API on mbed TLS shim (AES-CBC)+27.6Ethernet L2 + ENET driver + AF_PACKET sockets (no…+27.5TensorFlow Lite Micro (hello_world sine model)+26.0HTTPS server (HTTP server on TLS sockets)+26.0Ethernet + IPv4 + UDP (ARP, ICMPv4; no TCP)+26.0USB host stack + shell (USB2 host port, EHCI)+25.1mbed TLS 1.2 client (ECDHE-ECDSA-AES128-GCM)+25.1IPv6 added to net base (dual-stack base)+23.1PTP (IEEE 1588) stack with ENET PTP clock+21.9LittleFS on flash (VFS + littlefs)+21.5IPv6 added to IPv4 (dual stack, UDP)+20.7WebSocket client+20.6USB Mass Storage (BOT) with 32 KiB RAM disk+20.6gPTP (IEEE 802.1AS) with ENET PTP clock+20.3Sensor shell (sensor get)+19.6JWT with ES-256 (PSA)+19.5PSA ECDSA P-256 (mbed TLS ECP)+18.5Wi-Fi via ESP-AT modem (ESP32/ESP8266 on LPUART2)+17.3CANopenNode (CiA 301) stack+17.2SNMP v1/v2c agent (external zephyr-snmp module)+17.0JWT with RS-256 (PSA)+16.9PSA ECDH P-256+16.7MCUmgr image group (DFU upload to slot1)+16.7
Networking: 73 services
0 KB20 KB40 KB60 KBTLS 1.2 sockets (mbedTLS + TLS credentials)+71.7LwM2M client (OMA, over CoAP/UDP)+52.6net shell (net iface/ping/arp/conn/...)+41.4Ethernet + IPv6 + UDP (ND, MLD, ICMPv6; no IPv4)+40.3WireGuard VPN+35.5SNMP agent over USB CDC-NCM (ENET off, external z…+28.6HTTP server (HTTP/1.1 + HTTP/2, one static resour…+27.6Ethernet L2 + ENET driver + AF_PACKET sockets (no…+27.5HTTPS server (HTTP server on TLS sockets)+26.0Ethernet + IPv4 + UDP (ARP, ICMPv4; no TCP)+26.0IPv6 added to net base (dual-stack base)+23.1PTP (IEEE 1588) stack with ENET PTP clock+21.9IPv6 added to IPv4 (dual stack, UDP)+20.7WebSocket client+20.6gPTP (IEEE 802.1AS) with ENET PTP clock+20.3Wi-Fi via ESP-AT modem (ESP32/ESP8266 on LPUART2)+17.3SNMP v1/v2c agent (external zephyr-snmp module)+17.0OCPP 1.6 charge point (on WebSocket client + JSON)+16.6Cellular modem (modem_cellular, Quectel BG9x on L…+13.5DNS resolver + getaddrinfo()+12.6WebSocket server (on HTTP server)+12.4TCP (net base = IPv4 + UDP + TCP + sockets)+12.3SocketCAN (AF_CAN raw sockets on FlexCAN1)+12.2HTTP/1.1 client+12.1BSD sockets on IPv4/UDP+11.6CoAP server (coap_service)+11.0HTTPS client (HTTP client on TLS sockets)+11.0PPP over UART (LPUART2, pins 7/8)+10.7mDNS responder+10.7MQTT-SN client over UDP+10.3DHCPv4 server+10.1LLMNR responder+9.5zperf throughput tool (UDP + TCP, client + server)+9.5DHCPv6 client+9.4DTLS 1.2 sockets (on TLS)+9.1Shell telnet backend (TCP 23)+8.0CoAP client+7.8Packet capture (IPIP tunnel to a host)+7.4Modbus TCP server (raw ADU over a TCP socket)+5.4REST/JSON endpoint (JSON library)+4.8DHCPv4 client+4.6Socket service (shared poll thread)+4.3MQTT 3.1.1 client+4.1FTP client+4.0MQTT over TLS (on TLS sockets)+4.0IPv4 link-local autoconf (169.254/16) + ACD+4.0MQTT 5.0 client (instead of 3.1.1)+3.6net_mgmt events + connection manager+3.2DNS-SD service advertisement (on mDNS)+3.2IEEE 802.1Q VLAN (2 VLANs)+3.1socketpair() (AF_UNIX stream pair)+2.8Net config library (static IPv4 at boot)+2.6IGMPv2/v3 multicast join+2.5Latency monitor (latmus client)+2.4Syslog log backend over UDP+2.4Promiscuous mode API+2.2LLDP (IEEE 802.1AB) transmit+1.9Network statistics + user API+1.9TFTP client+1.8IPv6 fragmentation and reassembly+1.7IPv4 fragmentation and reassembly+1.4Prometheus metrics endpoint (on HTTP server)+1.3SNTP client (on DNS resolver)+1.2SOCKS5 proxy client+1.1SNMP trap sending (external zephyr-snmp)+0.7ICMP echo request API (ping)+0.6Packet filter (npf)+0.4SNMP private MIB, 3 read-only scalars (external z…+0.3HTTP server dynamic resource (callback)+0.1HostnameSmaller net_pkt/net_buf pools (tuning)SNMP agent without MIB-2 interfaces group (negati…-1.4ARP off (negative delta = ARP cost)-2.7
Storage: 15 services
0 KB5 KB10 KB15 KB20 KBLittleFS on flash (VFS + littlefs)+21.5SD card disk access (uSDHC + SDMMC disk)+14.8ext2 on SD card+14.2FAT FS (ELM FatFs) on SD card+11.5Flash driver (FlexSPI NOR, read/erase/write)+9.2File system shell (fs ls/cat/write...)+5.1ZMS (Zephyr Memory Storage)+4.9Flash shell commands+4.4NVS key-value store+4.0Settings on ZMS+2.9FCB (flash circular buffer)+2.3Settings on NVS+2.0Settings shell commands+1.6Stream flash (buffered sequential writer)+1.2Flash map + 1 MB storage partition+0.4
Security: 25 services
0 KB10 KB20 KB30 KBOSCORE (uoscore) object security for CoAP+33.7mbed TLS 1.3 client (AES128-GCM, ECDHE P-256)+28.9Zephyr crypto API on mbed TLS shim (AES-CBC)+27.6mbed TLS 1.2 client (ECDHE-ECDSA-AES128-GCM)+25.1JWT with ES-256 (PSA)+19.5PSA ECDSA P-256 (mbed TLS ECP)+18.5JWT with RS-256 (PSA)+16.9PSA ECDH P-256+16.7PSA Internal Trusted Storage on settings/NVS+13.3ML-DSA-87 post-quantum signature (mldsa-native)+13.1mbed TLS X.509 certificate parse + verify+13.1PSA RSA-2048 PKCS#1 v1.5 verify+12.0PSA ECDH X25519+11.9PSA AES-128-CBC+8.1PSA AES-128-GCM+8.0PSA AES-128-CCM+7.2PSA ECDSA P-256 (p256-m driver)+6.5PSA ChaCha20-Poly1305+5.1PSA Crypto core (mbed TLS / TF-PSA-Crypto) + rand…+4.5DCP hardware crypto (AES-CBC, SHA-256) via crypto…+4.3PSA HMAC-SHA-256+3.2PSA HKDF-SHA-256+1.7Entropy driver (TRNG)+1.1PSA SHA-256+0.5CSPRNG API (sys_csrand_get on TRNG)+0.1
OS services & debug: 53 services
0 KB10 KB20 KB30 KB40 KBUserspace (MPU-based user mode)+49.5MCUmgr image group (DFU upload to slot1)+16.7Tracing CTF format, RAM backend+16.1Tracing CTF format, UART backend (LPUART6)+16.0SEGGER SystemView tracing over RTT+9.9Sensing subsystem (1 phy 3D sensor)+8.9POSIX_API umbrella (all PSE51-type options)+8.0MCUmgr SMP over 2nd USB CDC-ACM + OS group+6.6MCUmgr SMP over shell transport + OS group+6.1MCUmgr SMP shell + OS group (on LittleFS parent)+6.1Dictionary logging on the UART backend+5.9BMI160 IMU on LPI2C1 (sensing parent)+5.8Core dump to flash partition + shell+5.6FPU on (hard-float context switching)+5.1POSIX threads, mutex, condvar+3.7Stack canaries strong (-fstack-protector-strong)+3.5MCUmgr file system group+2.9POSIX file I/O on LittleFS+2.8System power management (idle/suspend states)+2.8Log backend to file system (LittleFS)+2.5CMSIS-RTOS v2 API layer+2.4Device power management (+ runtime)+2.1POSIX clocks, nanosleep, timers+2.1Retained RAM + retention + boot mode+2.0SEGGER RTT console + log backend+2.0hwinfo shell commands+1.6RTIO (real-time I/O queues)+1.4Input subsystem + gpio-keys (1 button)+1.4Thread analyzer (stack + runtime stats)+1.3Hardware watchdog (WDOG1)+1.2Task watchdog (software, no HW fallback)+1.2Task watchdog with WDOG1 fallback+1.1MCUmgr statistics group+1.1zbus message bus (listener + subscriber)+1.0POSIX semaphores (unnamed + named)+1.0Core dump to log backend+0.9User tracing hooks+0.9SMF state machine framework (hierarchical)+0.8Stack canaries (-fstack-protector)+0.8libc malloc arena (default size)+0.8One user-mode thread in a memory domain + syscall+0.6Input shell commands+0.5sys_reboot+0.5Second shell on LPUART6 (pins 0/1)+0.4Timing functions (DWT cycle counter)+0.4Log UART backend on LPUART6 (text)+0.3hwinfo (OCOTP unique ID, SRC reset cause)+0.2CPU load measurement+0.2System heap 8 KB (k_malloc)+0.2Static 8 KB k_heap+0.1libc malloc arena fixed at 16 KBStack sentinel instead of MPU stack guard-0.2App built as MCUboot-chainloadable image-6.2
Libraries, ML & UI: 20 services
0 KB50 KB100 KB150 KB200 KBLVGL (label + button, 16 KB pool)+211.9LC3 audio codec (encode + decode, 48 kHz)+102.9CMSIS-DSP (FIR, real FFT, statistics; f32)+81.8Apache Thrift (binary protocol, memory transport)+74.1C++ exceptions+35.1TensorFlow Lite Micro (hello_world sine model)+26.0TensorFlow Lite Micro with CMSIS-NN kernels+13.6CMSIS-NN (int8 fully connected + softmax)+7.6Float printf (cbprintf + picolibc)+6.7nanopb (Protocol Buffers)+6.2JSON library (descriptor parse/encode)+4.8Full C++ standard library (libstdc++)+2.8sys_hashmap (separate chaining)+1.8zcbor (CBOR encode/decode)+1.6C++ RTTI+1.3base64 encode/decode+0.9LVGL extra widgets (chart, slider, dropdown, text…+0.5Display API + dummy display controller+0.4CRC-32/16/8+0.4Ring buffer+0.1
Drivers & buses: 61 services
0 KB10 KB20 KB30 KB40 KB50 KBBluetooth LE host + H:4 HCI over UART+51.5Sensor shell (sensor get)+19.6I2S audio (SAI1, eDMA)+13.1External CAN controller MCP2515 on SPI+12.9LoRa radio SX1276 on SPI (point-to-point)+10.5CAN shell (can start/send/dump)+9.6SPI + FlexSPI NOR flash driver (SPI shell prerequ…+9.0SD card over SPI (SDHC SPI host + SDMMC disk)+8.8CAN driver (FlexCAN1)+8.4UART async API (eDMA) on LPUART2+8.2GNSS receiver (generic NMEA over UART)+6.0DMA API (eDMA, memory to memory)+5.6LPSPI eDMA transfers (instead of CPU)+5.3Stepper motion controller (GPIO step/dir)+5.2FlexIO SPI controller (FlexIO2)+4.6Flash shell on SPI NOR+4.4Regulator shell+4.3Stepper shell+4.3On-die temperature monitor (TEMPMON) sensor+4.2LoRa shell+4.1SPI driver (LPSPI3, CPU mode)+3.9CAN FD mode + FlexCAN3 (CAN FD controller)+3.5LED shell+3.21-Wire over UART + DS18B20 temperature sensor+2.9ADC shell+2.9SPI shell+2.8SSD1306 OLED display driver (I2C)+2.8I2C driver (LPI2C1)+2.8ILI9341 TFT display driver (MIPI DBI over SPI)+2.7Quadrature decoder (ENC1 via XBAR)+2.7I2C shell (i2c scan/read/write)+2.3PWM driver (FlexPWM2 submodule 0)+2.3GPIO keyboard matrix (4x4)+2.2Counter driver (GPT2 + SNVS RTC counter)+2.1UART shell (uart write/read/baudrate)+2.0FlexIO PWM (FlexIO1)+2.0ADC driver (ADC1, 12-bit SAR)+1.8LED strip shell+1.6Counter shell+1.6Counter on QuadTimer (QTMR1 channel 0)+1.5EEPROM shell+1.5BME280 environment sensor on I2C+1.5External SPI NOR flash (second chip select)+1.4PWM shell+1.3Input subsystem + gpio-keys (2 buttons)+1.3I2C EEPROM (AT24C256)+1.2Hardware watchdog (WDOG1)+1.1Regulator API (regulator-fixed with enable GPIO)+1.1Entropy driver (TRNG)+1.1RTC shell (rtc get/set)+1.0Counter on PIT channel 0+1.0Watchdog shell+1.0I2C target (slave) mode API+0.7RTC API (rtc-counter on SNVS)+0.7SHT3x humidity sensor on I2C+0.6WS2812 LED strip over SPI+0.6LED API (gpio-leds driver)+0.6SPI asynchronous API+0.5Input shell (input dump)+0.5Extra UART instance (LPUART2, interrupt driven)+0.2RS-485 with hardware DE (LPUART2 RTS)
USB classes: 11 services
0 KB5 KB10 KB15 KB20 KB25 KBUSB host stack + shell (USB2 host port, EHCI)+25.1USB Mass Storage (BOT) with 32 KiB RAM disk+20.6USB device shell (usbd ...)+7.4USB CDC-NCM Ethernet (with IPv4, next to ENET)+4.8USB CDC-ECM Ethernet (with IPv4, next to ENET)+3.6USB Audio Class 2 (stereo 48 kHz headphones)+3.4USB HID keyboard+2.4USB DFU (runtime + DFU mode, RAM image)+2.1Second CDC-ACM serial port+0.5App-owned USB device context (composite base)-0.1USB CDC-NCM as the only network interface (ENET o…-4.9
Industrial & field: 5 services
0 KB5 KB10 KB15 KB20 KB25 KBLoRaWAN (loramac-node, EU868, OTAA)+29.9CANopenNode (CiA 301) stack+17.2ISO-TP (ISO 15765-2) transport over CAN+6.8Modbus RTU server (RS-485, DE GPIO)+6.3Modbus RTU client (RS-485, DE GPIO)+4.9

All services

ServiceDomain / layerFLASH ΔRAM ΔTotal FLASHTotal RAMRAM region useMeasured againstWhat it is · hardware · componentsStatus
TLS 1.2 sockets (mbedTLS + TLS credentials)
cat.net.tls
Networking
security
+71.7 KB+40.5 KB226.5 KB107.8 KB42%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
mbedTLS 4 + TF-PSA-Crypto, TLS 1.2 with one ciphersuite (ECDHE-ECDSA-AES128-GCM-SHA256, X.509, PEM), a 30 KiB static mbedTLS heap and 2 KiB max record (as samples/net/mqtt_publisher overlay-tls), TLS socket option layer, credential store.
componentsmodules/mbedtls +60.8 KB / RAM +38.7 KB
subsys/net +7.2 KB / RAM +1.7 KB
(merged strings) +2.3 KB
lib/os +0.8 KB / RAM +0.0 KB
lib/libc +0.2 KB / RAM +0.0 KB
ok
LwM2M client (OMA, over CoAP/UDP)
cat.net.lwm2m
Networking
protocol
+52.6 KB+24.5 KB207.3 KB91.9 KB36%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
Engine, RD client and the mandatory objects (security, server, device). No IPSO objects.
componentssubsys/net/lib/lwm2m +38.0 KB / RAM +23.9 KB
(merged strings) +5.8 KB
subsys/net/lib/coap +3.3 KB / RAM +0.0 KB
toolchain libs (libc, libgcc) +2.5 KB
subsys/net/lib/http +1.1 KB
ok
net shell (net iface/ping/arp/conn/...)
cat.net.shell
Networking
debug
+41.4 KB+0.5 KB196.2 KB67.9 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net +22.0 KB / RAM +0.5 KB
(merged strings) +14.2 KB
toolchain libs (libc, libgcc) +4.8 KB
lib/utils +0.2 KB
subsys/shell +0.1 KB
ok
Ethernet + IPv6 + UDP (ND, MLD, ICMPv6; no IPv4)
cat.net.ipv6
Networking
connectivity
+40.3 KB+34.5 KB145.1 KB63.2 KB25%app
Reference app
IPv6-only root, compare with cat.net.ipv4 (both have parent app).
componentssubsys/net +27.8 KB / RAM +17.6 KB
drivers/ethernet +5.0 KB / RAM +15.9 KB
modules/hal_nxp +4.2 KB / RAM +0.1 KB
subsys/net/l2/ethernet +1.1 KB / RAM +0.0 KB
(merged strings) +0.9 KB
ok
WireGuard VPN
cat.net.wireguard
Networking
security
+35.5 KB+8.5 KB190.2 KB75.9 KB30%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentsmodules/mbedtls +19.9 KB / RAM +1.8 KB
subsys/net/lib/wireguard +12.2 KB / RAM +4.5 KB
subsys/net +1.5 KB / RAM +2.1 KB
subsys/net/l2/virtual +0.9 KB / RAM +0.0 KB
lib/utils +0.4 KB
ok
SNMP agent over USB CDC-NCM (ENET off, external zephyr-snmp)
cat.net.usb_ncm_snmp
Networking
protocol
+28.6 KB+4.6 KB154.5 KB59.0 KB23%cat.usb.cdc_ncm_only
USB CDC-NCM as the only network interface (ENET off)
External zephyr-snmp module (not in-tree) on the USB CDC-NCM network interface, with the Ethernet MAC off. Same conf and stub as cat.net.snmp. Delta = SNMP agent + BSD sockets + socket service on the NCM IPv4/UDP stack.
Hardware: USB device port only; no Ethernet kit needed
componentsmodules/snmp +12.3 KB / RAM +1.7 KB
subsys/net +11.6 KB / RAM +2.4 KB
lib/os +2.6 KB / RAM +0.5 KB
kernel +1.1 KB / RAM +0.0 KB
lib/utils +0.8 KB
ok
HTTP server (HTTP/1.1 + HTTP/2, one static resource)
cat.net.http_server
Networking
protocol
+27.6 KB+7.5 KB182.4 KB74.9 KB29%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net/lib/http +18.9 KB / RAM +7.2 KB
(merged strings) +3.1 KB
lib/os +2.1 KB / RAM +0.1 KB
subsys/net +2.0 KB / RAM +0.1 KB
lib/utils +0.8 KB
ok
Ethernet L2 + ENET driver + AF_PACKET sockets (no IP)
cat.net.eth_l2
Networking
connectivity
+27.5 KB+32.9 KB132.3 KB61.6 KB24%app
Reference app
Net core, net_pkt/net_buf pools, Ethernet L2, ENET MAC driver, MDIO, DP83825 PHY, BSD socket layer with AF_PACKET only. Zephyr needs at least one packet protocol, so raw packet sockets stand in for IP. Not a parent of the IP chain.
componentssubsys/net +14.1 KB / RAM +15.8 KB
drivers/ethernet +5.0 KB / RAM +15.9 KB
modules/hal_nxp +4.2 KB / RAM +0.1 KB
kernel +1.4 KB / RAM +0.6 KB
(merged strings) +0.9 KB
ok
HTTPS server (HTTP server on TLS sockets)
cat.net.https_server
Networking
protocol
+26.0 KB+7.5 KB252.5 KB115.3 KB45%cat.net.tls
TLS 1.2 sockets (mbedTLS + TLS credentials)
componentssubsys/net/lib/http +18.9 KB / RAM +7.2 KB
(merged strings) +3.1 KB
lib/os +1.3 KB / RAM +0.1 KB
subsys/net +1.0 KB / RAM +0.1 KB
lib/utils +0.8 KB
ok
Ethernet + IPv4 + UDP (ARP, ICMPv4; no TCP)
cat.net.ipv4
Networking
connectivity
+26.0 KB+32.0 KB130.8 KB60.7 KB24%app
Reference app
Minimal native IP stack on ENET; root of the IPv4 chain. Net core, Ethernet L2, ENET driver, PHY, IPv4, ARP, ICMPv4, UDP, native net_context API. No BSD sockets.
componentssubsys/net +10.9 KB / RAM +15.0 KB
drivers/ethernet +5.0 KB / RAM +15.9 KB
modules/hal_nxp +4.2 KB / RAM +0.1 KB
subsys/net/l2/ethernet +3.7 KB / RAM +0.2 KB
(merged strings) +0.9 KB
ok
IPv6 added to net base (dual-stack base)
cat.net.base6
Networking
protocol
+23.1 KB+3.3 KB177.9 KB70.6 KB28%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
Parent of IPv6-only services such as DHCPv6.
componentssubsys/net +22.9 KB / RAM +3.3 KB
subsys/net/l2/ethernet +0.1 KB
(merged strings) +0.0 KB
lib/net_buf +0.0 KB
drivers/ethernet +0.0 KB / RAM +0.0 KB
ok
PTP (IEEE 1588) stack with ENET PTP clock
cat.net.ptp
Networking
protocol
+21.9 KB+21.6 KB176.7 KB89.0 KB35%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
Enables the ENET 1588 timer node and the Zephyr PTP stack (UDP/IPv4 transport).
componentssubsys/net/lib/ptp +10.6 KB / RAM +19.6 KB
subsys/net +3.9 KB / RAM +1.8 KB
toolchain libs (libc, libgcc) +2.2 KB
lib/os +2.2 KB / RAM +0.1 KB
drivers/ptp_clock +0.9 KB / RAM +0.0 KB
ok
IPv6 added to IPv4 (dual stack, UDP)
cat.net.dual
Networking
protocol
+20.7 KB+3.1 KB151.5 KB63.8 KB25%cat.net.ipv4
Ethernet + IPv4 + UDP (ARP, ICMPv4; no TCP)
componentssubsys/net +20.6 KB / RAM +3.1 KB
subsys/net/l2/ethernet +0.1 KB
(merged strings) +0.0 KB
lib/net_buf +0.0 KB
drivers/ethernet +0.0 KB / RAM +0.0 KB
ok
WebSocket client
cat.net.ws_client
Networking
protocol
+20.6 KB+2.8 KB175.3 KB70.1 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
websocket_send_msg() uses k_malloc, so a 1500 B system heap is set (as samples/net/sockets/websocket_client). The handshake needs SHA-1, which pulls in mbedTLS/PSA crypto.
componentssubsys/net/lib/http +8.7 KB
modules/mbedtls +4.1 KB / RAM +0.8 KB
subsys/net/lib/websocket +3.2 KB / RAM +0.1 KB
(merged strings) +2.2 KB
lib/os +0.8 KB
ok
gPTP (IEEE 802.1AS) with ENET PTP clock
cat.net.gptp
Networking
protocol
+20.3 KB+6.0 KB175.1 KB73.4 KB29%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
Enables the ENET 1588 timer node (enet_ptp_clock) and the gPTP stack, grandmaster capable.
componentssubsys/net/l2/ethernet +15.3 KB / RAM +4.1 KB
toolchain libs (libc, libgcc) +2.4 KB
drivers/ptp_clock +0.9 KB / RAM +0.0 KB
subsys/net +0.7 KB / RAM +1.8 KB
modules/hal_nxp +0.5 KB
ok
Wi-Fi via ESP-AT modem (ESP32/ESP8266 on LPUART2)
cat.net.esp_at
Networking
connectivity
+17.3 KB+13.1 KB172.0 KB80.5 KB31%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
Offloaded Wi-Fi driver (AT commands) plus Wi-Fi management L2, next to Ethernet.
Hardware: ESP32 or ESP8266 with ESP-AT firmware on LPUART2 (pins 7/8)
componentsdrivers/wifi +9.4 KB / RAM +10.9 KB
subsys/net +3.4 KB / RAM +2.1 KB
drivers/modem +2.3 KB / RAM +0.0 KB
(merged strings) +1.9 KB
drivers/serial +0.2 KB / RAM +0.0 KB
ok
SNMP v1/v2c agent (external zephyr-snmp module)
cat.net.snmp
Networking
protocol
+17.0 KB+3.4 KB159.4 KB65.3 KB26%cat.net.ipv4_sockets
BSD sockets on IPv4/UDP
External out-of-tree module simpleiot/zephyr-snmp v0.1.0 (BSD-3, lwIP-derived), not in Zephyr. Agent on UDP 161 via the socket service, with the default MIB-2 system, interfaces and snmp groups, and one install_snmp_handler() callback on a private OID. Parent is the UDP-only socket stack (no TCP); the delta includes the socket service.
componentsmodules/snmp +12.3 KB / RAM +1.7 KB
lib/os +2.2 KB / RAM +0.1 KB
subsys/net +1.3 KB / RAM +1.5 KB
lib/utils +0.8 KB
kernel +0.2 KB
ok
OCPP 1.6 charge point (on WebSocket client + JSON)
cat.net.ocpp
Networking
industrial
+16.6 KB+9.3 KB191.9 KB79.5 KB31%cat.net.ws_client
WebSocket client
componentssubsys/net/lib/ocpp +8.6 KB / RAM +9.4 KB
lib/utils +4.9 KB
(merged strings) +1.9 KB
subsys/net +0.5 KB
toolchain libs (libc, libgcc) +0.4 KB
ok
Cellular modem (modem_cellular, Quectel BG9x on LPUART2)
cat.net.cellular
Networking
connectivity
+13.5 KB+4.0 KB168.2 KB71.4 KB28%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
Generic modem subsystem (chat, CMUX, modem PPP, UART backend) and the cellular driver.
Hardware: Quectel BG95/BG96 modem on LPUART2 (pins 7/8) with a power-key GPIO
componentssubsys/net/l2/ppp +6.7 KB / RAM +1.3 KB
subsys/net +4.2 KB / RAM +2.6 KB
drivers/modem +0.8 KB / RAM +0.0 KB
kernel +0.5 KB
(merged strings) +0.4 KB
ok
DNS resolver + getaddrinfo()
cat.net.dns
Networking
protocol
+12.6 KB+5.3 KB167.4 KB72.7 KB28%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net/lib/dns +5.2 KB / RAM +3.1 KB
subsys/net +3.7 KB / RAM +1.7 KB
lib/os +2.2 KB / RAM +0.1 KB
lib/utils +0.8 KB
kernel +0.3 KB / RAM +0.3 KB
ok
WebSocket server (on HTTP server)
cat.net.ws_server
Networking
protocol
+12.4 KB+2.8 KB194.8 KB77.6 KB30%cat.net.http_server
HTTP server (HTTP/1.1 + HTTP/2, one static resource)
Selects the WebSocket library (SHA-1 via mbedTLS/PSA). websocket_send_msg() uses k_malloc, so a 1500 B system heap is set.
componentsmodules/mbedtls +8.3 KB / RAM +0.8 KB
subsys/net/lib/websocket +2.5 KB / RAM +0.1 KB
subsys/net/lib/http +0.5 KB / RAM +0.1 KB
lib/utils +0.3 KB
subsys/net +0.2 KB / RAM +0.0 KB
ok
TCP (net base = IPv4 + UDP + TCP + sockets)
cat.net.base
Networking
protocol
+12.3 KB+5.4 KB154.8 KB67.4 KB26%cat.net.ipv4_sockets
BSD sockets on IPv4/UDP
TCP added under the socket layer, so the socket code reaches it and the linker keeps it (TCP without a user shows only about 3 KB). This is the parent of most services.
componentssubsys/net +12.1 KB / RAM +5.4 KB
lib/net_buf +0.1 KB
kernel +0.1 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
SocketCAN (AF_CAN raw sockets on FlexCAN1)
cat.net.socketcan
Networking
connectivity
+12.2 KB+2.1 KB167.0 KB69.4 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
Includes the FlexCAN driver (CAN is off in the app) and the CAN net interface.
Hardware: CAN transceiver on FlexCAN1 (pins 22 TX / 23 RX)
componentsdrivers/can +4.8 KB / RAM +1.8 KB
modules/hal_nxp +3.4 KB / RAM +0.0 KB
subsys/net +2.5 KB / RAM +0.0 KB
(merged strings) +0.8 KB
drivers/net +0.5 KB / RAM +0.1 KB
ok
HTTP/1.1 client
cat.net.http_client
Networking
protocol
+12.1 KB+0.2 KB166.9 KB67.6 KB26%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net/lib/http +8.7 KB
(merged strings) +2.0 KB
lib/os +0.7 KB
subsys/net +0.4 KB
toolchain libs (libc, libgcc) +0.2 KB
ok
BSD sockets on IPv4/UDP
cat.net.ipv4_sockets
Networking
protocol
+11.6 KB+1.2 KB142.4 KB61.9 KB24%cat.net.ipv4
Ethernet + IPv4 + UDP (ARP, ICMPv4; no TCP)
BSD socket API with ZVFS file descriptors, poll and select, UDP only.
componentssubsys/net +10.3 KB / RAM +0.9 KB
kernel +0.9 KB / RAM +0.0 KB
lib/os +0.3 KB / RAM +0.3 KB
(linker fill) -0.0 KB
ok
CoAP server (coap_service)
cat.net.coap_server
Networking
protocol
+11.0 KB+9.2 KB165.8 KB76.6 KB30%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net/lib/coap +5.4 KB / RAM +7.1 KB
lib/os +2.2 KB / RAM +0.1 KB
subsys/net +1.6 KB / RAM +1.5 KB
lib/utils +0.8 KB
app (application code) +0.7 KB / RAM +0.6 KB
ok
HTTPS client (HTTP client on TLS sockets)
cat.net.https_client
Networking
protocol
+11.0 KB+0.2 KB237.5 KB108.1 KB42%cat.net.tls
TLS 1.2 sockets (mbedTLS + TLS credentials)
componentssubsys/net/lib/http +8.7 KB
(merged strings) +2.0 KB
toolchain libs (libc, libgcc) +0.2 KB
app (application code) +0.1 KB / RAM +0.2 KB
ok
PPP over UART (LPUART2, pins 7/8)
cat.net.ppp
Networking
connectivity
+10.7 KB+4.8 KB165.5 KB72.2 KB28%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
PPP L2 and the UART PPP driver as a second interface next to Ethernet.
Hardware: Serial PPP peer on LPUART2 (Teensy pins 7 RX2 / 8 TX2)
componentssubsys/net/l2/ppp +6.3 KB / RAM +1.3 KB
drivers/net +2.0 KB / RAM +2.0 KB
subsys/net +1.9 KB / RAM +1.5 KB
(merged strings) +0.3 KB
drivers/serial +0.2 KB / RAM +0.0 KB
ok
mDNS responder
cat.net.mdns
Networking
protocol
+10.7 KB+5.6 KB165.5 KB73.0 KB29%cat.net.hostname
Hostname
componentssubsys/net +5.1 KB / RAM +3.0 KB
subsys/net/lib/dns +2.2 KB / RAM +2.4 KB
lib/os +2.2 KB / RAM +0.1 KB
lib/utils +0.8 KB
kernel +0.2 KB
ok
MQTT-SN client over UDP
cat.net.mqtt_sn
Networking
protocol
+10.3 KB+5.3 KB165.0 KB72.6 KB28%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net/lib/mqtt_sn +6.2 KB / RAM +4.8 KB
subsys/net +3.0 KB / RAM +0.0 KB
lib/os +0.7 KB
app (application code) +0.2 KB / RAM +0.4 KB
lib/net_buf +0.1 KB
ok
DHCPv4 server
cat.net.dhcpv4_server
Networking
protocol
+10.1 KB+3.3 KB164.8 KB70.7 KB28%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net/lib/dhcpv4 +4.7 KB / RAM +0.5 KB
lib/os +2.2 KB / RAM +0.1 KB
subsys/net +2.0 KB / RAM +2.7 KB
lib/utils +0.8 KB
kernel +0.3 KB
ok
LLMNR responder
cat.net.llmnr
Networking
protocol
+9.5 KB+4.1 KB164.4 KB71.5 KB28%cat.net.hostname
Hostname
componentssubsys/net +5.0 KB / RAM +2.8 KB
lib/os +2.2 KB / RAM +0.1 KB
subsys/net/lib/dns +1.3 KB / RAM +1.2 KB
lib/utils +0.8 KB
kernel +0.2 KB
ok
zperf throughput tool (UDP + TCP, client + server)
cat.net.zperf
Networking
debug
+9.5 KB+10.9 KB164.2 KB78.3 KB31%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net/lib/zperf +4.3 KB / RAM +9.2 KB
lib/os +2.2 KB / RAM +0.1 KB
subsys/net +1.8 KB / RAM +1.6 KB
lib/utils +0.8 KB
kernel +0.2 KB
ok
DHCPv6 client
cat.net.dhcpv6
Networking
protocol
+9.4 KB+1.6 KB187.2 KB72.2 KB28%cat.net.base6
IPv6 added to net base (dual-stack base)
componentssubsys/net/lib/dhcpv6 +5.7 KB / RAM +0.1 KB
toolchain libs (libc, libgcc) +2.0 KB
subsys/net +1.5 KB / RAM +1.3 KB
drivers/ethernet +0.2 KB / RAM +0.2 KB
app (application code) +0.1 KB
ok
DTLS 1.2 sockets (on TLS)
cat.net.dtls
Networking
security
+9.1 KB+0.1 KB235.6 KB108.0 KB42%cat.net.tls
TLS 1.2 sockets (mbedTLS + TLS credentials)
componentsmodules/mbedtls +6.1 KB
subsys/net +2.9 KB / RAM +0.2 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
ok
Shell telnet backend (TCP 23)
cat.net.telnet
Networking
debug
+8.0 KB+6.3 KB162.8 KB73.7 KB29%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/shell +2.6 KB / RAM +4.7 KB
lib/os +2.2 KB / RAM +0.1 KB
subsys/net +1.4 KB / RAM +1.5 KB
lib/utils +0.8 KB
(merged strings) +0.7 KB
ok
CoAP client
cat.net.coap_client
Networking
protocol
+7.8 KB+2.8 KB162.5 KB70.2 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net/lib/coap +6.6 KB / RAM +1.3 KB
lib/os +0.7 KB
subsys/net +0.3 KB
app (application code) +0.1 KB / RAM +1.5 KB
(merged strings) +0.1 KB
ok
Packet capture (IPIP tunnel to a host)
cat.net.capture
Networking
debug
+7.4 KB+4.8 KB162.2 KB72.1 KB28%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
Copies packets into an IPv4-in-IPv4 tunnel to a host that runs Wireshark.
componentssubsys/net +4.6 KB / RAM +4.5 KB
subsys/net/l2/virtual +2.4 KB / RAM +0.2 KB
toolchain libs (libc, libgcc) +0.2 KB
(merged strings) +0.1 KB
app (application code) +0.1 KB
ok
Modbus TCP server (raw ADU over a TCP socket)
cat.net.modbus_tcp
Networking
industrial
+5.4 KB+0.7 KB160.2 KB68.0 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/modbus +3.7 KB / RAM +0.6 KB
(merged strings) +0.9 KB
subsys/net +0.4 KB
app (application code) +0.3 KB / RAM +0.1 KB
lib/os +0.1 KB
ok
REST/JSON endpoint (JSON library)
cat.net.http_rest
Networking
protocol
+4.8 KB+0.1 KB187.3 KB75.0 KB29%cat.net.http_dynamic
HTTP server dynamic resource (callback)
componentslib/utils +4.2 KB
toolchain libs (libc, libgcc) +0.3 KB
app (application code) +0.2 KB / RAM +0.1 KB
(merged strings) +0.1 KB
(linker fill) +0.0 KB / RAM +0.0 KB
ok
DHCPv4 client
cat.net.dhcpv4
Networking
protocol
+4.6 KB+1.5 KB159.3 KB68.8 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net/lib/dhcpv4 +3.0 KB / RAM +0.1 KB
subsys/net +1.4 KB / RAM +1.3 KB
drivers/ethernet +0.1 KB / RAM +0.1 KB
app (application code) +0.0 KB
(merged strings) +0.0 KB
ok
Socket service (shared poll thread)
cat.net.socket_service
Networking
os-service
+4.3 KB+1.6 KB159.1 KB69.0 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentslib/os +2.2 KB / RAM +0.1 KB
subsys/net +1.0 KB / RAM +1.5 KB
lib/utils +0.8 KB
kernel +0.2 KB
app (application code) +0.1 KB / RAM +0.0 KB
ok
MQTT 3.1.1 client
cat.net.mqtt
Networking
protocol
+4.1 KB+0.4 KB158.9 KB67.7 KB26%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net/lib/mqtt +3.1 KB
subsys/net +0.6 KB
lib/os +0.2 KB
app (application code) +0.2 KB / RAM +0.4 KB
(merged strings) +0.0 KB
ok
FTP client
cat.net.ftp
Networking
protocol
+4.0 KB+4.4 KB171.4 KB77.1 KB30%cat.net.dns
DNS resolver + getaddrinfo()
ftp_open() resolves the host name with getaddrinfo(), which needs k_calloc; the DNS resolver variant provides the heap.
componentssubsys/net/lib/ftp +2.4 KB / RAM +2.3 KB
(merged strings) +0.8 KB
subsys/net +0.5 KB
kernel +0.1 KB
app (application code) +0.1 KB / RAM +2.1 KB
ok
MQTT over TLS (on TLS sockets)
cat.net.mqtt_tls
Networking
protocol
+4.0 KB+0.4 KB230.5 KB108.2 KB42%cat.net.tls
TLS 1.2 sockets (mbedTLS + TLS credentials)
componentssubsys/net/lib/mqtt +3.7 KB
app (application code) +0.2 KB / RAM +0.4 KB
subsys/net +0.1 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
IPv4 link-local autoconf (169.254/16) + ACD
cat.net.ipv4_autoconf
Networking
protocol
+4.0 KB+1.8 KB158.8 KB69.1 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net +3.8 KB / RAM +1.8 KB
subsys/net/l2/ethernet +0.2 KB
drivers/ethernet +0.0 KB / RAM +0.0 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
MQTT 5.0 client (instead of 3.1.1)
cat.net.mqtt5
Networking
protocol
+3.6 KB+0.4 KB162.4 KB68.2 KB27%cat.net.mqtt
MQTT 3.1.1 client
Same stub with MQTT_VERSION_5_0; delta = extra cost of MQTT 5 properties and AUTH over 3.1.1.
componentssubsys/net/lib/mqtt +3.5 KB
app (application code) +0.0 KB / RAM +0.4 KB
(linker fill) +0.0 KB
ok
net_mgmt events + connection manager
cat.net.mgmt_events
Networking
os-service
+3.2 KB+2.5 KB158.0 KB69.8 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
net_mgmt event bus and the L4 connection manager (connectivity up/down events).
componentssubsys/net +3.2 KB / RAM +2.4 KB
(merged strings) +0.0 KB
ok
DNS-SD service advertisement (on mDNS)
cat.net.dns_sd
Networking
protocol
+3.2 KB+0.0 KB168.6 KB73.0 KB29%cat.net.mdns
mDNS responder
componentssubsys/net/lib/dns +3.0 KB / RAM +0.0 KB
(merged strings) +0.1 KB
subsys/net +0.0 KB
app (application code) +0.0 KB
(linker fill) +0.0 KB
ok
IEEE 802.1Q VLAN (2 VLANs)
cat.net.vlan
Networking
protocol
+3.1 KB+0.5 KB157.9 KB67.9 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net/l2/ethernet +1.9 KB / RAM +0.4 KB
subsys/net/l2/virtual +0.9 KB / RAM +0.0 KB
subsys/net +0.2 KB / RAM +0.1 KB
(merged strings) +0.1 KB
app (application code) +0.0 KB
ok
socketpair() (AF_UNIX stream pair)
cat.net.socketpair
Networking
os-service
+2.8 KB+0.3 KB157.6 KB67.7 KB26%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net +2.4 KB
kernel +0.2 KB / RAM +0.4 KB
lib/os +0.2 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
ok
Net config library (static IPv4 at boot)
cat.net.config
Networking
os-service
+2.6 KB+1.4 KB157.4 KB68.8 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net +1.8 KB / RAM +1.3 KB
subsys/net/lib/config +0.6 KB / RAM +0.1 KB
(merged strings) +0.1 KB
toolchain libs (libc, libgcc) +0.0 KB
ok
IGMPv2/v3 multicast join
cat.net.igmp
Networking
protocol
+2.5 KB+0.1 KB157.3 KB67.4 KB26%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net +2.4 KB / RAM +0.0 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
Latency monitor (latmus client)
cat.net.latmon
Networking
debug
+2.4 KB+8.3 KB157.2 KB75.7 KB30%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net +1.1 KB
lib/os +0.7 KB
subsys/net/lib/latmon +0.5 KB / RAM +8.3 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
ok
Syslog log backend over UDP
cat.net.syslog
Networking
debug
+2.4 KB+0.9 KB157.2 KB68.2 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net +1.1 KB
subsys/logging +0.8 KB / RAM +0.9 KB
lib/os +0.2 KB
toolchain libs (libc, libgcc) +0.2 KB
(merged strings) +0.2 KB
ok
Promiscuous mode API
cat.net.promisc
Networking
protocol
+2.2 KB+1.3 KB156.9 KB68.7 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net +1.3 KB / RAM +1.3 KB
subsys/net/l2/ethernet +0.8 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
drivers/ethernet +0.0 KB
ok
LLDP (IEEE 802.1AB) transmit
cat.net.lldp
Networking
protocol
+1.9 KB+1.4 KB156.7 KB68.8 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net +1.0 KB / RAM +1.3 KB
subsys/net/l2/ethernet +0.9 KB / RAM +0.1 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
drivers/ethernet +0.0 KB / RAM +0.0 KB
ok
Network statistics + user API
cat.net.stats
Networking
debug
+1.9 KB+0.4 KB156.7 KB67.7 KB26%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net +1.3 KB / RAM +0.2 KB
subsys/net/l2/ethernet +0.3 KB
drivers/ethernet +0.2 KB / RAM +0.2 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
ok
TFTP client
cat.net.tftp
Networking
protocol
+1.8 KB+0.5 KB156.6 KB67.9 KB27%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentslib/os +0.7 KB
subsys/net/lib/tftp +0.6 KB
subsys/net +0.4 KB
app (application code) +0.1 KB / RAM +0.5 KB
(merged strings) +0.0 KB
ok
IPv6 fragmentation and reassembly
cat.net.ipv6_frag
Networking
protocol
+1.7 KB+0.4 KB179.6 KB71.1 KB28%cat.net.base6
IPv6 added to net base (dual-stack base)
componentssubsys/net +1.7 KB / RAM +0.5 KB
ok
IPv4 fragmentation and reassembly
cat.net.ipv4_frag
Networking
protocol
+1.4 KB+0.2 KB156.2 KB67.6 KB26%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net +1.4 KB / RAM +0.2 KB
(linker fill) +0.0 KB
ok
Prometheus metrics endpoint (on HTTP server)
cat.net.prometheus
Networking
protocol
+1.3 KB+0.4 KB183.7 KB75.3 KB29%cat.net.http_server
HTTP server (HTTP/1.1 + HTTP/2, one static resource)
componentssubsys/net +0.8 KB
(merged strings) +0.3 KB
app (application code) +0.2 KB / RAM +0.4 KB
toolchain libs (libc, libgcc) +0.1 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
SNTP client (on DNS resolver)
cat.net.sntp
Networking
protocol
+1.2 KB+0.1 KB168.6 KB72.8 KB28%cat.net.dns
DNS resolver + getaddrinfo()
sntp_simple() resolves the server name with getaddrinfo(), which needs k_calloc; the DNS resolver variant provides the heap.
componentssubsys/net/lib/sntp +0.9 KB / RAM +0.1 KB
subsys/net/lib/utils +0.1 KB
subsys/net +0.1 KB
app (application code) +0.0 KB
(merged strings) +0.0 KB
ok
SOCKS5 proxy client
cat.net.socks
Networking
protocol
+1.1 KB+0.1 KB155.8 KB67.4 KB26%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net/lib/socks +0.4 KB
subsys/net +0.4 KB / RAM +0.1 KB
lib/os +0.1 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
ok
SNMP trap sending (external zephyr-snmp)
cat.net.snmp_traps
Networking
protocol
+0.7 KB+0.0 KB160.1 KB65.3 KB26%cat.net.snmp
SNMP v1/v2c agent (external zephyr-snmp module)
Adds a trap destination and snmp_send_trap_generic() to the external zephyr-snmp agent.
componentssubsys/net +0.4 KB
modules/snmp +0.1 KB
app (application code) +0.0 KB
toolchain libs (libc, libgcc) +0.0 KB
(merged strings) +0.0 KB
ok
ICMP echo request API (ping)
cat.net.ping
Networking
protocol
+0.6 KB+0.1 KB155.3 KB67.4 KB26%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
ICMPv4 echo reply is always in the stack; this adds the net_icmp echo-request API used by ping.
componentssubsys/net +0.5 KB / RAM +0.0 KB
app (application code) +0.1 KB / RAM +0.0 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
Packet filter (npf)
cat.net.pkt_filter
Networking
security
+0.4 KB+0.1 KB155.2 KB67.4 KB26%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net +0.3 KB / RAM +0.0 KB
app (application code) +0.1 KB / RAM +0.0 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
SNMP private MIB, 3 read-only scalars (external zephyr-snmp)
cat.net.snmp_private_mib
Networking
protocol
+0.3 KB+0.0 KB159.7 KB65.3 KB26%cat.net.snmp
SNMP v1/v2c agent (external zephyr-snmp module)
External zephyr-snmp module. Private MIB under 1.3.6.1.4.1.32473.1 with 3 SNMP_SCALAR_CREATE_NODE_READONLY scalars, registered with snmp_set_mibs() next to MIB-2.
componentsapp (application code) +0.3 KB / RAM +0.0 KB
modules/snmp +0.0 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
HTTP server dynamic resource (callback)
cat.net.http_dynamic
Networking
protocol
+0.1 KB+0.1 KB182.5 KB74.9 KB29%cat.net.http_server
HTTP server (HTTP/1.1 + HTTP/2, one static resource)
componentsapp (application code) +0.1 KB / RAM +0.0 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
Hostname
cat.net.hostname
Networking
os-service
+0.0 KB+0.0 KB154.8 KB67.4 KB26%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
componentssubsys/net +0.0 KB / RAM +0.0 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
Smaller net_pkt/net_buf pools (tuning)
cat.net.small_pools
Networking
os-service
+0.0 KB-6.8 KB154.8 KB60.5 KB24%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
8+8 packets and 16+16 buffers instead of the defaults 14+14 and 36+36 (128 B each). Negative RAM delta = what the default pools cost above this size.
componentssubsys/net +0.0 KB / RAM -6.8 KB
ok
SNMP agent without MIB-2 interfaces group (negative delta)
cat.net.snmp_no_mib2_if
Networking
protocol
-1.4 KB+0.0 KB158.0 KB65.3 KB26%cat.net.snmp
SNMP v1/v2c agent (external zephyr-snmp module)
External zephyr-snmp agent with SNMP_AGENT_MIB2_INTERFACES=n; the delta is minus the cost of the ifTable group.
componentsmodules/snmp -1.3 KB
subsys/net -0.1 KB
(merged strings) -0.0 KB
(linker fill) -0.0 KB
ok
ARP off (negative delta = ARP cost)
cat.net.arp_off
Networking
protocol
-2.7 KB-0.2 KB128.1 KB60.5 KB24%cat.net.ipv4
Ethernet + IPv4 + UDP (ARP, ICMPv4; no TCP)
IPv4 without ARP. Not usable on Ethernet; the delta is minus the ARP cost.
componentssubsys/net/l2/ethernet -2.5 KB / RAM -0.2 KB
kernel -0.1 KB
subsys/net -0.1 KB
(merged strings) -0.0 KB
(linker fill) +0.0 KB
ok
MQTT over WebSocket (on WebSocket client)
cat.net.mqtt_ws
Networking
protocol
–––––cat.net.ws_client
WebSocket client
not available: Does not compile in Zephyr v4.4.2. subsys/net/lib/mqtt/mqtt_transport_websocket.c uses NET_ERR/NET_DBG/NET_INFO but does not include zephyr/net/net_log.h (implicit declaration errors). Fix upstream with one include line; then remove this na.
OpenThread (Thread mesh)
cat.net.openthread
Networking
connectivity
–––––app
Reference app
not available: Needs an IEEE 802.15.4 radio; Teensy 4.1 has none (an RCP over UART/SPI would be external hardware).
IEEE 802.15.4 L2 / 6LoWPAN
cat.net.ieee802154
Networking
connectivity
–––––app
Reference app
not available: No 802.15.4 radio on Teensy 4.1.
Bluetooth LE (and IPSP / BLE networking)
cat.net.bt_ipsp
Networking
connectivity
–––––app
Reference app
not available: No Bluetooth controller on Teensy 4.1 (an external HCI controller over UART would be needed).
Native Wi-Fi (wpa_supplicant, hostap)
cat.net.wifi_native
Networking
connectivity
–––––app
Reference app
not available: No on-chip Wi-Fi. Only an offloaded AT modem (cat.net.esp_at) applies.
Ethernet bridge
cat.net.bridge
Networking
connectivity
–––––app
Reference app
not available: Teensy 4.1 has one Ethernet port; a bridge needs two or more.
DSA (distributed switch architecture)
cat.net.dsa
Networking
connectivity
–––––app
Reference app
not available: No Ethernet switch chip on Teensy 4.1.
10BASE-T1S
cat.net.t1s
Networking
connectivity
–––––app
Reference app
not available: Needs a T1S MAC-PHY (for example LAN865x on SPI); the board has a DP83825 100BASE-TX PHY.
LittleFS on flash (VFS + littlefs)
cat.store.littlefs
Storage
storage
+21.5 KB+1.6 KB135.9 KB39.3 KB15%cat.store.flash_map
Flash map + 1 MB storage partition
componentsmodules/littlefs +14.9 KB
subsys/fs +4.2 KB / RAM +1.1 KB
(merged strings) +1.6 KB
app (application code) +0.5 KB / RAM +0.5 KB
lib/libc +0.1 KB / RAM +0.0 KB
ok
SD card disk access (uSDHC + SDMMC disk)
cat.store.sdmmc_disk
Storage
driver
+14.8 KB+1.5 KB119.7 KB30.2 KB12%app
Reference app
uSDHC1 host driver, SD stack and the zephyr,sdmmc-disk node "SD" from teensy41.dts.
Hardware: microSD card in the on-board slot
componentssubsys/sd +5.2 KB / RAM +0.0 KB
drivers/sdhc +4.3 KB / RAM +0.4 KB
modules/hal_nxp +2.6 KB / RAM +0.0 KB
(merged strings) +1.7 KB
subsys/disk +0.5 KB / RAM +0.0 KB
ok
ext2 on SD card
cat.store.ext2_sd
Storage
storage
+14.2 KB+43.8 KB133.9 KB74.0 KB29%cat.store.sdmmc_disk
SD card disk access (uSDHC + SDMMC disk)

Hardware: microSD card in the on-board slot
componentssubsys/fs +11.5 KB / RAM +43.8 KB
(merged strings) +2.5 KB
app (application code) +0.2 KB / RAM +0.0 KB
kernel +0.0 KB
(linker fill) +0.0 KB / RAM +0.0 KB
ok
FAT FS (ELM FatFs) on SD card
cat.store.fatfs_sd
Storage
storage
+11.5 KB+1.0 KB131.2 KB31.2 KB12%cat.store.sdmmc_disk
SD card disk access (uSDHC + SDMMC disk)

Hardware: microSD card in the on-board slot
componentsmodules/fatfs +7.9 KB / RAM +0.0 KB
subsys/fs +2.6 KB / RAM +0.4 KB
(merged strings) +0.8 KB
app (application code) +0.2 KB / RAM +0.6 KB
subsys/disk +0.0 KB
ok
Flash driver (FlexSPI NOR, read/erase/write)
cat.store.flash
Storage
driver
+9.2 KB+9.0 KB114.0 KB37.7 KB15%app
Reference app
MCUX FlexSPI NOR driver on the 8 MB W25Q64 that also holds the XIP code.
componentsdrivers/flash +4.9 KB / RAM +5.1 KB
modules/hal_nxp +2.7 KB / RAM +2.7 KB
drivers/memc +1.1 KB / RAM +1.0 KB
SoC (i.MX RT) +0.1 KB / RAM +0.1 KB
app (application code) +0.1 KB
ok
File system shell (fs ls/cat/write...)
cat.store.fs_shell
Storage
storage
+5.1 KB+0.1 KB141.0 KB39.5 KB15%cat.store.littlefs
LittleFS on flash (VFS + littlefs)
componentssubsys/fs +3.8 KB / RAM +0.1 KB
(merged strings) +1.3 KB
toolchain libs (libc, libgcc) +0.0 KB
ok
ZMS (Zephyr Memory Storage)
cat.store.zms
Storage
storage
+4.9 KB+0.1 KB119.3 KB37.8 KB15%cat.store.flash_map
Flash map + 1 MB storage partition
componentssubsys/kvss +4.1 KB / RAM +0.0 KB
(merged strings) +0.6 KB
app (application code) +0.1 KB / RAM +0.1 KB
drivers/flash +0.1 KB
subsys/crc +0.1 KB
ok
Flash shell commands
cat.store.flash_shell
Storage
storage
+4.4 KB+8.2 KB118.4 KB46.0 KB18%cat.store.flash
Flash driver (FlexSPI NOR, read/erase/write)
componentsdrivers/flash +2.7 KB / RAM +8.3 KB
(merged strings) +1.7 KB
subsys/shell +0.0 KB
(linker fill) +0.0 KB
ok
NVS key-value store
cat.store.nvs
Storage
storage
+4.0 KB+0.1 KB118.4 KB37.8 KB15%cat.store.flash_map
Flash map + 1 MB storage partition
componentssubsys/kvss +3.3 KB / RAM +0.0 KB
(merged strings) +0.3 KB
drivers/flash +0.1 KB
app (application code) +0.1 KB / RAM +0.0 KB
subsys/crc +0.1 KB
ok
Settings on ZMS
cat.store.settings_zms
Storage
storage
+2.9 KB+0.2 KB122.2 KB38.0 KB15%cat.store.zms
ZMS (Zephyr Memory Storage)
componentssubsys/settings +2.1 KB / RAM +0.1 KB
lib/hash +0.2 KB
subsys/storage +0.2 KB
(merged strings) +0.1 KB
app (application code) +0.1 KB / RAM +0.0 KB
ok
FCB (flash circular buffer)
cat.store.fcb
Storage
storage
+2.3 KB+0.1 KB116.7 KB37.9 KB15%cat.store.flash_map
Flash map + 1 MB storage partition
componentssubsys/fs +1.8 KB
subsys/storage +0.2 KB
app (application code) +0.1 KB / RAM +0.1 KB
drivers/flash +0.1 KB
subsys/crc +0.1 KB
ok
Settings on NVS
cat.store.settings_nvs
Storage
storage
+2.0 KB+0.1 KB120.4 KB37.9 KB15%cat.store.nvs
NVS key-value store
componentssubsys/settings +1.6 KB / RAM +0.1 KB
subsys/storage +0.2 KB
app (application code) +0.1 KB / RAM +0.0 KB
drivers/flash +0.1 KB
(merged strings) +0.1 KB
ok
Settings shell commands
cat.store.settings_shell
Storage
storage
+1.6 KB+0.0 KB122.0 KB37.9 KB15%cat.store.settings_nvs
Settings on NVS
componentssubsys/settings +0.9 KB
(merged strings) +0.6 KB
lib/utils +0.2 KB
subsys/shell +0.0 KB
(linker fill) +0.0 KB
ok
Stream flash (buffered sequential writer)
cat.store.stream_flash
Storage
storage
+1.2 KB+0.3 KB115.6 KB38.0 KB15%cat.store.flash_map
Flash map + 1 MB storage partition
componentssubsys/storage +0.7 KB / RAM +0.0 KB
(merged strings) +0.3 KB
app (application code) +0.1 KB / RAM +0.3 KB
drivers/flash +0.1 KB
(linker fill) +0.0 KB
ok
Flash map + 1 MB storage partition
cat.store.flash_map
Storage
storage
+0.4 KB+0.0 KB114.4 KB37.7 KB15%cat.store.flash
Flash driver (FlexSPI NOR, read/erase/write)
Overlay adds a 1 MB storage partition at the end of the 8 MB FlexSPI NOR (0x700000).
componentssubsys/storage +0.2 KB / RAM +0.0 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
OSCORE (uoscore) object security for CoAP
cat.sec.oscore
Security
protocol
+33.7 KB+10.4 KB144.2 KB43.0 KB17%cat.sec.psa_base
PSA Crypto core (mbed TLS / TF-PSA-Crypto) + random
OSCORE context init and CoAP <-> OSCORE conversion; delta includes zcbor and the PSA algorithms the library selects (AES-CCM, HMAC, SHA-256, ECDH/ECDSA P-256).
componentsmodules/mbedtls +22.5 KB / RAM +9.5 KB
modules/uoscore-uedhoc +9.1 KB / RAM +0.0 KB
modules/zcbor +1.1 KB
(merged strings) +0.9 KB
app (application code) +0.2 KB / RAM +0.8 KB
ok
mbed TLS 1.3 client (AES128-GCM, ECDHE P-256)
cat.sec.mbedtls_tls13
Security
security
+28.9 KB+9.4 KB171.5 KB43.9 KB17%cat.sec.mbedtls_x509
mbed TLS X.509 certificate parse + verify
componentsmodules/mbedtls +28.2 KB / RAM +8.6 KB
app (application code) +0.7 KB / RAM +0.8 KB
(merged strings) +0.1 KB
(linker fill) -0.0 KB
ok
Zephyr crypto API on mbed TLS shim (AES-CBC)
cat.sec.crypto_mbedtls_shim
Security
security
+27.6 KB+10.6 KB133.6 KB39.3 KB15%cat.sec.csprng
CSPRNG API (sys_csrand_get on TRNG)
componentsmodules/mbedtls +24.2 KB / RAM +9.9 KB
drivers/crypto +1.8 KB / RAM +0.5 KB
(merged strings) +0.9 KB
subsys/random +0.2 KB / RAM +0.0 KB
lib/libc +0.2 KB / RAM +0.0 KB
ok
mbed TLS 1.2 client (ECDHE-ECDSA-AES128-GCM)
cat.sec.mbedtls_tls12
Security
security
+25.1 KB+9.4 KB167.7 KB43.9 KB17%cat.sec.mbedtls_x509
mbed TLS X.509 certificate parse + verify
TLS 1.2 client library on a caller-supplied transport (no sockets); PSA ECDH, ECDSA, AES-GCM, SHA-256.
componentsmodules/mbedtls +24.2 KB / RAM +8.6 KB
app (application code) +0.7 KB / RAM +0.8 KB
(merged strings) +0.1 KB
(linker fill) +0.0 KB
ok
JWT with ES-256 (PSA)
cat.sec.jwt_es256
Security
library
+19.5 KB+1.5 KB130.0 KB34.1 KB13%cat.sec.psa_base
PSA Crypto core (mbed TLS / TF-PSA-Crypto) + random
JSON Web Token builder and ECDSA P-256 signing; delta includes JSON library and PSA ECDSA.
componentsmodules/mbedtls +17.1 KB / RAM +1.0 KB
lib/utils +1.4 KB
subsys/jwt +0.6 KB / RAM +0.0 KB
app (application code) +0.2 KB / RAM +0.5 KB
(merged strings) +0.1 KB
ok
PSA ECDSA P-256 (mbed TLS ECP)
cat.sec.psa_ecdsa_p256
Security
security
+18.5 KB+1.0 KB129.5 KB33.6 KB13%cat.sec.psa_sha256
PSA SHA-256
componentsmodules/mbedtls +18.3 KB / RAM +1.0 KB
app (application code) +0.2 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
JWT with RS-256 (PSA)
cat.sec.jwt_rs256
Security
library
+16.9 KB+37.4 KB127.4 KB70.0 KB27%cat.sec.psa_base
PSA Crypto core (mbed TLS / TF-PSA-Crypto) + random
componentsmodules/mbedtls +14.4 KB / RAM +36.9 KB
lib/utils +1.4 KB
subsys/jwt +0.6 KB / RAM +0.0 KB
app (application code) +0.2 KB / RAM +0.5 KB
(merged strings) +0.1 KB
ok
PSA ECDH P-256
cat.sec.psa_ecdh_p256
Security
security
+16.7 KB+1.0 KB127.2 KB33.6 KB13%cat.sec.psa_base
PSA Crypto core (mbed TLS / TF-PSA-Crypto) + random
componentsmodules/mbedtls +16.5 KB / RAM +1.0 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
PSA Internal Trusted Storage on settings/NVS
cat.sec.psa_its
Security
security
+13.3 KB+12.9 KB133.6 KB50.8 KB20%cat.store.settings_nvs
Settings on NVS
Secure storage subsystem (AES-GCM transform, settings store). Delta includes the PSA Crypto core, entropy and AES-GCM, because the parent has none.
componentsmodules/mbedtls +9.9 KB / RAM +9.8 KB
subsys/secure_storage +1.6 KB / RAM +0.0 KB
modules/hal_nxp +0.8 KB
(merged strings) +0.2 KB
subsys/random +0.2 KB / RAM +0.0 KB
ok
ML-DSA-87 post-quantum signature (mldsa-native)
cat.sec.mldsa87
Security
security
+13.1 KB+11.8 KB123.6 KB44.4 KB17%cat.sec.psa_base
PSA Crypto core (mbed TLS / TF-PSA-Crypto) + random
Experimental TF-PSA-Crypto PQCP driver; keygen, sign, verify through mldsa-native functions (not yet in the PSA API). Static key and signature buffers (12 KB) are RAM.
componentsmodules/mbedtls +12.9 KB
app (application code) +0.2 KB / RAM +11.8 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
mbed TLS X.509 certificate parse + verify
cat.sec.mbedtls_x509
Security
security
+13.1 KB+0.9 KB142.6 KB34.5 KB13%cat.sec.psa_ecdsa_p256
PSA ECDSA P-256 (mbed TLS ECP)
componentsmodules/mbedtls +10.4 KB
(merged strings) +2.0 KB
app (application code) +0.6 KB / RAM +1.0 KB
(linker fill) +0.0 KB
ok
PSA RSA-2048 PKCS#1 v1.5 verify
cat.sec.psa_rsa_verify
Security
security
+12.0 KB+8.2 KB123.0 KB40.8 KB16%cat.sec.psa_sha256
PSA SHA-256
componentsmodules/mbedtls +11.3 KB / RAM +8.2 KB
app (application code) +0.7 KB
(merged strings) +0.0 KB
ok
PSA ECDH X25519
cat.sec.psa_x25519
Security
security
+11.9 KB+1.0 KB122.4 KB33.6 KB13%cat.sec.psa_base
PSA Crypto core (mbed TLS / TF-PSA-Crypto) + random
componentsmodules/mbedtls +11.7 KB / RAM +1.0 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
PSA AES-128-CBC
cat.sec.psa_aes_cbc
Security
security
+8.1 KB+9.1 KB118.6 KB41.6 KB16%cat.sec.psa_base
PSA Crypto core (mbed TLS / TF-PSA-Crypto) + random
componentsmodules/mbedtls +7.8 KB / RAM +9.0 KB
app (application code) +0.2 KB / RAM +0.1 KB
(merged strings) +0.1 KB
(linker fill) +0.0 KB
ok
PSA AES-128-GCM
cat.sec.psa_aes_gcm
Security
security
+8.0 KB+9.1 KB118.5 KB41.6 KB16%cat.sec.psa_base
PSA Crypto core (mbed TLS / TF-PSA-Crypto) + random
componentsmodules/mbedtls +7.7 KB / RAM +9.0 KB
app (application code) +0.2 KB / RAM +0.1 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
PSA AES-128-CCM
cat.sec.psa_aes_ccm
Security
security
+7.2 KB+9.1 KB117.7 KB41.6 KB16%cat.sec.psa_base
PSA Crypto core (mbed TLS / TF-PSA-Crypto) + random
componentsmodules/mbedtls +7.0 KB / RAM +9.0 KB
app (application code) +0.2 KB / RAM +0.1 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
PSA ECDSA P-256 (p256-m driver)
cat.sec.psa_ecdsa_p256m
Security
security
+6.5 KB+1.0 KB117.4 KB33.6 KB13%cat.sec.psa_sha256
PSA SHA-256
Same API calls as cat.sec.psa_ecdsa_p256, implemented by the small p256-m driver.
componentsmodules/mbedtls +6.2 KB / RAM +1.0 KB
app (application code) +0.2 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
PSA ChaCha20-Poly1305
cat.sec.psa_chachapoly
Security
security
+5.1 KB+0.5 KB115.6 KB33.1 KB13%cat.sec.psa_base
PSA Crypto core (mbed TLS / TF-PSA-Crypto) + random
componentsmodules/mbedtls +4.8 KB / RAM +0.4 KB
app (application code) +0.3 KB / RAM +0.1 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
PSA Crypto core (mbed TLS / TF-PSA-Crypto) + random
cat.sec.psa_base
Security
security
+4.5 KB+3.9 KB110.5 KB32.6 KB13%cat.sec.csprng
CSPRNG API (sys_csrand_get on TRNG)
PSA Crypto API provider with no algorithm enabled; psa_crypto_init and psa_generate_random on the CSPRNG.
componentsmodules/mbedtls +4.0 KB / RAM +0.8 KB
subsys/random +0.2 KB / RAM +0.0 KB
lib/libc +0.2 KB / RAM +0.0 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
ok
DCP hardware crypto (AES-CBC, SHA-256) via crypto API
cat.sec.dcp
Security
driver
+4.3 KB+0.8 KB109.1 KB29.5 KB12%app
Reference app
NXP Data Co-Processor driver (CRYPTO_MCUX_DCP) behind the Zephyr crypto API.
componentsmodules/hal_nxp +2.9 KB / RAM +0.2 KB
drivers/crypto +1.0 KB / RAM +0.6 KB
app (application code) +0.3 KB / RAM +0.1 KB
arch (Cortex-M7) +0.1 KB
(merged strings) +0.0 KB
ok
PSA HMAC-SHA-256
cat.sec.psa_hmac
Security
security
+3.2 KB+0.4 KB114.2 KB33.0 KB13%cat.sec.psa_sha256
PSA SHA-256
componentsmodules/mbedtls +3.0 KB / RAM +0.4 KB
app (application code) +0.2 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
PSA HKDF-SHA-256
cat.sec.psa_hkdf
Security
security
+1.7 KB+0.0 KB115.9 KB33.0 KB13%cat.sec.psa_hmac
PSA HMAC-SHA-256
componentsmodules/mbedtls +1.5 KB
app (application code) +0.2 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
Entropy driver (TRNG)
cat.sec.entropy_trng
Security
driver
+1.1 KB+0.0 KB105.9 KB28.7 KB11%app
Reference app
componentsmodules/hal_nxp +0.8 KB
drivers/entropy +0.1 KB / RAM +0.0 KB
app (application code) +0.1 KB
(merged strings) +0.1 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
PSA SHA-256
cat.sec.psa_sha256
Security
security
+0.5 KB+0.0 KB111.0 KB32.6 KB13%cat.sec.psa_base
PSA Crypto core (mbed TLS / TF-PSA-Crypto) + random
componentsmodules/mbedtls +0.4 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
ok
CSPRNG API (sys_csrand_get on TRNG)
cat.sec.csprng
Security
security
+0.1 KB+0.0 KB106.0 KB28.7 KB11%cat.sec.entropy_trng
Entropy driver (TRNG)
componentsapp (application code) +0.1 KB
subsys/random +0.0 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
EDHOC (uedhoc) key exchange
cat.sec.edhoc
Security
protocol
–––––cat.sec.psa_base
PSA Crypto core (mbed TLS / TF-PSA-Crypto) + random
EDHOC initiator; delta includes zcbor, the PSA algorithms the library selects and mbed TLS X.509 (cert.c uses the legacy mbed TLS PK identifiers, so MBEDTLS_DECLARE_PRIVATE_IDENTIFIERS is needed).not available: uedhoc src/edhoc/cert.c uses the mbed TLS 3 PK API (MBEDTLS_PK_ECDSA, mbedtls_x509_crt sig_pk). Zephyr v4.4.2 ships mbed TLS 4 / TF-PSA-Crypto, where these identifiers are private and not reachable from x509_crt.h, even with MBEDTLS_X509_CRT_PARSE_C and MBEDTLS_DECLARE_PRIVATE_IDENTIFIERS. The module does not compile.
Userspace (MPU-based user mode)
cat.dbg.userspace
OS services & debug
debug
+49.5 KB+7.4 KB154.3 KB36.1 KB14%app
Reference app
CONFIG_USERSPACE on the ARMv7-M MPU; adds syscall marshalling, the kernel object table (gperf-generated) and the privileged-stack and MPU-partition handling. No user thread yet.
componentskernel +19.2 KB / RAM +0.2 KB
drivers/serial +4.7 KB
subsys/usb +3.9 KB / RAM +0.0 KB
(merged strings) +3.5 KB
drivers/gpio +3.0 KB
ok
MCUmgr image group (DFU upload to slot1)
cat.sys.mcumgr_img
OS services & debug
os-service
+16.7 KB+9.7 KB127.6 KB43.0 KB17%cat.sys.mcumgr_shell
MCUmgr SMP over shell transport + OS group
Image manager, stream flash and MCUboot bootutil library; overlay adds image-0 (code, 3 MB) and image-1 (3 MB) slots. HalfKay does not swap slots, so on the real board this only stores an image.
componentsdrivers/flash +5.2 KB / RAM +5.1 KB
subsys/mgmt +3.8 KB / RAM +0.6 KB
modules/hal_nxp +2.7 KB / RAM +2.7 KB
(merged strings) +1.2 KB
drivers/memc +1.1 KB / RAM +1.0 KB
ok
Tracing CTF format, RAM backend
cat.dbg.tracing_ctf_ram
OS services & debug
debug
+16.1 KB+7.5 KB120.9 KB36.2 KB14%app
Reference app
componentssubsys/tracing +14.5 KB / RAM +7.4 KB
kernel +1.1 KB
drivers/gpio +0.2 KB
app (application code) +0.2 KB / RAM +0.0 KB
(linker fill) +0.1 KB
ok
Tracing CTF format, UART backend (LPUART6)
cat.dbg.tracing_ctf_uart
OS services & debug
debug
+16.0 KB+3.5 KB120.9 KB32.2 KB13%app
Reference app

Hardware: USB-serial adapter on Teensy pins 0/1
componentssubsys/tracing +14.4 KB / RAM +3.4 KB
kernel +1.1 KB
drivers/gpio +0.2 KB
app (application code) +0.2 KB / RAM +0.0 KB
(linker fill) +0.1 KB
ok
SEGGER SystemView tracing over RTT
cat.dbg.systemview
OS services & debug
debug
+9.9 KB+5.6 KB114.1 KB34.3 KB13%abl.gpio_get_dir_cfg
GPIO get-direction/get-config API
Parent is the app without GPIO_GET_DIRECTION (same v4.4.2 gpio.h tracing macro bug as cat.dbg.tracing_user).
Hardware: SWD debug probe (see cat.dbg.segger_rtt)
componentsmodules/segger +4.6 KB / RAM +5.5 KB
kernel +1.2 KB
subsys/usb +1.1 KB / RAM +0.0 KB
arch (Cortex-M7) +0.6 KB
(merged strings) +0.5 KB
ok
Sensing subsystem (1 phy 3D sensor)
cat.sys.sensing
OS services & debug
os-service
+8.9 KB+14.0 KB119.6 KB43.0 KB17%cat.sys.sensor_bmi160
BMI160 IMU on LPI2C1 (sensing parent)
The sensing subsystem allocates connections with k_malloc; a 2 KB system heap is part of the delta.
Hardware: BMI160 IMU on Teensy pins 18 (SDA) / 19 (SCL)
componentssubsys/sensing +5.1 KB / RAM +10.4 KB
(merged strings) +1.5 KB
subsys/rtio +1.3 KB / RAM +1.5 KB
lib/utils +0.8 KB
app (application code) +0.1 KB
ok
POSIX_API umbrella (all PSE51-type options)
cat.sys.posix_api
OS services & debug
os-service
+8.0 KB+6.9 KB112.8 KB35.6 KB14%app
Reference app
CONFIG_POSIX_API alone; the stubs of the three POSIX variants above call the API.
componentslib/posix +4.4 KB / RAM +5.9 KB
kernel +1.3 KB / RAM +0.7 KB
lib/utils +0.7 KB
lib/os +0.6 KB
app (application code) +0.4 KB / RAM +0.1 KB
ok
MCUmgr SMP over 2nd USB CDC-ACM + OS group
cat.sys.mcumgr_usb
OS services & debug
os-service
+6.6 KB+6.9 KB111.4 KB35.6 KB14%app
Reference app
SMP UART transport on a second CDC-ACM interface (zephyr,uart-mcumgr); OS group.
componentssubsys/mgmt +2.5 KB / RAM +4.1 KB
modules/zcbor +1.8 KB
lib/utils +0.7 KB
subsys/usb +0.5 KB / RAM +3.5 KB
drivers/console +0.5 KB / RAM +0.3 KB
ok
MCUmgr SMP over shell transport + OS group
cat.sys.mcumgr_shell
OS services & debug
os-service
+6.1 KB+4.7 KB110.9 KB33.4 KB13%app
Reference app
SMP frames tunnelled in the existing USB CDC-ACM shell; OS group (echo, reset, taskstat, info).
componentssubsys/mgmt +2.9 KB / RAM +4.1 KB
modules/zcbor +1.8 KB
lib/utils +0.7 KB
arch (Cortex-M7) +0.2 KB
(merged strings) +0.2 KB
ok
MCUmgr SMP shell + OS group (on LittleFS parent)
cat.sys.mcumgr_base_lfs
OS services & debug
os-service
+6.1 KB+4.7 KB141.9 KB44.0 KB17%cat.store.littlefs
LittleFS on flash (VFS + littlefs)
Same as cat.sys.mcumgr_shell, built on the LittleFS variant; parent of the fs group variant.
componentssubsys/mgmt +2.9 KB / RAM +4.1 KB
modules/zcbor +1.8 KB
lib/utils +0.7 KB
arch (Cortex-M7) +0.2 KB
(merged strings) +0.2 KB
ok
Dictionary logging on the UART backend
cat.dbg.log_dictionary
OS services & debug
debug
+5.9 KB+0.0 KB111.0 KB28.8 KB11%cat.dbg.log_uart
Log UART backend on LPUART6 (text)
Binary dictionary output; strings stay on the host (log_parser.py with the build database).
componentssubsys/usb +5.8 KB
(merged strings) -4.1 KB
arch (Cortex-M7) +1.3 KB
drivers/usb +0.7 KB
kernel +0.6 KB
ok
BMI160 IMU on LPI2C1 (sensing parent)
cat.sys.sensor_bmi160
OS services & debug
driver
+5.8 KB+0.2 KB110.6 KB29.0 KB11%app
Reference app
LPI2C1 (pins 18/19) driver, sensor API and BMI160 driver; parent of the sensing variant.
Hardware: BMI160 IMU on Teensy pins 18 (SDA) / 19 (SCL)
componentsdrivers/sensor +2.9 KB / RAM +0.1 KB
modules/hal_nxp +1.7 KB / RAM +0.0 KB
drivers/i2c +0.9 KB / RAM +0.1 KB
(merged strings) +0.1 KB
drivers/clock_control +0.1 KB
ok
Core dump to flash partition + shell
cat.dbg.coredump_flash
OS services & debug
debug
+5.6 KB+0.4 KB120.0 KB38.1 KB15%cat.store.flash_map
Flash map + 1 MB storage partition
Overlay adds a 64 KB coredump partition below the storage partition.
componentssubsys/debug +2.8 KB / RAM +0.3 KB
(merged strings) +1.7 KB
subsys/storage +0.7 KB / RAM +0.0 KB
arch (Cortex-M7) +0.2 KB / RAM +0.1 KB
drivers/flash +0.1 KB
ok
FPU on (hard-float context switching)
cat.sys.fpu
OS services & debug
os-service
+5.1 KB+1.2 KB110.0 KB30.0 KB12%app
Reference app
The app builds without CONFIG_FPU. DSP, ML and LC3 variants need it and use this parent.
componentstoolchain libs (libc, libgcc) +4.6 KB
arch (Cortex-M7) +0.4 KB
(merged strings) +0.1 KB
modules/hal_nxp +0.1 KB
kernel -0.0 KB / RAM +0.6 KB
ok
POSIX threads, mutex, condvar
cat.sys.posix_threads
OS services & debug
os-service
+3.7 KB+1.8 KB108.5 KB30.5 KB12%app
Reference app
In v4.4.2 pthread_cond_timedwait uses timespec_to_timeoutms(), which builds only with POSIX_TIMERS, so POSIX timers are part of the delta.
componentslib/posix +2.4 KB / RAM +1.5 KB
lib/utils +0.7 KB
kernel +0.3 KB / RAM +0.3 KB
app (application code) +0.1 KB / RAM +0.0 KB
(merged strings) +0.1 KB
ok
Stack canaries strong (-fstack-protector-strong)
cat.dbg.stack_canaries_strong
OS services & debug
debug
+3.5 KB+0.0 KB109.5 KB28.7 KB11%cat.sec.entropy_trng
Entropy driver (TRNG)
componentssubsys/shell +1.2 KB
kernel +0.4 KB / RAM +0.0 KB
drivers/usb +0.3 KB
drivers/gpio +0.3 KB
subsys/logging +0.2 KB
ok
MCUmgr file system group
cat.sys.mcumgr_fs
OS services & debug
os-service
+2.9 KB+0.1 KB144.8 KB44.1 KB17%cat.sys.mcumgr_base_lfs
MCUmgr SMP shell + OS group (on LittleFS parent)
componentssubsys/mgmt +2.0 KB / RAM +0.2 KB
subsys/fs +0.5 KB
(merged strings) +0.2 KB
kernel +0.1 KB
modules/zcbor +0.1 KB
ok
POSIX file I/O on LittleFS
cat.sys.posix_fs
OS services & debug
os-service
+2.8 KB+0.5 KB138.6 KB39.9 KB16%cat.store.littlefs
LittleFS on flash (VFS + littlefs)
open/read/write/lseek/fstat on the /lfs mount through ZVFS. The stub declares the prototypes, because v4.4.2 unistd.h declares them only with CONFIG_POSIX_API.
componentslib/os +1.6 KB / RAM +0.2 KB
subsys/fs +0.3 KB
kernel +0.3 KB / RAM +0.0 KB
lib/posix +0.2 KB / RAM +0.0 KB
app (application code) +0.2 KB / RAM +0.0 KB
ok
System power management (idle/suspend states)
cat.sys.pm
OS services & debug
os-service
+2.8 KB+0.7 KB107.6 KB29.4 KB11%app
Reference app
CONFIG_PM with the RT10xx power states from the SoC devicetree.
componentssubsys/pm +1.2 KB / RAM +0.1 KB
SoC (i.MX RT) +0.6 KB / RAM +0.6 KB
modules/hal_nxp +0.3 KB
drivers/serial +0.3 KB / RAM +0.0 KB
generated (ISR tables) +0.1 KB / RAM +0.1 KB
ok
Log backend to file system (LittleFS)
cat.dbg.log_fs
OS services & debug
debug
+2.5 KB+1.8 KB138.4 KB41.1 KB16%cat.store.littlefs
LittleFS on flash (VFS + littlefs)
componentssubsys/fs +1.2 KB
subsys/logging +1.0 KB / RAM +1.8 KB
(merged strings) +0.3 KB
toolchain libs (libc, libgcc) +0.0 KB
(linker fill) +0.0 KB
ok
CMSIS-RTOS v2 API layer
cat.sys.cmsis_rtos_v2
OS services & debug
os-service
+2.4 KB+5.1 KB107.2 KB33.8 KB13%app
Reference app
CMSIS-RTOS v2 needs k_poll and at least 56 preemptive priorities; both are part of the delta.
componentssubsys/portability +1.6 KB / RAM +4.8 KB
kernel +0.4 KB / RAM +0.0 KB
app (application code) +0.2 KB / RAM +0.0 KB
(merged strings) +0.1 KB
drivers/usb +0.1 KB / RAM +0.1 KB
ok
Device power management (+ runtime)
cat.sys.pm_device
OS services & debug
os-service
+2.1 KB+0.0 KB107.0 KB28.7 KB11%app
Reference app
componentssubsys/pm +1.4 KB / RAM +0.0 KB
subsys/shell +0.2 KB
(merged strings) +0.2 KB
kernel +0.2 KB
drivers/serial +0.1 KB
ok
POSIX clocks, nanosleep, timers
cat.sys.posix_timers
OS services & debug
os-service
+2.1 KB+3.8 KB110.6 KB34.3 KB13%cat.sys.posix_threads
POSIX threads, mutex, condvar
Parent has pthreads and POSIX_TIMERS (pthreads need them in v4.4.2); POSIX_CLOCK_SELECTION (clock_nanosleep) does not compile without pthreads. Delta = clock selection + the clock/timer code the stub reaches.
componentslib/posix +1.2 KB / RAM +3.8 KB
lib/os +0.6 KB
app (application code) +0.2 KB
kernel +0.1 KB
(merged strings) +0.0 KB
ok
Retained RAM + retention + boot mode
cat.sys.retention_bootmode
OS services & debug
os-service
+2.0 KB+0.1 KB106.9 KB28.8 KB11%app
Reference app
Overlay takes the last 4 KB of OCRAM2 as a retained-RAM region with a 256 B retention area used as zephyr,boot-mode.
componentssubsys/retention +1.1 KB / RAM +0.0 KB
drivers/retained_mem +0.3 KB / RAM +0.0 KB
(merged strings) +0.2 KB
subsys/crc +0.2 KB
app (application code) +0.1 KB
ok
SEGGER RTT console + log backend
cat.dbg.segger_rtt
OS services & debug
debug
+2.0 KB+1.2 KB106.8 KB29.9 KB12%app
Reference app

Hardware: SWD debug probe; Teensy 4.1 does not break out SWD (the MKL02 helper uses JTAG), so RTT needs a board modification
componentsmodules/segger +1.5 KB / RAM +1.2 KB
subsys/logging +0.4 KB / RAM +0.0 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
hwinfo shell commands
cat.sys.hwinfo_shell
OS services & debug
os-service
+1.6 KB+0.0 KB106.7 KB28.7 KB11%cat.sys.hwinfo
hwinfo (OCOTP unique ID, SRC reset cause)
componentsdrivers/hwinfo +1.0 KB
(merged strings) +0.6 KB
(linker fill) +0.0 KB
ok
RTIO (real-time I/O queues)
cat.sys.rtio
OS services & debug
os-service
+1.4 KB+0.4 KB106.3 KB29.1 KB11%app
Reference app
componentssubsys/rtio +1.0 KB / RAM +0.0 KB
app (application code) +0.4 KB / RAM +0.4 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
Input subsystem + gpio-keys (1 button)
cat.sys.input_gpio_keys
OS services & debug
os-service
+1.4 KB+1.6 KB106.2 KB30.3 KB12%app
Reference app
Overlay adds a gpio-keys node with one key on Teensy pin 2 (GPIO4_IO04, active low, pull-up).
Hardware: Push button between Teensy pin 2 and GND
componentsdrivers/input +0.7 KB / RAM +0.1 KB
subsys/input +0.3 KB / RAM +1.5 KB
(merged strings) +0.3 KB
app (application code) +0.1 KB / RAM +0.0 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
Thread analyzer (stack + runtime stats)
cat.dbg.thread_analyzer
OS services & debug
debug
+1.3 KB+0.2 KB106.1 KB28.9 KB11%app
Reference app
componentskernel +0.6 KB / RAM +0.1 KB
subsys/debug +0.3 KB / RAM +0.0 KB
(merged strings) +0.3 KB
subsys/shell +0.1 KB / RAM +0.0 KB
app (application code) +0.0 KB / RAM +0.0 KB
ok
Hardware watchdog (WDOG1)
cat.dbg.hw_wdt
OS services & debug
driver
+1.2 KB+0.0 KB106.1 KB28.7 KB11%app
Reference app
componentsdrivers/watchdog +0.5 KB / RAM +0.0 KB
modules/hal_nxp +0.3 KB
(merged strings) +0.3 KB
app (application code) +0.1 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
Task watchdog (software, no HW fallback)
cat.dbg.task_wdt
OS services & debug
os-service
+1.2 KB+0.2 KB106.0 KB28.9 KB11%app
Reference app
componentssubsys/task_wdt +0.6 KB / RAM +0.2 KB
arch (Cortex-M7) +0.2 KB
(merged strings) +0.2 KB
zephyr-core +0.1 KB
app (application code) +0.1 KB
ok
Task watchdog with WDOG1 fallback
cat.dbg.task_wdt_hw
OS services & debug
os-service
+1.1 KB+0.2 KB107.2 KB28.9 KB11%cat.dbg.hw_wdt
Hardware watchdog (WDOG1)
componentssubsys/task_wdt +0.6 KB / RAM +0.2 KB
arch (Cortex-M7) +0.2 KB
zephyr-core +0.1 KB
(merged strings) +0.1 KB
app (application code) +0.1 KB
ok
MCUmgr statistics group
cat.sys.mcumgr_stat
OS services & debug
os-service
+1.1 KB+0.0 KB112.1 KB33.4 KB13%cat.sys.mcumgr_shell
MCUmgr SMP over shell transport + OS group
componentssubsys/mgmt +0.8 KB / RAM +0.0 KB
subsys/stats +0.2 KB / RAM +0.0 KB
(merged strings) +0.1 KB
modules/zcbor +0.1 KB
(linker fill) -0.0 KB
ok
zbus message bus (listener + subscriber)
cat.sys.zbus
OS services & debug
os-service
+1.0 KB+0.1 KB105.9 KB28.8 KB11%app
Reference app
componentssubsys/zbus +0.6 KB / RAM +0.0 KB
app (application code) +0.2 KB / RAM +0.1 KB
(merged strings) +0.1 KB
kernel +0.0 KB
(linker fill) +0.0 KB
ok
POSIX semaphores (unnamed + named)
cat.sys.posix_sem
OS services & debug
os-service
+1.0 KB+0.4 KB105.8 KB29.1 KB11%app
Reference app
componentslib/posix +0.7 KB / RAM +0.0 KB
app (application code) +0.1 KB / RAM +0.0 KB
kernel +0.1 KB / RAM +0.3 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
Core dump to log backend
cat.dbg.coredump_log
OS services & debug
debug
+0.9 KB+0.2 KB105.7 KB28.9 KB11%app
Reference app
componentssubsys/debug +0.6 KB / RAM +0.1 KB
arch (Cortex-M7) +0.2 KB / RAM +0.1 KB
(merged strings) +0.1 KB
lib/utils +0.0 KB
kernel +0.0 KB
ok
User tracing hooks
cat.dbg.tracing_user
OS services & debug
debug
+0.9 KB+0.1 KB105.0 KB28.8 KB11%abl.gpio_get_dir_cfg
GPIO get-direction/get-config API
Parent is the app without GPIO_GET_DIRECTION, because in v4.4.2 gpio.h does not compile with the user tracing macros when GPIO_GET_DIRECTION=y (argument mismatch in sys_port_trace_gpio_port_get_direction_*).
componentssubsys/tracing +0.2 KB
kernel +0.2 KB
drivers/gpio +0.2 KB
app (application code) +0.2 KB / RAM +0.0 KB
arch (Cortex-M7) +0.0 KB
ok
SMF state machine framework (hierarchical)
cat.sys.smf
OS services & debug
os-service
+0.8 KB+0.0 KB105.7 KB28.7 KB11%app
Reference app
componentslib/smf +0.6 KB / RAM +0.0 KB
app (application code) +0.2 KB / RAM +0.0 KB
(merged strings) +0.1 KB
ok
Stack canaries (-fstack-protector)
cat.dbg.stack_canaries
OS services & debug
debug
+0.8 KB+0.0 KB106.8 KB28.7 KB11%cat.sec.entropy_trng
Entropy driver (TRNG)
The canary seed needs an entropy driver, so the parent is the TRNG variant.
componentskernel +0.2 KB / RAM +0.0 KB
subsys/shell +0.2 KB
subsys/usb +0.1 KB
lib/os +0.1 KB
app (application code) +0.1 KB
ok
libc malloc arena (default size)
cat.sys.malloc
OS services & debug
os-service
+0.8 KB+0.0 KB105.6 KB28.7 KB11%app
Reference app
Picolibc malloc on the common libc arena. Default arena size -1 takes all free RAM at boot, so the linker summary shows only the code.
componentslib/heap +0.5 KB
lib/libc +0.2 KB / RAM +0.0 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
One user-mode thread in a memory domain + syscall
cat.dbg.userspace_thread
OS services & debug
debug
+0.6 KB+2.1 KB154.9 KB38.2 KB15%cat.dbg.userspace
Userspace (MPU-based user mode)
k_mem_domain with one app partition, a K_USER thread with a 1 KB stack, k_object_access_grant on a semaphore and k_sem_give from user mode.
componentsapp (application code) +0.4 KB / RAM +1.4 KB
(linker fill) +0.1 KB / RAM +0.1 KB
(merged strings) +0.1 KB
generated (ISR tables) +0.0 KB / RAM +1.1 KB
kernel +0.0 KB
ok
Input shell commands
cat.sys.input_shell
OS services & debug
os-service
+0.5 KB+0.0 KB106.8 KB30.3 KB12%cat.sys.input_gpio_keys
Input subsystem + gpio-keys (1 button)
componentssubsys/input +0.3 KB
(merged strings) +0.1 KB
subsys/shell +0.1 KB
(linker fill) +0.0 KB
ok
sys_reboot
cat.sys.reboot
OS services & debug
os-service
+0.5 KB+0.0 KB105.3 KB28.7 KB11%app
Reference app
componentsarch (Cortex-M7) +0.2 KB
zephyr-core +0.1 KB
(merged strings) +0.1 KB
app (application code) +0.0 KB
drivers/timer +0.0 KB
ok
Second shell on LPUART6 (pins 0/1)
cat.sys.shell_uart2
OS services & debug
os-service
+0.4 KB+3.8 KB105.2 KB32.5 KB13%app
Reference app
Extra shell instance on the serial UART transport next to the USB CDC-ACM shell; started by a command.
Hardware: USB-serial adapter on Teensy pins 0 (RX1) and 1 (TX1)
componentsapp (application code) +0.3 KB / RAM +3.8 KB
(merged strings) +0.1 KB
ok
Timing functions (DWT cycle counter)
cat.sys.timing
OS services & debug
os-service
+0.4 KB+0.0 KB105.2 KB28.7 KB11%app
Reference app
componentsarch (Cortex-M7) +0.1 KB
subsys/timing +0.1 KB / RAM +0.0 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
Log UART backend on LPUART6 (text)
cat.dbg.log_uart
OS services & debug
debug
+0.3 KB+0.1 KB105.1 KB28.8 KB11%app
Reference app
Second log backend on LPUART6 (zephyr,log-uart) next to the shell log backend.
Hardware: USB-serial adapter on Teensy pins 0/1
componentssubsys/logging +0.3 KB / RAM +0.0 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
hwinfo (OCOTP unique ID, SRC reset cause)
cat.sys.hwinfo
OS services & debug
driver
+0.2 KB+0.0 KB105.1 KB28.7 KB11%app
Reference app
componentsdrivers/hwinfo +0.1 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
modules/hal_nxp +0.0 KB
(linker fill) -0.0 KB
ok
CPU load measurement
cat.dbg.cpu_load
OS services & debug
debug
+0.2 KB+0.1 KB105.1 KB28.8 KB11%app
Reference app
componentssubsys/debug +0.1 KB / RAM +0.0 KB
arch (Cortex-M7) +0.0 KB
drivers/usb +0.0 KB / RAM +0.1 KB
subsys/usb +0.0 KB / RAM +0.0 KB
subsys/tracing +0.0 KB
ok
System heap 8 KB (k_malloc)
cat.sys.k_malloc
OS services & debug
os-service
+0.2 KB+8.1 KB105.0 KB36.8 KB14%app
Reference app
componentskernel +0.1 KB / RAM +8.1 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
Static 8 KB k_heap
cat.sys.k_heap
OS services & debug
os-service
+0.1 KB+8.0 KB105.0 KB36.7 KB14%app
Reference app
componentsapp (application code) +0.1 KB / RAM +8.0 KB
(merged strings) +0.0 KB
ok
libc malloc arena fixed at 16 KB
cat.sys.malloc_16k
OS services & debug
os-service
-0.0 KB+16.0 KB105.6 KB44.7 KB17%cat.sys.malloc
libc malloc arena (default size)
componentslib/libc -0.0 KB / RAM +16.0 KB
ok
Stack sentinel instead of MPU stack guard
cat.dbg.stack_sentinel
OS services & debug
debug
-0.2 KB-0.6 KB104.7 KB28.1 KB11%app
Reference app
The sentinel excludes the MPU stack guard, so the delta is sentinel minus MPU guard (HW stack protection off).
componentsarch (Cortex-M7) -0.2 KB / RAM -0.0 KB
kernel +0.0 KB / RAM -0.2 KB
(linker fill) -0.0 KB
app (application code) +0.0 KB / RAM -0.1 KB
subsys/logging +0.0 KB / RAM -0.1 KB
ok
App built as MCUboot-chainloadable image
cat.sys.mcuboot_chainload
OS services & debug
os-service
-6.2 KB+0.0 KB121.4 KB43.0 KB17%cat.sys.mcumgr_img
MCUmgr image group (DFU upload to slot1)
CONFIG_BOOTLOADER_MCUBOOT=y; code links into image-0 (zephyr,code-partition from the parent). Only the app side; MCUboot itself is a separate sysbuild image that this runner does not build.
components(linker fill) -6.5 KB
boards -0.5 KB
subsys/dfu +0.3 KB
arch (Cortex-M7) +0.2 KB
subsys/storage +0.2 KB
ok
MCUboot bootloader
cat.sys.mcuboot
OS services & debug
os-service
–––––app
Reference app
not available: MCUboot is a separate sysbuild image; the runner builds only app/. On Teensy 4.1 the HalfKay loader (on the MKL02 helper MCU) writes the image at 0x60000000 and the ROM boots it from the FlexSPI boot header, so MCUboot would have to own offset 0 and the app would move to a slot; teensy_loader_cli cannot write slots. See cat.sys.mcuboot_chainload for the app-side cost.
LVGL (label + button, 16 KB pool)
cat.ui.lvgl
Libraries, ML & UI
ui
+211.9 KB+34.6 KB317.1 KB63.4 KB25%cat.ui.display_dummy
Display API + dummy display controller
componentsmodules/lvgl +209.5 KB / RAM +31.6 KB
(merged strings) +1.7 KB
lib/heap +0.5 KB
app (application code) +0.1 KB
toolchain libs (libc, libgcc) +0.1 KB
ok
LC3 audio codec (encode + decode, 48 kHz)
cat.ml.lc3
Libraries, ML & UI
ml-dsp
+102.9 KB+15.9 KB212.9 KB45.8 KB18%cat.sys.fpu
FPU on (hard-float context switching)
componentsmodules/liblc3 +102.7 KB / RAM +0.6 KB
app (application code) +0.2 KB / RAM +15.2 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
CMSIS-DSP (FIR, real FFT, statistics; f32)
cat.ml.cmsis_dsp
Libraries, ML & UI
ml-dsp
+81.8 KB+3.4 KB191.8 KB33.3 KB13%cat.sys.fpu
FPU on (hard-float context switching)
componentsmodules/cmsis-dsp +81.6 KB
app (application code) +0.1 KB / RAM +3.3 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
Apache Thrift (binary protocol, memory transport)
cat.lib.thrift
Libraries, ML & UI
library
+74.1 KB+18.7 KB228.9 KB86.1 KB34%cat.net.base
TCP (net base = IPv4 + UDP + TCP + sockets)
Thrift C++ library with POSIX_API, libstdc++, exceptions and C++17; delta includes those prerequisites. The stub serialises a struct by hand on a TMemoryBuffer (no generated code). The module gives its include paths to the app only through thrift.cmake, which the app CMakeLists does not call, so CONFIG_COMPILER_OPT passes them through the response file study/stubs/sys/thrift_includes.rsp (paths relative to the build directory).
componentstoolchain libs (libc, libgcc) +30.5 KB / RAM +0.4 KB
app (application code) +11.3 KB / RAM +0.0 KB
subsys/net +5.7 KB / RAM +0.1 KB
(merged strings) +5.3 KB
subsys/shell +3.5 KB / RAM +0.0 KB
ok
C++ exceptions
cat.lib.cpp_exceptions
Libraries, ML & UI
library
+35.1 KB+0.2 KB142.8 KB28.9 KB11%cat.lib.libstdcpp
Full C++ standard library (libstdc++)
componentstoolchain libs (libc, libgcc) +17.1 KB / RAM +0.1 KB
subsys/shell +3.4 KB
(merged strings) +3.3 KB
subsys/usb +1.9 KB
kernel +1.5 KB
ok
TensorFlow Lite Micro (hello_world sine model)
cat.ml.tflm
Libraries, ML & UI
ml-dsp
+26.0 KB+5.2 KB136.0 KB35.2 KB14%cat.sys.fpu
FPU on (hard-float context switching)
TFLM interpreter, reference FULLY_CONNECTED kernel, 2.5 KB model, 2 KB arena; includes the full C++ library that TFLM selects.
componentsmodules/tflite-micro +16.3 KB / RAM +0.0 KB
(merged strings) +6.4 KB
app (application code) +2.9 KB / RAM +2.2 KB
toolchain libs (libc, libgcc) +0.3 KB
lib/libc +0.1 KB / RAM +0.0 KB
ok
TensorFlow Lite Micro with CMSIS-NN kernels
cat.ml.tflm_cmsis_nn
Libraries, ML & UI
ml-dsp
+13.6 KB+0.0 KB149.6 KB35.2 KB14%cat.ml.tflm
TensorFlow Lite Micro (hello_world sine model)
componentsmodules/cmsis-nn +12.9 KB
(merged strings) +1.4 KB
modules/tflite-micro -0.7 KB
(linker fill) -0.0 KB
ok
CMSIS-NN (int8 fully connected + softmax)
cat.ml.cmsis_nn
Libraries, ML & UI
ml-dsp
+7.6 KB+1.2 KB117.5 KB31.2 KB12%cat.sys.fpu
FPU on (hard-float context switching)
componentsmodules/cmsis-nn +7.3 KB
app (application code) +0.3 KB / RAM +1.2 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
Float printf (cbprintf + picolibc)
cat.lib.printf_float
Libraries, ML & UI
library
+6.7 KB+0.0 KB111.5 KB28.7 KB11%app
Reference app
componentstoolchain libs (libc, libgcc) +6.5 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
nanopb (Protocol Buffers)
cat.lib.nanopb
Libraries, ML & UI
library
+6.2 KB+0.0 KB111.1 KB28.7 KB11%app
Reference app
nanopb runtime (pb_common, pb_encode, pb_decode) and one 3-field message. The message code is pre-generated with protoc and nanopb_generator.py into study/stubs/sys/nanopb/, because the app CMakeLists does not call zephyr_nanopb_sources(); the regeneration command is in study.proto.
componentsmodules/nanopb +5.4 KB
(merged strings) +0.6 KB
app (application code) +0.2 KB
(linker fill) +0.0 KB
ok
JSON library (descriptor parse/encode)
cat.lib.json
Libraries, ML & UI
library
+4.8 KB+0.0 KB109.7 KB28.7 KB11%app
Reference app
componentslib/utils +4.2 KB
toolchain libs (libc, libgcc) +0.3 KB
app (application code) +0.2 KB
(merged strings) +0.1 KB
ok
Full C++ standard library (libstdc++)
cat.lib.libstdcpp
Libraries, ML & UI
library
+2.8 KB+0.0 KB107.7 KB28.7 KB11%app
Reference app
GLIBCXX_LIBCPP instead of the minimal libc++; the stub uses vector, map, string, sort, to_string.
componentsapp (application code) +1.8 KB
toolchain libs (libc, libgcc) +0.6 KB / RAM +0.0 KB
(merged strings) +0.3 KB
lib/libc +0.2 KB / RAM +0.0 KB
(linker fill) -0.0 KB
ok
sys_hashmap (separate chaining)
cat.lib.hashmap
Libraries, ML & UI
library
+1.8 KB+0.1 KB106.6 KB28.8 KB11%app
Reference app
componentslib/hash +0.9 KB
lib/heap +0.5 KB
app (application code) +0.2 KB / RAM +0.0 KB
lib/libc +0.1 KB / RAM +0.0 KB
(merged strings) +0.0 KB
ok
zcbor (CBOR encode/decode)
cat.lib.zcbor
Libraries, ML & UI
library
+1.6 KB+0.0 KB106.5 KB28.7 KB11%app
Reference app
componentsmodules/zcbor +1.4 KB
app (application code) +0.2 KB
(merged strings) +0.0 KB
toolchain libs (libc, libgcc) -0.0 KB
(linker fill) +0.0 KB
ok
C++ RTTI
cat.lib.cpp_rtti
Libraries, ML & UI
library
+1.3 KB+0.1 KB108.9 KB28.8 KB11%cat.lib.libstdcpp
Full C++ standard library (libstdc++)
componentstoolchain libs (libc, libgcc) +0.9 KB
app (application code) +0.3 KB / RAM +0.0 KB
(merged strings) +0.0 KB
arch (Cortex-M7) +0.0 KB
lib/cpp +0.0 KB / RAM +0.0 KB
ok
base64 encode/decode
cat.lib.base64
Libraries, ML & UI
library
+0.9 KB+0.0 KB105.7 KB28.7 KB11%app
Reference app
componentslib/utils +0.7 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
LVGL extra widgets (chart, slider, dropdown, textarea, keyboard)
cat.ui.lvgl_widgets
Libraries, ML & UI
ui
+0.5 KB+0.0 KB317.7 KB63.4 KB25%cat.ui.lvgl
LVGL (label + button, 16 KB pool)
componentsmodules/lvgl +0.3 KB
app (application code) +0.2 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB
ok
Display API + dummy display controller
cat.ui.display_dummy
Libraries, ML & UI
driver
+0.4 KB+0.1 KB105.3 KB28.8 KB11%app
Reference app
zephyr,dummy-dc 320x240 node as zephyr,display; stands in for a real panel driver.
componentsdrivers/display +0.2 KB / RAM +0.0 KB
app (application code) +0.1 KB / RAM +0.1 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
CRC-32/16/8
cat.lib.crc
Libraries, ML & UI
library
+0.4 KB+0.0 KB105.2 KB28.7 KB11%app
Reference app
componentssubsys/crc +0.2 KB
app (application code) +0.1 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
Ring buffer
cat.lib.ring_buffer
Libraries, ML & UI
library
+0.1 KB+0.1 KB105.0 KB28.8 KB11%app
Reference app
componentsapp (application code) +0.1 KB / RAM +0.1 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB
ok
Newlib C library instead of picolibc
cat.lib.newlib
Libraries, ML & UI
library
–––––app
Reference app
not available: Zephyr SDK 1.0.1 ships only picolibc for arm-zephyr-eabi (no newlib libc.a/libc_nano.a), so NEWLIB_LIBC_SUPPORTED is n and CONFIG_NEWLIB_LIBC does not exist in the build. Use tune.minimal_libc for a libc comparison.
Rust application support
cat.lib.rust
Libraries, ML & UI
library
–––––app
Reference app
not available: No Rust toolchain (rustc/cargo with the thumbv7em target) in the Pixi environment or the Zephyr SDK, and the zephyr-lang-rust module is not in the workspace.
Bluetooth LE host + H:4 HCI over UART
cat.drv.bt_hci_uart
Drivers & buses
connectivity
+51.5 KB+13.1 KB156.4 KB41.8 KB16%app
Reference app
BLE host stack (peripheral role, GAP/GATT/SMP off) with the H:4 UART HCI driver on LPUART5. The controller runs on an external chip. Stub enables BT and starts advertising.
Hardware: BLE controller with HCI UART firmware (nRF52840 dongle with hci_uart, or HCI-mode module) on pins 35/34 + RTS/CTS
componentssubsys/bluetooth +29.5 KB / RAM +10.3 KB
modules/mbedtls +13.1 KB / RAM +1.3 KB
(merged strings) +4.9 KB
drivers/bluetooth +1.6 KB / RAM +1.5 KB
modules/hal_nxp +0.8 KB
ok
Sensor shell (sensor get)
cat.drv.sensor_shell
Drivers & buses
debug
+19.6 KB+6.5 KB128.7 KB35.4 KB14%cat.drv.sensor_bme280
BME280 environment sensor on I2C
Sensor shell. It turns on float printf (CBPRINTF_FP_SUPPORT) and the RTIO sensor read path with a work queue, so the delta is large.
Hardware: BME280 breakout on pins 19/18
componentsdrivers/sensor +7.6 KB / RAM +4.9 KB
toolchain libs (libc, libgcc) +6.7 KB
(merged strings) +3.1 KB
subsys/rtio +1.4 KB / RAM +1.5 KB
lib/utils +0.8 KB
ok
I2S audio (SAI1, eDMA)
cat.drv.i2s_sai
Drivers & buses
driver
+13.1 KB+8.1 KB118.0 KB36.8 KB14%app
Reference app
I2S subsystem and the MCUX SAI driver on sai1 with eDMA. Stub configures TX and writes one block.
Hardware: I2S codec or DAC (e.g. PCM5102, SGTL5000 audio shield) on pins 23 (MCLK), 21 (BCLK), 20 (LRCLK), 7 (TX), 8 (RX)
componentsdrivers/i2s +4.5 KB / RAM +0.5 KB
modules/hal_nxp +3.7 KB / RAM +0.1 KB
drivers/dma +3.0 KB / RAM +6.7 KB
(merged strings) +1.6 KB
app (application code) +0.2 KB / RAM +0.8 KB
ok
External CAN controller MCP2515 on SPI
cat.drv.can_mcp2515
Drivers & buses
driver
+12.9 KB+3.5 KB121.6 KB32.3 KB13%cat.drv.spi
SPI driver (LPSPI3, CPU mode)
MCP2515 driver on LPSPI3 CS 36. Parent has SPI only; the CAN subsystem is part of the delta. Compare with cat.drv.can for the on-chip FlexCAN.
Hardware: MCP2515 + TJA1050/MCP2551 module, 16 MHz crystal; CS pin 36, INT pin 9
componentsdrivers/can +8.2 KB / RAM +3.5 KB
modules/hal_nxp +3.4 KB / RAM +0.0 KB
(merged strings) +1.2 KB
drivers/clock_control +0.1 KB
kernel +0.0 KB
ok
LoRa radio SX1276 on SPI (point-to-point)
cat.drv.lora_sx1276
Drivers & buses
connectivity
+10.5 KB+1.2 KB119.2 KB30.0 KB12%cat.drv.spi
SPI driver (LPSPI3, CPU mode)
LoRa subsystem and the SX127x driver (uses the loramac-node radio driver) on LPSPI3 CS 38.
Hardware: RFM95W/SX1276 module on LPSPI3, CS pin 38, RESET pin 5, DIO0 pin 6, DIO1 pin 33, antenna
componentsdrivers/lora +8.9 KB / RAM +0.9 KB
kernel +1.0 KB / RAM +0.0 KB
(merged strings) +0.5 KB
drivers/usb +0.1 KB / RAM +0.1 KB
subsys/usb +0.0 KB / RAM +0.0 KB
ok
CAN shell (can start/send/dump)
cat.drv.can_shell
Drivers & buses
debug
+9.6 KB+0.7 KB122.9 KB31.2 KB12%cat.drv.can
CAN driver (FlexCAN1)

Hardware: CAN transceiver on pins 22/23
componentsdrivers/can +4.9 KB / RAM +0.5 KB
(merged strings) +3.4 KB
kernel +1.1 KB / RAM +0.0 KB
drivers/usb +0.1 KB / RAM +0.1 KB
subsys/usb +0.0 KB / RAM +0.0 KB
ok
SPI + FlexSPI NOR flash driver (SPI shell prerequisite)
cat.drv.spi_flexspi
Drivers & buses
driver
+9.0 KB+9.0 KB117.8 KB37.9 KB15%cat.drv.spi
SPI driver (LPSPI3, CPU mode)
Flash subsystem with the FlexSPI NOR driver for the boot flash. The SPI shell lists every node on an SPI-type bus, including the FlexSPI NOR node, so it links only when the FlexSPI controller device exists. Zephyr v4.4 limitation on this board. The FlexSPI NOR and FlexSPI HAL code runs from ITCM (XIP safety), so it counts in FLASH (load image) and in RAM.
componentsdrivers/flash +4.9 KB / RAM +5.1 KB
modules/hal_nxp +2.7 KB / RAM +2.7 KB
drivers/memc +1.1 KB / RAM +1.0 KB
SoC (i.MX RT) +0.1 KB / RAM +0.1 KB
generated (ISR tables) +0.1 KB / RAM +0.1 KB
ok
SD card over SPI (SDHC SPI host + SDMMC disk)
cat.drv.sd_spi
Drivers & buses
driver
+8.8 KB+0.8 KB117.5 KB29.6 KB12%cat.drv.spi
SPI driver (LPSPI3, CPU mode)
SDHC-over-SPI host driver, SD stack and disk "SD" on LPSPI3 CS 38; the on-board uSDHC1 node is disabled. Compare with cat.store.sdmmc_disk (uSDHC, native 4-bit).
Hardware: microSD SPI breakout on LPSPI3, CS pin 38 (the on-board slot is wired to uSDHC1 only)
componentssubsys/sd +3.8 KB / RAM +0.0 KB
drivers/sdhc +2.7 KB / RAM +0.1 KB
(merged strings) +1.3 KB
subsys/disk +0.5 KB / RAM +0.0 KB
drivers/disk +0.2 KB / RAM +0.2 KB
ok
CAN driver (FlexCAN1)
cat.drv.can
Drivers & buses
driver
+8.4 KB+1.8 KB113.3 KB30.5 KB12%app
Reference app
CAN subsystem and the MCUX FlexCAN driver for flexcan1 (zephyr,canbus, enabled in the board DTS). The API struct keeps all driver functions, so no stub.
Hardware: CAN transceiver (e.g. SN65HVD230, 3.3 V) on pins 22 (CTX1) / 23 (CRX1)
componentsdrivers/can +4.4 KB / RAM +1.8 KB
modules/hal_nxp +3.4 KB / RAM +0.0 KB
(merged strings) +0.6 KB
drivers/clock_control +0.1 KB
SoC (i.MX RT) +0.0 KB
ok
UART async API (eDMA) on LPUART2
cat.drv.uart_async
Drivers & buses
driver
+8.2 KB+5.3 KB113.2 KB34.0 KB13%cat.drv.uart2
Extra UART instance (LPUART2, interrupt driven)
UART_ASYNC_API with the LPUART eDMA back end (dmas from the SoC DTS) and the eDMA driver.
Hardware: 3.3 V UART on pins 14/15
componentsdrivers/dma +3.0 KB / RAM +4.7 KB
drivers/serial +2.1 KB / RAM +0.5 KB
modules/hal_nxp +1.8 KB / RAM +0.1 KB
(merged strings) +1.0 KB
kernel +0.1 KB
ok
GNSS receiver (generic NMEA over UART)
cat.drv.gnss_nmea
Drivers & buses
driver
+6.0 KB+1.3 KB110.8 KB30.0 KB12%app
Reference app
GNSS subsystem, modem pipe/chat library and the generic NMEA0183 driver on LPUART5. A data callback is the API user.
Hardware: GNSS module with NMEA output (u-blox NEO-M8N, Quectel L76) on pins 35 (TX8) / 34 (RX8), 9600 Bd
componentssubsys/modem +3.5 KB / RAM +0.0 KB
drivers/gnss +1.8 KB / RAM +1.3 KB
(merged strings) +0.3 KB
kernel +0.2 KB
drivers/serial +0.2 KB / RAM +0.0 KB
ok
DMA API (eDMA, memory to memory)
cat.drv.dma
Drivers & buses
driver
+5.6 KB+4.9 KB110.5 KB33.6 KB13%app
Reference app
DMA subsystem and the MCUX eDMA driver for edma0 (enabled in the board DTS). Zephyr has no DMA shell; a stub uses the API. The driver keeps per-channel state for all 32 channels (about 4.8 KB RAM).
componentsdrivers/dma +3.0 KB / RAM +4.7 KB
modules/hal_nxp +1.8 KB / RAM +0.1 KB
(merged strings) +0.5 KB
app (application code) +0.3 KB / RAM +0.1 KB
drivers/clock_control +0.0 KB
ok
LPSPI eDMA transfers (instead of CPU)
cat.drv.spi_dma
Drivers & buses
driver
+5.3 KB+4.9 KB114.0 KB33.8 KB13%cat.drv.spi
SPI driver (LPSPI3, CPU mode)
dmas on lpspi3 (eDMA channels 2/3, mux 15/16 as on the MIMXRT1060-EVK) select the DMA variant of the LPSPI driver and the eDMA driver.
Hardware: SPI device on LPSPI3
componentsdrivers/dma +3.0 KB / RAM +4.7 KB
modules/hal_nxp +1.8 KB / RAM +0.1 KB
(merged strings) +0.6 KB
drivers/spi -0.1 KB / RAM +0.1 KB
drivers/clock_control +0.0 KB
ok
Stepper motion controller (GPIO step/dir)
cat.drv.stepper_step_dir
Drivers & buses
driver
+5.2 KB+0.2 KB110.0 KB29.0 KB11%app
Reference app
Stepper subsystem and the GPIO step/dir motion controller (work-queue timing, no counter).
Hardware: step/dir driver (A4988, DRV8825, TMC2209 standalone) STEP pin 2, DIR pin 3
componentsdrivers/stepper +2.2 KB / RAM +0.2 KB
drivers/counter +1.5 KB / RAM +0.1 KB
(merged strings) +0.8 KB
modules/hal_nxp +0.4 KB
kernel +0.2 KB
ok
FlexIO SPI controller (FlexIO2)
cat.drv.spi_flexio
Drivers & buses
driver
+4.6 KB+0.2 KB113.3 KB29.1 KB11%cat.drv.spi
SPI driver (LPSPI3, CPU mode)
Second SPI bus emulated by FlexIO2 (MCUX FlexIO core + FlexIO SPI driver); parent already has the SPI subsystem.
Hardware: FlexIO2 pins 6 (SDO, FLEXIO2_10), 9 (SDI, FLEXIO2_11), 32 (SCK, FLEXIO2_12), CS pin 10
componentsdrivers/spi +2.1 KB / RAM +0.2 KB
modules/hal_nxp +1.5 KB / RAM +0.0 KB
drivers/misc +0.6 KB / RAM +0.1 KB
(merged strings) +0.2 KB
SoC (i.MX RT) +0.1 KB
ok
Flash shell on SPI NOR
cat.drv.spi_nor_shell
Drivers & buses
debug
+4.4 KB+8.3 KB114.5 KB37.1 KB15%cat.drv.spi_nor
External SPI NOR flash (second chip select)
Flash shell (about 8 KB RAM of test/IO buffers at default sizes). Its default device is chosen zephyr,flash-controller; the overlay points it at the SPI NOR, because the FlexSPI NOR driver is off in the parent.
Hardware: W25Q128 on LPSPI3, CS pin 36
componentsdrivers/flash +2.7 KB / RAM +8.3 KB
(merged strings) +1.7 KB
subsys/shell +0.0 KB
ok
Regulator shell
cat.drv.regulator_shell
Drivers & buses
debug
+4.3 KB+0.0 KB110.3 KB28.7 KB11%cat.drv.regulator_fixed
Regulator API (regulator-fixed with enable GPIO)
componentsdrivers/regulator +2.7 KB
(merged strings) +1.6 KB
subsys/shell +0.0 KB
(linker fill) +0.0 KB
ok
Stepper shell
cat.drv.stepper_shell
Drivers & buses
debug
+4.3 KB+0.0 KB114.3 KB29.0 KB11%cat.drv.stepper_step_dir
Stepper motion controller (GPIO step/dir)
componentsdrivers/stepper +2.7 KB / RAM +0.0 KB
(merged strings) +1.4 KB
subsys/shell +0.2 KB
(linker fill) -0.0 KB
ok
On-die temperature monitor (TEMPMON) sensor
cat.drv.tempmon
Drivers & buses
driver
+4.2 KB+0.0 KB109.0 KB28.7 KB11%app
Reference app
NXP TEMPMON driver with the sensor API. No external hardware. The driver uses float math; the app builds without FPU (CONFIG_FPU=n), so about 3.8 KB of the delta is libgcc soft-float.
componentstoolchain libs (libc, libgcc) +3.7 KB
drivers/sensor +0.4 KB / RAM +0.0 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
LoRa shell
cat.drv.lora_shell
Drivers & buses
debug
+4.1 KB+0.2 KB123.3 KB30.3 KB12%cat.drv.lora_sx1276
LoRa radio SX1276 on SPI (point-to-point)
componentszephyr-core +7.6 KB / RAM +0.3 KB
subsys/shell -4.3 KB
(merged strings) +0.8 KB
(linker fill) -0.0 KB
ok
SPI driver (LPSPI3, CPU mode)
cat.drv.spi
Drivers & buses
driver
+3.9 KB+0.1 KB108.7 KB28.8 KB11%app
Reference app
SPI subsystem and the NXP LPSPI driver for lpspi3 (enabled in teensy41.dts), interrupt/CPU transfers. The overlay adds three GPIO chip selects for the SPI device variants.
Hardware: SPI devices on pins 39 (MISO), 26 (MOSI), 27 (SCK); CS 38, 36, 37
componentsdrivers/spi +3.5 KB / RAM +0.1 KB
(merged strings) +0.3 KB
drivers/clock_control +0.0 KB
SoC (i.MX RT) +0.0 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
CAN FD mode + FlexCAN3 (CAN FD controller)
cat.drv.canfd
Drivers & buses
driver
+3.5 KB+1.7 KB116.8 KB32.2 KB13%cat.drv.can
CAN driver (FlexCAN1)
CAN_FD_MODE=y and a second instance, flexcan3 (nxp,flexcan-fd), as zephyr,canbus. Delta = FD code paths in the driver and core + one more controller instance.
Hardware: CAN FD transceiver (e.g. TCAN337, MCP2562FD) on pins 31 (CTX3) / 30 (CRX3)
componentsdrivers/can +2.5 KB / RAM +1.7 KB
modules/hal_nxp +0.8 KB
(merged strings) +0.2 KB
(linker fill) +0.0 KB / RAM +0.0 KB
ok
LED shell
cat.drv.led_shell
Drivers & buses
debug
+3.2 KB+0.0 KB108.7 KB28.7 KB11%cat.drv.led_gpio
LED API (gpio-leds driver)
componentsdrivers/led +1.9 KB / RAM +0.0 KB
(merged strings) +1.3 KB
subsys/shell +0.0 KB
ok
1-Wire over UART + DS18B20 temperature sensor
cat.drv.w1_ds18b20
Drivers & buses
driver
+2.9 KB+0.1 KB107.8 KB28.8 KB11%app
Reference app
W1 serial master on LPUART4 (half duplex, TX/RX joined) and the DS18B20 sensor driver with the sensor API.
Hardware: DS18B20 on pins 8 (TX2) and 7 (RX2) joined with a diode/open-drain buffer, 4.7 kOhm pull-up
componentsdrivers/w1 +1.5 KB / RAM +0.0 KB
drivers/sensor +0.9 KB / RAM +0.0 KB
(merged strings) +0.3 KB
drivers/serial +0.2 KB / RAM +0.0 KB
subsys/crc +0.1 KB
ok
ADC shell
cat.drv.adc_shell
Drivers & buses
debug
+2.9 KB+0.1 KB109.6 KB29.0 KB11%cat.drv.adc
ADC driver (ADC1, 12-bit SAR)

Hardware: analog inputs on pins 14/15
componentsdrivers/adc +2.0 KB / RAM +0.1 KB
(merged strings) +0.9 KB
(linker fill) +0.0 KB / RAM +0.0 KB
ok
SPI shell
cat.drv.spi_shell
Drivers & buses
debug
+2.8 KB+0.8 KB120.6 KB38.6 KB15%cat.drv.spi_flexspi
SPI + FlexSPI NOR flash driver (SPI shell prerequisite)

Hardware: SPI device on LPSPI3
componentsdrivers/spi +1.9 KB / RAM +0.7 KB
(merged strings) +0.8 KB
subsys/shell +0.1 KB
(linker fill) +0.0 KB
ok
SSD1306 OLED display driver (I2C)
cat.drv.display_ssd1306
Drivers & buses
driver
+2.8 KB+0.1 KB110.4 KB28.9 KB11%cat.drv.i2c
I2C driver (LPI2C1)
Display subsystem and the SSD1306 driver, 128x64 at 0x3c. Stub writes one block. LVGL is in the UI catalogue.
Hardware: 0.96 inch SSD1306 128x64 OLED on pins 19/18, address 0x3c
componentsdrivers/display +2.0 KB / RAM +0.0 KB
(merged strings) +0.7 KB
app (application code) +0.1 KB / RAM +0.1 KB
(linker fill) +0.0 KB / RAM +0.0 KB
ok
I2C driver (LPI2C1)
cat.drv.i2c
Drivers & buses
driver
+2.8 KB+0.1 KB107.6 KB28.8 KB11%app
Reference app
I2C subsystem and the MCUX LPI2C driver for lpi2c1 (pinctrl from the board DTS), 100 kHz.
Hardware: I2C devices on pins 19 (SCL) / 18 (SDA) with 2.2-4.7 kOhm pull-ups to 3.3 V
componentsmodules/hal_nxp +1.7 KB / RAM +0.0 KB
drivers/i2c +0.9 KB / RAM +0.1 KB
(merged strings) +0.1 KB
drivers/clock_control +0.1 KB
SoC (i.MX RT) +0.0 KB
ok
ILI9341 TFT display driver (MIPI DBI over SPI)
cat.drv.display_ili9341
Drivers & buses
driver
+2.7 KB+0.1 KB111.4 KB29.0 KB11%cat.drv.spi
SPI driver (LPSPI3, CPU mode)
Display subsystem, MIPI DBI SPI adapter and the ILI9341 driver, 320x240 RGB565. Stub writes one block. LVGL is in the UI catalogue.
Hardware: 2.8 inch ILI9341 SPI TFT on LPSPI3, CS pin 37, D/C pin 40, RESET pin 41
componentsdrivers/display +1.5 KB / RAM +0.0 KB
drivers/mipi_dbi +0.6 KB / RAM +0.0 KB
(merged strings) +0.4 KB
app (application code) +0.1 KB / RAM +0.1 KB
(linker fill) +0.0 KB
ok
Quadrature decoder (ENC1 via XBAR)
cat.drv.qdec
Drivers & buses
driver
+2.7 KB+0.1 KB107.5 KB28.8 KB11%app
Reference app
MCUX QDEC (ENC1) sensor driver with the XBAR1 input routing; sensor API.
Hardware: quadrature encoder A/B on pins 2/3 (XBAR1_INOUT06/07)
componentstoolchain libs (libc, libgcc) +1.5 KB
drivers/sensor +0.6 KB / RAM +0.0 KB
modules/hal_nxp +0.5 KB
(merged strings) +0.1 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
I2C shell (i2c scan/read/write)
cat.drv.i2c_shell
Drivers & buses
debug
+2.3 KB+0.0 KB110.0 KB28.8 KB11%cat.drv.i2c
I2C driver (LPI2C1)

Hardware: I2C devices on pins 19/18
componentsdrivers/i2c +1.5 KB / RAM +0.0 KB
(merged strings) +0.8 KB
subsys/shell +0.1 KB
(linker fill) +0.0 KB
ok
PWM driver (FlexPWM2 submodule 0)
cat.drv.pwm
Drivers & buses
driver
+2.3 KB+0.1 KB107.2 KB28.8 KB11%app
Reference app
PWM subsystem and the MCUX FlexPWM driver for flexpwm2_pwm0 (PWMA0 on pin 4).
Hardware: PWM output on pin 4
componentsmodules/hal_nxp +1.1 KB / RAM +0.0 KB
drivers/pwm +1.0 KB / RAM +0.1 KB
(merged strings) +0.2 KB
drivers/clock_control +0.0 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
GPIO keyboard matrix (4x4)
cat.drv.input_kbd_matrix
Drivers & buses
driver
+2.2 KB+1.6 KB108.4 KB31.9 KB12%cat.drv.input_gpio_keys
Input subsystem + gpio-keys (2 buttons)
GPIO keyboard-matrix driver with the input keymap scan thread, 4 rows x 4 columns.
Hardware: 4x4 membrane keypad, rows on pins 4, 33, 5, 6; columns on pins 9, 10, 40, 41
componentsdrivers/input +2.1 KB / RAM +1.6 KB
(merged strings) +0.1 KB
kernel +0.0 KB
(linker fill) +0.0 KB / RAM +0.0 KB
ok
Counter driver (GPT2 + SNVS RTC counter)
cat.drv.counter
Drivers & buses
driver
+2.1 KB+0.1 KB106.9 KB28.8 KB11%app
Reference app
Counter subsystem. gpt2 and the SNVS RTC counter have no status "disabled" in the SoC DTS, so COUNTER=y builds both instances.
componentsdrivers/counter +1.5 KB / RAM +0.1 KB
modules/hal_nxp +0.4 KB
(merged strings) +0.2 KB
drivers/clock_control +0.0 KB
(linker fill) +0.0 KB
ok
UART shell (uart write/read/baudrate)
cat.drv.uart_shell
Drivers & buses
debug
+2.0 KB+0.0 KB107.1 KB28.7 KB11%cat.drv.uart2
Extra UART instance (LPUART2, interrupt driven)
componentsdrivers/serial +1.3 KB / RAM +0.0 KB
(merged strings) +0.7 KB
subsys/shell +0.0 KB
(linker fill) -0.0 KB
ok
FlexIO PWM (FlexIO1)
cat.drv.pwm_flexio
Drivers & buses
driver
+2.0 KB+0.1 KB109.2 KB28.9 KB11%cat.drv.pwm
PWM driver (FlexPWM2 submodule 0)
PWM channel emulated by FlexIO1 timer (MCUX FlexIO core + FlexIO PWM driver); parent already has the PWM subsystem.
Hardware: PWM output on pin 2 (FLEXIO1_04)
componentsdrivers/pwm +0.8 KB / RAM +0.0 KB
drivers/misc +0.5 KB / RAM +0.1 KB
modules/hal_nxp +0.3 KB
(merged strings) +0.2 KB
drivers/clock_control +0.1 KB
ok
ADC driver (ADC1, 12-bit SAR)
cat.drv.adc
Drivers & buses
driver
+1.8 KB+0.2 KB106.7 KB28.9 KB11%app
Reference app
ADC subsystem and the MCUX 12B1MSPS SAR driver for adc1, inputs A0 (ADC1_IN7) and A1 (ADC1_IN8).
Hardware: analog inputs on pins 14 (A0) / 15 (A1), 0-3.3 V
componentsdrivers/adc +1.2 KB / RAM +0.2 KB
modules/hal_nxp +0.4 KB
(merged strings) +0.2 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
LED strip shell
cat.drv.led_strip_shell
Drivers & buses
debug
+1.6 KB+0.0 KB111.0 KB29.2 KB11%cat.drv.led_strip_ws2812
WS2812 LED strip over SPI
componentsdrivers/led_strip +0.8 KB / RAM +0.0 KB
(merged strings) +0.6 KB
lib/utils +0.2 KB
subsys/shell +0.0 KB
(linker fill) +0.0 KB
ok
Counter shell
cat.drv.counter_shell
Drivers & buses
debug
+1.6 KB+0.0 KB108.5 KB28.8 KB11%cat.drv.counter
Counter driver (GPT2 + SNVS RTC counter)
componentsdrivers/counter +0.9 KB / RAM +0.0 KB
(merged strings) +0.6 KB
subsys/shell +0.0 KB
(linker fill) -0.0 KB
ok
Counter on QuadTimer (QTMR1 channel 0)
cat.drv.counter_qtmr
Drivers & buses
driver
+1.5 KB+0.1 KB108.4 KB28.8 KB11%cat.drv.counter
Counter driver (GPT2 + SNVS RTC counter)
componentsdrivers/counter +1.0 KB / RAM +0.0 KB
modules/hal_nxp +0.5 KB
(merged strings) +0.0 KB
drivers/clock_control +0.0 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
EEPROM shell
cat.drv.eeprom_shell
Drivers & buses
debug
+1.5 KB+0.0 KB110.3 KB28.8 KB11%cat.drv.eeprom_at24
I2C EEPROM (AT24C256)

Hardware: AT24C256 on pins 19/18
componentsdrivers/eeprom +1.0 KB
(merged strings) +0.5 KB
subsys/shell +0.0 KB
(linker fill) +0.0 KB
ok
BME280 environment sensor on I2C
cat.drv.sensor_bme280
Drivers & buses
driver
+1.5 KB+0.1 KB109.1 KB28.9 KB11%cat.drv.i2c
I2C driver (LPI2C1)
Sensor subsystem and the Bosch BME280 driver at 0x76 on lpi2c1.
Hardware: BME280 breakout on pins 19/18, address 0x76
componentsdrivers/sensor +1.5 KB / RAM +0.1 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB / RAM +0.0 KB
ok
External SPI NOR flash (second chip select)
cat.drv.spi_nor
Drivers & buses
driver
+1.4 KB+0.0 KB110.1 KB28.8 KB11%cat.drv.spi
SPI driver (LPSPI3, CPU mode)
Flash subsystem and the generic jedec,spi-nor driver (SFDP from DT size) on CS 36. The FlexSPI NOR flash driver for the boot flash is switched off, so the delta is the SPI NOR path only.
Hardware: W25Q128 SPI NOR on LPSPI3, CS pin 36
componentsdrivers/flash +1.4 KB / RAM +0.0 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB / RAM +0.0 KB
ok
PWM shell
cat.drv.pwm_shell
Drivers & buses
debug
+1.3 KB+0.0 KB108.5 KB28.8 KB11%cat.drv.pwm
PWM driver (FlexPWM2 submodule 0)

Hardware: PWM output on pin 4
componentsdrivers/pwm +0.9 KB
(merged strings) +0.4 KB
subsys/shell +0.0 KB
ok
Input subsystem + gpio-keys (2 buttons)
cat.drv.input_gpio_keys
Drivers & buses
driver
+1.3 KB+1.6 KB106.1 KB30.3 KB12%app
Reference app
Input subsystem (thread mode) and the gpio-keys driver with two buttons and debounce.
Hardware: push buttons to GND on pins 2 and 3
componentsdrivers/input +0.7 KB / RAM +0.1 KB
subsys/input +0.3 KB / RAM +1.5 KB
(merged strings) +0.2 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
I2C EEPROM (AT24C256)
cat.drv.eeprom_at24
Drivers & buses
driver
+1.2 KB+0.0 KB108.8 KB28.8 KB11%cat.drv.i2c
I2C driver (LPI2C1)
EEPROM subsystem and the AT24 driver, 32 KiB device at 0x50.
Hardware: 24LC256/AT24C256 on pins 19/18, address 0x50
componentsdrivers/eeprom +1.0 KB / RAM +0.0 KB
(merged strings) +0.2 KB
(linker fill) +0.0 KB / RAM +0.0 KB
ok
Hardware watchdog (WDOG1)
cat.drv.wdt
Drivers & buses
driver
+1.1 KB+0.0 KB106.0 KB28.7 KB11%app
Reference app
Watchdog subsystem and the MCUX i.MX WDOG driver for wdog0. Once started, WDOG cannot be stopped.
componentsdrivers/watchdog +0.5 KB / RAM +0.0 KB
modules/hal_nxp +0.3 KB
(merged strings) +0.2 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
Regulator API (regulator-fixed with enable GPIO)
cat.drv.regulator_fixed
Drivers & buses
driver
+1.1 KB+0.0 KB105.9 KB28.7 KB11%app
Reference app
Regulator subsystem and the fixed regulator driver (load switch with enable GPIO).
Hardware: load switch / LDO enable on pin 5
componentsdrivers/regulator +1.0 KB / RAM +0.0 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
Entropy driver (TRNG)
cat.drv.entropy
Drivers & buses
driver
+1.1 KB+0.0 KB105.9 KB28.7 KB11%app
Reference app
Entropy subsystem and the MCUX TRNG driver. Zephyr has no entropy shell; a stub reads 16 bytes.
componentsmodules/hal_nxp +0.8 KB
drivers/entropy +0.1 KB / RAM +0.0 KB
app (application code) +0.1 KB
(merged strings) +0.1 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
RTC shell (rtc get/set)
cat.drv.rtc_shell
Drivers & buses
debug
+1.0 KB+0.0 KB108.7 KB28.8 KB11%cat.drv.rtc
RTC API (rtc-counter on SNVS)
componentsdrivers/rtc +0.8 KB
(merged strings) +0.2 KB
subsys/shell +0.0 KB
toolchain libs (libc, libgcc) +0.0 KB
(linker fill) -0.0 KB
ok
Counter on PIT channel 0
cat.drv.counter_pit
Drivers & buses
driver
+1.0 KB+0.0 KB108.0 KB28.8 KB11%cat.drv.counter
Counter driver (GPT2 + SNVS RTC counter)
componentsdrivers/counter +0.8 KB / RAM +0.0 KB
(merged strings) +0.1 KB
modules/hal_nxp +0.1 KB
drivers/clock_control +0.0 KB
(linker fill) -0.0 KB
ok
Watchdog shell
cat.drv.wdt_shell
Drivers & buses
debug
+1.0 KB+0.0 KB106.9 KB28.7 KB11%cat.drv.wdt
Hardware watchdog (WDOG1)
componentsdrivers/watchdog +0.6 KB
(merged strings) +0.3 KB
subsys/shell +0.0 KB
(linker fill) +0.0 KB
ok
I2C target (slave) mode API
cat.drv.i2c_target
Drivers & buses
driver
+0.7 KB+0.1 KB108.4 KB28.9 KB11%cat.drv.i2c
I2C driver (LPI2C1)
I2C_TARGET=y adds the LPI2C target-mode code paths.
componentsdrivers/i2c +0.4 KB / RAM +0.0 KB
modules/hal_nxp +0.3 KB
ok
RTC API (rtc-counter on SNVS)
cat.drv.rtc
Drivers & buses
driver
+0.7 KB+0.0 KB107.7 KB28.8 KB11%cat.drv.counter
Counter driver (GPT2 + SNVS RTC counter)
RTC subsystem through the zephyr,rtc-counter adapter on the SNVS RTC counter. RTC_INIT_PRIORITY is raised above the counter priority (build assert). Battery-backed time needs VBAT.
Hardware: optional coin cell on the VBAT pad for retention
componentsdrivers/rtc +0.6 KB / RAM +0.0 KB
(merged strings) +0.1 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
SHT3x humidity sensor on I2C
cat.drv.sensor_sht3x
Drivers & buses
driver
+0.6 KB+0.0 KB108.3 KB28.8 KB11%cat.drv.i2c
I2C driver (LPI2C1)
Sensor subsystem and the Sensirion SHT3xD driver at 0x44 on lpi2c1.
Hardware: SHT31 breakout on pins 19/18, address 0x44
componentsdrivers/sensor +0.5 KB / RAM +0.0 KB
subsys/crc +0.1 KB
(merged strings) +0.0 KB
(linker fill) +0.0 KB / RAM +0.0 KB
ok
WS2812 LED strip over SPI
cat.drv.led_strip_ws2812
Drivers & buses
driver
+0.6 KB+0.4 KB109.4 KB29.2 KB11%cat.drv.spi
SPI driver (LPSPI3, CPU mode)
LED strip subsystem and the WS2812-over-SPI driver, 16 LEDs (SPI MOSI generates the bit timing).
Hardware: WS2812B strip data on pin 26 (LPSPI3 MOSI) via a 3.3->5 V level shifter; bus not shared in practice
componentsdrivers/led_strip +0.5 KB / RAM +0.4 KB
(merged strings) +0.1 KB
kernel +0.0 KB
(linker fill) -0.0 KB / RAM +0.0 KB
ok
LED API (gpio-leds driver)
cat.drv.led_gpio
Drivers & buses
driver
+0.6 KB+0.0 KB105.4 KB28.7 KB11%app
Reference app
LED subsystem and the gpio-leds driver for the board LED (pin 13). The app drives the LED with the GPIO API instead.
componentsdrivers/led +0.5 KB / RAM +0.0 KB
(merged strings) +0.1 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
SPI asynchronous API
cat.drv.spi_async
Drivers & buses
driver
+0.5 KB+0.3 KB109.3 KB29.1 KB11%cat.drv.spi
SPI driver (LPSPI3, CPU mode)
componentskernel +0.3 KB / RAM +0.0 KB
drivers/spi +0.1 KB / RAM +0.0 KB
drivers/usb +0.1 KB / RAM +0.1 KB
subsys/usb +0.0 KB / RAM +0.0 KB
subsys/logging +0.0 KB / RAM +0.0 KB
ok
Input shell (input dump)
cat.drv.input_shell
Drivers & buses
debug
+0.5 KB+0.0 KB106.7 KB30.3 KB12%cat.drv.input_gpio_keys
Input subsystem + gpio-keys (2 buttons)

Hardware: push buttons on pins 2 and 3
componentssubsys/input +0.3 KB
(merged strings) +0.1 KB
subsys/shell +0.1 KB
(linker fill) +0.0 KB
ok
Extra UART instance (LPUART2, interrupt driven)
cat.drv.uart2
Drivers & buses
driver
+0.2 KB+0.0 KB105.0 KB28.7 KB11%app
Reference app
One more LPUART instance. The UART driver is already in the app (board LPUART6), so this is the cost of one instance.
Hardware: 3.3 V UART on pins 14 (TX3) / 15 (RX3)
componentsdrivers/serial +0.2 KB / RAM +0.0 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
RS-485 with hardware DE (LPUART2 RTS)
cat.drv.rs485_hw
Drivers & buses
driver
+0.0 KB+0.0 KB105.1 KB28.7 KB11%cat.drv.uart2
Extra UART instance (LPUART2, interrupt driven)
nxp,rs485-mode lets the LPUART drive the transceiver DE pin from its RTS output. Only a DT/driver flag; Modbus below uses de-gpios instead.
Hardware: RS-485 transceiver (e.g. MAX3485, THVD1450) on pins 14/15, DE/nRE on pin 18 (LPUART2_RTS, conflicts with LPI2C1 SDA)
componentsdrivers/serial +0.0 KB
ok
Bluetooth (on-chip radio)
cat.drv.bt_native
Drivers & buses
connectivity
–––––app
Reference app
not available: i.MX RT1062 has no radio. Use cat.drv.bt_hci_uart with an external controller.
Wi-Fi (on-chip radio)
cat.drv.wifi_native
Drivers & buses
connectivity
–––––app
Reference app
not available: i.MX RT1062 has no radio. An external ESP32 with ESP-AT firmware over UART (drivers/wifi/esp_at) needs the network stack; it belongs in the networking catalogue.
USB host stack + shell (USB2 host port, EHCI)
cat.usb.host
USB classes
usb-class
+25.1 KB+73.2 KB130.0 KB101.9 KB40%app
Reference app
Experimental USB host stack on the second controller (usbh2, nxp,uhc-ehci) with the usbh shell, which defines the host context and drives enumeration. No host class drivers. The MCUX EHCI host keeps about 40 KB of controller structures, plus about 19 KB alignment fill in RAM.
Hardware: Teensy 4.1 USB host pads (5 V, D+, D-, GND) with a USB-A host cable
componentsmodules/hal_nxp +9.1 KB / RAM +20.0 KB
subsys/usb +8.4 KB / RAM +7.4 KB
(merged strings) +4.3 KB
drivers/usb +3.0 KB / RAM +21.6 KB
lib/utils +0.1 KB
ok
USB Mass Storage (BOT) with 32 KiB RAM disk
cat.usb.msc
USB classes
usb-class
+20.6 KB+34.8 KB125.3 KB63.5 KB25%cat.usb.composite
App-owned USB device context (composite base)
MSC class, SCSI layer, disk access and a zephyr,ram-disk of 64 x 512 B (32 KiB RAM). The RAM disk dominates the RAM delta.
componentssubsys/sd +5.2 KB / RAM +0.0 KB
subsys/usb +5.0 KB / RAM +2.8 KB
drivers/sdhc +4.3 KB / RAM +0.4 KB
modules/hal_nxp +2.6 KB / RAM +0.0 KB
(merged strings) +2.2 KB
ok
USB device shell (usbd ...)
cat.usb.shell
USB classes
debug
+7.4 KB+0.4 KB112.3 KB29.1 KB11%app
Reference app
USBD shell; it defines its own device context for interactive use.
componentssubsys/usb +4.6 KB / RAM +0.4 KB
(merged strings) +2.8 KB
drivers/usb +0.1 KB
(linker fill) -0.0 KB
ok
USB CDC-NCM Ethernet (with IPv4, next to ENET)
cat.usb.cdc_ncm
USB classes
usb-class
+4.8 KB+10.3 KB135.6 KB70.9 KB28%cat.net.ipv4
Ethernet + IPv4 + UDP (ARP, ICMPv4; no TCP)
CDC-NCM virtual Ethernet interface on top of the IPv4 stack, with the composite context stub. NCM works on Linux, macOS and Windows 10+.
componentssubsys/usb +3.2 KB / RAM +4.3 KB
(merged strings) +0.7 KB
app (application code) +0.6 KB / RAM +0.4 KB
subsys/net +0.2 KB / RAM +1.6 KB
(linker fill) -0.0 KB / RAM +4.0 KB
ok
USB CDC-ECM Ethernet (with IPv4, next to ENET)
cat.usb.cdc_ecm
USB classes
usb-class
+3.6 KB+10.2 KB134.4 KB70.9 KB28%cat.net.ipv4
Ethernet + IPv4 + UDP (ARP, ICMPv4; no TCP)
CDC-ECM virtual Ethernet interface on top of the IPv4 stack, with the composite context stub. Parent is the networking IPv4 base, so the delta is the class + second interface + context. Linux and macOS support ECM natively, Windows does not.
componentssubsys/usb +2.2 KB / RAM +3.2 KB
app (application code) +0.6 KB / RAM +0.4 KB
(merged strings) +0.6 KB
subsys/net +0.2 KB / RAM +1.6 KB
lib/net_buf +0.0 KB
ok
USB Audio Class 2 (stereo 48 kHz headphones)
cat.usb.uac2
USB classes
usb-class
+3.4 KB+1.4 KB108.2 KB30.1 KB12%cat.usb.composite
App-owned USB device context (composite base)
UAC2 class with one isochronous OUT stream (16-bit stereo, 48 kHz), as in samples/subsys/usb/uac2_explicit_feedback. Audio buffers in a small stub slab.
componentssubsys/usb +2.8 KB / RAM +0.6 KB
(merged strings) +0.3 KB
app (application code) +0.2 KB / RAM +0.8 KB
lib/net_buf +0.1 KB
drivers/usb +0.0 KB
ok
USB HID keyboard
cat.usb.hid_kbd
USB classes
usb-class
+2.4 KB+0.4 KB107.1 KB29.1 KB11%cat.usb.composite
App-owned USB device context (composite base)
HID class with one boot keyboard instance (64 B IN report, 1 ms polling).
componentssubsys/usb +1.8 KB / RAM +0.4 KB
(merged strings) +0.3 KB
app (application code) +0.2 KB / RAM +0.0 KB
lib/net_buf +0.0 KB
(linker fill) -0.0 KB / RAM -0.0 KB
ok
USB DFU (runtime + DFU mode, RAM image)
cat.usb.dfu
USB classes
usb-class
+2.1 KB+4.4 KB106.9 KB33.1 KB13%cat.usb.composite
App-owned USB device context (composite base)
DFU runtime interface in the composite device plus the DFU-mode class (blocklisted in the composite; needs its own context after detach) with one 4 KiB RAM image. The flash back end (USBD_DFU_FLASH) needs MCUboot slot partitions and is not measured.
componentssubsys/usb +1.9 KB / RAM +0.4 KB
app (application code) +0.1 KB / RAM +4.0 KB
(merged strings) +0.1 KB
(linker fill) -0.0 KB
ok
Second CDC-ACM serial port
cat.usb.cdc_acm2
USB classes
usb-class
+0.5 KB+2.5 KB105.3 KB31.2 KB12%cat.usb.composite
App-owned USB device context (composite base)
Second zephyr,cdc-acm-uart instance (UART device + 2 bulk + 1 interrupt endpoint, ring buffers). The FLASH region total drops here although the object sizes grow by about 540 B (layout/alignment effect); see the per-object attribution.
componentssubsys/usb +0.5 KB / RAM +3.5 KB
(merged strings) +0.0 KB
(linker fill) -0.0 KB / RAM -1.0 KB
ok
App-owned USB device context (composite base)
cat.usb.composite
USB classes
usb-class
-0.1 KB+0.0 KB104.7 KB28.7 KB11%app
Reference app
Replaces CDC_ACM_SERIAL_INITIALIZE_AT_BOOT (one fixed CDC-ACM) by an application context that registers every enabled class (stub usbd_composite.c, after samples/subsys/usb/common). Console stays on cdc_acm_uart0. Base for all USB class variants.
Hardware: USB device port (micro-USB)
componentssubsys/usb -0.6 KB / RAM -0.4 KB
app (application code) +0.6 KB / RAM +0.4 KB
(merged strings) -0.1 KB
(linker fill) +0.0 KB
ok
USB CDC-NCM as the only network interface (ENET off)
cat.usb.cdc_ncm_only
USB classes
usb-class
-4.9 KB-6.3 KB125.9 KB54.4 KB21%cat.net.ipv4
Ethernet + IPv4 + UDP (ARP, ICMPv4; no TCP)
Network over USB without the Ethernet magjack. ENET MAC, MDIO and PHY nodes are disabled; NCM is the only interface. Delta against cat.net.ipv4 = NCM + context - ENET driver.
Hardware: USB device port only; no Ethernet kit needed
componentsdrivers/ethernet -5.0 KB / RAM -15.9 KB
modules/hal_nxp -3.4 KB / RAM -0.1 KB
subsys/usb +3.2 KB / RAM +4.3 KB
app (application code) +0.6 KB / RAM +0.4 KB
(merged strings) -0.1 KB
ok
LoRaWAN (loramac-node, EU868, OTAA)
cat.ind.lorawan
Industrial & field
protocol
+29.9 KB+4.4 KB149.1 KB34.5 KB13%cat.drv.lora_sx1276
LoRa radio SX1276 on SPI (point-to-point)
LoRaWAN MAC from loramac-node with the software secure element (AES/CMAC), region EU868, OTAA join and confirmed uplink. The soft SE needs a 2 KiB system work queue stack (default 1 KiB); this is in the RAM delta.
Hardware: RFM95W/SX1276 module as above, LoRaWAN gateway coverage
componentssubsys/lorawan +36.9 KB / RAM +4.3 KB
drivers/lora -8.9 KB / RAM -0.9 KB
(merged strings) +1.1 KB
toolchain libs (libc, libgcc) +0.7 KB
app (application code) +0.1 KB / RAM +0.0 KB
ok
CANopenNode (CiA 301) stack
cat.ind.canopen
Industrial & field
industrial
+17.2 KB+4.6 KB130.5 KB35.1 KB14%cat.drv.can
CAN driver (FlexCAN1)
CANopenNode with the object dictionary from the Zephyr sample (study/stubs/periph/canopen/CO_OD.c), NMT, SDO server, PDO, SYNC, EMCY, heartbeat, LED state machine. No OD storage (needs SETTINGS), no program download.
Hardware: CAN transceiver on pins 22/23
componentsmodules/canopennode +13.6 KB / RAM +3.9 KB
app (application code) +2.2 KB / RAM +0.6 KB
(merged strings) +0.8 KB
drivers/can +0.5 KB
subsys/crc +0.0 KB
ok
ISO-TP (ISO 15765-2) transport over CAN
cat.ind.isotp
Industrial & field
industrial
+6.8 KB+1.9 KB120.1 KB32.5 KB13%cat.drv.can
CAN driver (FlexCAN1)
ISO-TP bind/send/recv on flexcan1, used by UDS diagnostics. Default buffer pools.
Hardware: CAN transceiver on pins 22/23
componentssubsys/canbus +4.7 KB / RAM +1.3 KB
(merged strings) +0.9 KB
drivers/can +0.4 KB / RAM +0.0 KB
kernel +0.4 KB / RAM +0.0 KB
app (application code) +0.2 KB / RAM +0.4 KB
ok
Modbus RTU server (RS-485, DE GPIO)
cat.ind.modbus_rtu_server
Industrial & field
industrial
+6.3 KB+1.1 KB111.3 KB29.8 KB12%cat.drv.uart2
Extra UART instance (LPUART2, interrupt driven)
Modbus serial RTU server (unit 1) on LPUART2 with holding-register callbacks.
Hardware: RS-485 transceiver on pins 14/15, DE pin 2, nRE pin 3
componentssubsys/modbus +5.0 KB / RAM +1.0 KB
(merged strings) +1.1 KB
app (application code) +0.2 KB / RAM +0.1 KB
subsys/crc +0.0 KB
(linker fill) -0.0 KB
ok
Modbus RTU client (RS-485, DE GPIO)
cat.ind.modbus_rtu_client
Industrial & field
industrial
+4.9 KB+1.0 KB110.0 KB29.7 KB12%cat.drv.uart2
Extra UART instance (LPUART2, interrupt driven)
Modbus serial RTU client on LPUART2 (zephyr,modbus-serial "modbus0") with DE/RE GPIO; read/write holding registers, input registers, coils.
Hardware: RS-485 transceiver on pins 14/15, DE pin 2, nRE pin 3
componentssubsys/modbus +3.9 KB / RAM +1.0 KB
(merged strings) +0.8 KB
app (application code) +0.2 KB
subsys/crc +0.0 KB
ok
SAE J1939
cat.ind.j1939
Industrial & field
industrial
–––––cat.drv.can
CAN driver (FlexCAN1)
not available: No J1939 stack in Zephyr v4.4 or in the west modules of this workspace. Raw 29-bit CAN frames via cat.drv.can only.
Modbus TCP
cat.ind.modbus_tcp
Industrial & field
industrial
–––––cat.drv.uart2
Extra UART instance (LPUART2, interrupt driven)
not available: Modbus TCP needs the network stack; it is a raw ADU interface (MODBUS_RAW) under the networking catalogue, not a peripheral service.

Combined stacks

Real devices use several services together. These builds put typical sets on top of the reference app. Services share code (sockets, TCP, the heap, mbedTLS), so the measured cost is usually below the sum of the separate catalogue deltas. measured sum of separate deltas.

FLASH added to the reference app

0 KB50 KB100 KB150 KB200 KBSNMP over USB62.9 sum of separate deltas63.0Ethernet + DHCP + SNMP with traps and private MIB72.5 sum of separate deltas72.5IoT node72.6 sum of separate deltas72.4Secure IoT node143.4 sum of separate deltas148.1Web device93.0 sum of separate deltas97.7Managed connected device188.0 sum of separate deltas209.3Managed connected device, lean172.5 sum of separate deltas192.8

RAM added to the reference app

0 KB20 KB40 KB60 KB80 KB100 KBSNMP over USB35.7 sum of separate deltas35.7Ethernet + DHCP + SNMP with traps and private MIB43.5 sum of separate deltas43.5IoT node45.9 sum of separate deltas45.9Secure IoT node86.4 sum of separate deltas86.7Web device52.0 sum of separate deltas53.4Managed connected device97.1 sum of separate deltas103.4Managed connected device, lean89.4 sum of separate deltas95.7
CombinationFLASH addedSum of partsRAM addedSum of parts Total FLASH / RAMBlocksStatus
SNMP over USB: USB CDC-NCM + TCP/IP + SNMP with private MIB
combo.usb_ncm_snmp
+62.9 KB+63.0 KB+35.7 KB+35.7 KB167.7 KB / 64.4 KBnet.ipv4 usb.cdc_ncm_only net.ipv4_sockets net.base net.snmp net.snmp_traps net.snmp_private_mibok
Ethernet + DHCP + SNMP with traps and private MIB
combo.eth_snmp
+72.5 KB+72.5 KB+43.5 KB+43.5 KB177.3 KB / 72.2 KBnet.ipv4 net.ipv4_sockets net.base net.dhcpv4 net.snmp net.snmp_traps net.snmp_private_mibok
IoT node: Ethernet + DHCP + DNS + SNTP + MQTT
combo.iot_mqtt
+72.6 KB+72.4 KB+45.9 KB+45.9 KB177.5 KB / 74.7 KBnet.ipv4 net.ipv4_sockets net.base net.dhcpv4 net.dns net.sntp net.mqttok
Secure IoT node: IoT node + TLS + MQTT over TLS
combo.iot_mqtt_tls
+143.4 KB+148.1 KB+86.4 KB+86.7 KB248.3 KB / 115.1 KBnet.ipv4 net.ipv4_sockets net.base net.dhcpv4 net.dns net.sntp net.mqtt net.tls net.mqtt_tlsok
Web device: Ethernet + DHCP + mDNS + HTTP server + JSON REST
combo.web_device
+93.0 KB+97.7 KB+52.0 KB+53.4 KB197.8 KB / 80.7 KBnet.ipv4 net.ipv4_sockets net.base net.dhcpv4 net.hostname net.mdns net.http_server net.http_dynamic net.http_restok
Managed connected device: DHCP + DNS + SNTP + mDNS + MQTT/TLS + HTTP REST + SNMP
combo.full_device
+188.0 KB+209.3 KB+97.1 KB+103.4 KB292.9 KB / 125.8 KBnet.ipv4 net.ipv4_sockets net.base net.dhcpv4 net.dns net.sntp net.hostname net.mdns net.mqtt net.tls net.mqtt_tls net.http_server net.http_dynamic net.http_rest net.snmp net.snmp_traps net.snmp_private_mibok
Managed connected device, lean: full device + small net buffer pools + minimal shell
combo.full_device_lean
+172.5 KB+192.8 KB+89.4 KB+95.7 KB277.3 KB / 118.1 KBnet.ipv4 net.ipv4_sockets net.base net.dhcpv4 net.dns net.sntp net.hostname net.mdns net.mqtt net.tls net.mqtt_tls net.http_server net.http_dynamic net.http_rest net.snmp net.snmp_traps net.snmp_private_mib net.small_pools tune.shell_minimalok

SNMP

Zephyr has no SNMP agent of its own. These builds use the external module simpleiot/zephyr-snmp v0.1.0 (BSD-3-Clause, a port of the lwIP agent; SNMP v1 and v2c over IPv4; no SNMPv3). v1 and v2c send the community string in clear text: use them only on a trusted management network.

VariantFLASH ΔRAM ΔMeasured againstNotesStatus
SNMP v1/v2c agent (external zephyr-snmp module)
cat.net.snmp
+17.0 KB+3.4 KBcat.net.ipv4_socketsExternal out-of-tree module simpleiot/zephyr-snmp v0.1.0 (BSD-3, lwIP-derived), not in Zephyr. Agent on UDP 161 via the socket service, with the default MIB-2 system, interfaces and snmp groups, and one install_snmp_handler() callback on a private OID. Parent is the UDP-only socket stack (no TCP); the delta includes the socket service.ok
SNMP trap sending (external zephyr-snmp)
cat.net.snmp_traps
+0.7 KB+0.0 KBcat.net.snmpAdds a trap destination and snmp_send_trap_generic() to the external zephyr-snmp agent.ok
SNMP private MIB, 3 read-only scalars (external zephyr-snmp)
cat.net.snmp_private_mib
+0.3 KB+0.0 KBcat.net.snmpExternal zephyr-snmp module. Private MIB under 1.3.6.1.4.1.32473.1 with 3 SNMP_SCALAR_CREATE_NODE_READONLY scalars, registered with snmp_set_mibs() next to MIB-2.ok
SNMP agent over USB CDC-NCM (ENET off, external zephyr-snmp)
cat.net.usb_ncm_snmp
+28.6 KB+4.6 KBcat.usb.cdc_ncm_onlyExternal zephyr-snmp module (not in-tree) on the USB CDC-NCM network interface, with the Ethernet MAC off. Same conf and stub as cat.net.snmp. Delta = SNMP agent + BSD sockets + socket service on the NCM IPv4/UDP stack.ok
SNMP agent without MIB-2 interfaces group (negative delta)
cat.net.snmp_no_mib2_if
-1.4 KB+0.0 KBcat.net.snmpExternal zephyr-snmp agent with SNMP_AGENT_MIB2_INTERFACES=n; the delta is minus the cost of the ifTable group.ok
SNMP over USB: USB CDC-NCM + TCP/IP + SNMP with private MIB
combo.usb_ncm_snmp
+62.9 KB+35.7 KBappEthernet over the USB cable (ENET off), IPv4 + UDP + TCP + sockets, static IP, SNMP agent with traps and a private MIB.ok
Ethernet + DHCP + SNMP with traps and private MIB
combo.eth_snmp
+72.5 KB+43.5 KBappok

Not available on this board

Services that Zephyr has but that cannot run on a Teensy 4.1 without extra hardware, or that Zephyr does not provide.

Method and limits

Reproduce

Workspace: the reference app with a west workspace for Zephyr v4.4.2 and the extra modules. The Python tools come from Anaconda main through Pixi.

pixi run --frozen python study/run.py --jobs 4 — build every variant that is new or changed (resumable)
pixi run --frozen python study/delta.py [REGEX] — text table of sizes and deltas
pixi run -e report python study/report.py — this page and the 4K PNG plots

Variant definitions: study/variants/*.yaml. Rules and fields: study/README.md.

PNG plots for slides (3840×2160)