Application Overview

October 6, 2025 ยท View on GitHub

Application Data Flow

Application data flow

Memory Footprint Details

Read-Only Data

NameSizeLocationNotes
face_detector_data151 KB.rodataFLASH xSPI2 8b
face_landmark_data470 KB.rodataFLASH xSPI2 8b

Read-Write Data

NameSizeLocationNotes
lcd_bg_buffer3375 KB.psram_bssPSRAM / (800x480x3) x 3 / RGB888
lcd_fg_buffer1500 KB.psram_bssPSRAM / (800x480x2) x 2 / ARGB4444
nn_input_buffers96 KB.bssSRAM / (128x128x3) x 2 / RGB888
fl_input_buffers216 KB.bssSRAM / (192x192x3) x 2 / RGB888
activations720 KB0x34200000NPURAMS
threads stacks18 KB.bssSRAM

DCMIPP and ISP

DCMIPP Overview

DCMIPP overview

  • Pipe 1 is enabled using CMW_CAMERA_Start(DCMIPP_PIPE1, *ptr_dst, CAMERA_MODE_CONTINUOUS); to continuously transmit images from IMX335 to the DISPLAY_BUFFER_NB buffered lcd_bg_buffer[]. Note that ptr_dst will be updated at the pipe1 frame_event.
  • Pipe 2 is enabled using CMW_CAMERA_Start(DCMIPP_PIPE2, *ptr_dst, CAMERA_MODE_CONTINUOUS); to continuously transmit images from IMX335 to the double buffered nn_input_buffers[]. Note that ptr_dst will be updated at the pipe2 frame_event. This allows dropping the previous frame if the buffer is still in use by the nn thread.
  • For each capture, the ISP configuration is updated to enhance the image quality depending on the illumination conditions. It is initialized through ISP_Init and then executed with ISP_BackgroundProcess.

For more details on DCMIPP, see the Digital Camera Interface Pixel Pipeline (DCMIPP) section in the STM32N6 Reference Manual.