2021-10-20 02:20 AM
I always need to use the internal memory for the incoming image buffer
@Imen DAHMEN
Solved! Go to Solution.
2021-10-20 05:24 AM
I understand now your problem.
This is a known issue with CubeMx v6.3.0 : the MX_DMA_Init() shall be called BEFORE any other peripheral initialization when DMA is used.
and this will be fixed in the next release of CubeMx (see this post for more details).
Thanks for your contribution and don't hesitate to come back to the Community if you have issues.
Imen
2021-10-20 03:29 AM
Hello @Community member
The DCMI is not mapped and cannot write there, please refer to the RM0455 in System architecture figure, or the Bus Matrix.
As described in the RM0455:
The data are packed into a 32-bit data register (DCMI_DR) and then transferred through a general-purpose DMA channel.
The image buffer is managed by the DMA, not by the camera interface.
So, in this case I advise you to use GPDMA feature.
Hope that I've answered your question.
If this the case, please close this post by clicking the "Select as Best" button on my reply. This will help other members of the community find this response more quickly :)
Imen
2021-10-20 05:15 AM
@Imen DAHMEN
Hi,
I know that the DCMI has no DMA and it must be linked with either DMA1 or 2.
the problem with in my code but other problem related to the CUBE IDE is that sometimes it initialize DCMI before the DMA which cause that DMA can not transfer any data.
Regards
Mahmoud
2021-10-20 05:24 AM
I understand now your problem.
This is a known issue with CubeMx v6.3.0 : the MX_DMA_Init() shall be called BEFORE any other peripheral initialization when DMA is used.
and this will be fixed in the next release of CubeMx (see this post for more details).
Thanks for your contribution and don't hesitate to come back to the Community if you have issues.
Imen