Skip to main content
Associate
August 18, 2026
Question

Camera bringup on STM32N6

  • August 18, 2026
  • 1 reply
  • 44 views

We are trying to bringup an omnivision camera on STM32N6. We are able to capture some data from the camera but unable get a good image but the image has lot of horizontal lines. I would like to some input on the configuration to make sure we are not missing anything on N6 side. 

 

uart:~$ ztest run-testcase test_pipeline:test_pipeline_validate
Running TESTSUITE test_pipeline
===================================================================
START - test_pipeline_validate

  ╔══════════════════════════════════════════════════════════════╗
  ║  PIPELINE VALIDATION: OS05E10 -> CSI-2 -> DCMIPP -> PSRAM  ║
  ╚══════════════════════════════════════════════════════════════╝
  Mode: 2592x1944 DCG 30fps
  Sensor: 2592x1944, HTS=714, PHY 1452 Mbps/lane

  ── STEP 1: Sensor I2C communication ──
    I2C read: ret=0
read works here
    -> PASS

  ── STEP 2: Configure and start pipe0 ──
    video_set_format: ret=0
    buffer enqueued: 10077696 bytes, ret=0
[00:00:23.363,000] <inf> video_osxxxx: MIPI lanes = 2 (p2.79 = 0x19, mipi_lane field = 1)
[00:00:23.425,000] <wrn> stm32_dcmipp: DCMIPP pipe error #1 (pipe 0, ErrorCode 0x8)
[00:00:23.463,000] <inf> video_osxxxx: streaming 2592x1944 RAW10, 2 MIPI lanes
[00:00:23.471,000] <inf> video_osxxxx:   HTS 714, VTS requested 14005, effective 14005 -> 5.000 fps
    video_stream_start: ret=0
    -> PASS

  ── STEP 3: Sensor registers while streaming ──
    P0:0x20 MODE_CTRL = 0x1f (0x1f=streaming)
    HTS = 714 (expected 714)
    VTS = 14005 (effective, including VBLANKING)
    -> frame rate = 5 fps
    -> PASS

  ── STEP 4: Exposure and gain ──
    Manual AEC = 0x03 (0x03=both manual)
    Exposure = 2100 lines (requested 2100)
    Analog gain = 0x200 (requested 0x200 = 4x)
    -> PASS

  ── STEP 5: CSI-2 link (after streaming) ──
    Receiver: 2 lane(s)
    SR0 = 0x00023300
      SOF=1  EOF=1  CRC_ERR=0  ECC_ERR=0
    SR1 = 0xe6180010 (lane states)
    ERR1 = 0x00000000  ERR2 = 0x00000000
    -> PASS (clean link)

  ── STEP 6: DCMIPP pipe0 registers ──
    P0SCSZR = 0x00000000
      Crop: OFF, HSIZE=0 words (0 px), VSIZE=0 lines
    P0SCSTR = 0x00000000 (start offsets)
    P0DCLMTR = 0x80267180 (byte limit)
    P0PPCR = 0x00000000 (packer, expect 0)
    -> PASS

  ── STEP 7: Frame data validation ──
    Frame received: 5427648 bytes
    Sampled 32768 pixels: min=68 max=1023 mean=763
    Nonzero: 100%, Above 1023: 0
    Format: valid 10-bit (all high bytes 0..3)
    -> PASS

  ══════════════════════════════════════════════════════════════
  Pipeline validation: 7 steps completed.
  ══════════════════════════════════════════════════════════════
 PASS - test_pipeline_validate in 1.446 seconds
===================================================================
TESTSUITE test_pipeline succeeded

But Pipe0 and Pipe1 generate some image but there are lot of horizontal lines that appear on the image.

1 reply

KDJEM.1
ST Technical Moderator
September 23, 2026

Hello ​@archana ;

 

First of all I apologize for my late reply.

Could you please try to decrease the resolution.  Do you get the same issue?

Are you able to reproduce the issue with STboard?

I recommend you to look at DCMIPP examples may help you for testing.

 

Thank you.

Kaouthar

To give better visibility on the answered topics, please click on "Best answer" on the reply which solved your issue or answered your question.