cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H743VITx DCMI DMA Capture in RAM_D2

KK
Associate II

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 ?

3 REPLIES 3

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
Up vote any posts that you find helpful, it shows what's working..
KK
Associate II

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

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

Are the memory clocks enabled?

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