cancel
Showing results for 
Search instead for 
Did you mean: 

STM32N6 DCMIPP problem

MikeF
Visitor

Hi everyone,

I am trying to setup DCMIPP Pipe0 to read data from 256x192 pixel sensor by 16 data lines.

Seems everything configured and working fine except of transfer data to destination buffer.

DCMIPP frame counter is increasing.

Pipe0 dump counter is 0x18000 (256x192x2).

HAL_DCMIPP_PIPE_Start return HAL_OK.

Pipe0 packer memory adrdess register is qual to Pipe0 memory status address register and correspond to address of buffer in RAM.

I checked that DCMIPP don't write zero values by initing frame buffer with 0xFF and it wasn't changed do zeros.

 

I am sure that sensor is working because of frame counter, dump counter, checking lines with oscilloscope and it is working with other pcb with STM32H7 and DCMI interface.  

Also I validated that debugger read frame buffer correctly by sending it thought uart.

 

Source code is simple, generated by cube init than I2C configuration of sensor(validated) and than reading in loop with delay:

while (1)
{
    HAL_GPIO_TogglePin(LED1_GPIO_Port, LED1_Pin);
 
    for(int itr = 0; itr < FRAME_SIZE; itr++){
        uint8_t data = ((uint16_t*)frame_data)[itr]>>data_move;
        frame_data8[itr] = data;
    }
 
    if(HAL_DCMIPP_PIPE_Start(&hdcmipp, DCMIPP_PIPE0, (uint32_t)&frame_data , DCMIPP_MODE_SNAPSHOT) != HAL_OK)
    {
        errors++;
        //Error_Handler();
    }
    
    HAL_Delay(500);
}
 
I don't have any idea how to debag it. I can't found any information about AXI master or example for STM32N6 with DCMIPP Pipe0 not in CSI mode. If you know what the problem is or can tell me how to figure it out, I would be grateful.

Screenshot 2025-04-29 000858.png

 

Screenshot 2025-04-29 000933.pngScreenshot 2025-04-29 000954.png

  

Screenshot 2025-04-29 001138.pngScreenshot 2025-04-29 001207.png

  

     

  

 

0 REPLIES 0