Skip to main content
KK_it
Associate II
October 23, 2018
Question

STM32H743VITx DCMI DMA Capture in RAM_D2

  • October 23, 2018
  • 3 replies
  • 1027 views

Hi, i able to trigger BSP_CAMERA_SnapshotStart and save the camera output to RAM_D1. But when i change to save the camera output to RAM_D2. I not able to get the output at BSP_CAMERA_FrameEventCallback.

//uint8_t camera_frame_buffer[480*480] __attribute__((section(".ramd1")));

uint8_t camera_frame_buffer[480*480] __attribute__((section(".ramd2")));

......

 //Start camera capture

 BSP_CAMERA_SnapshotStart((uint8_t *)camera_frame_buffer);

.............

void BSP_CAMERA_FrameEventCallback(void)

{

//Capture data ready

}

Guys, do you have any idea ?

    This topic has been closed for replies.

    3 replies

    Tesla DeLorean
    Guru
    October 23, 2018

    Are you seeing the interrupt/callback?

    If no call back, double check for error/status reported by the DMA peripheral.

    Check address alignment.

    Can't see the data? Perhaps you need to invalidate the DCache?

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..
    KK_it
    KK_itAuthor
    Associate II
    October 23, 2018

    I simply declare three array buffer as below and write some data to each array in main function .

    Found the RAM_D1 and RAM_D3 able to write and read the data , but only RAM_D2 not able to write data.

    uint8_t buffer_A[50] __attribute__((section(".ramd1"))); --->OK for read and write

    uint8_t buffer_B[50] __attribute__((section(".ramd2"))); --> NG; data is not written

    uint8_t buffer_C[50] __attribute__((section(".ramd3"))); --> OK for read and write

    Tesla DeLorean
    Guru
    October 23, 2018

    Ok, but you see the callback, just not the data?

    Are the memory clocks enabled?

    Tips, Buy me a coffee, or three.. PayPal Venmo (See Profile) Up vote any posts that you find helpful, it shows what's working..