cancel
Showing results for 
Search instead for 
Did you mean: 

MDMA HAL library inconsistency on software request

SeyyedMohammad
Senior III

I want to MDMA reqests occure on only calling HAL_MDMA_GenerateSWRequest(..). But we have also a not wanted request on enabling MDMA using HAL_MDMA_Start(..). Then the codes

if(hmdma->Init.Request == MDMA_REQUEST_SW)
    {
      /* activate If SW request mode*/
      hmdma->Instance->CCR |=  MDMA_CCR_SWRQ;
    }

Must be removed from HAL_MDMA_Start(..). (Anyone who wants to generate request on start can call the swreqest code right after MDMAstart.) Could you please?

1 ACCEPTED SOLUTION

Accepted Solutions
FBL
ST Employee

In my understanding the functions HAL_MDMA_Start() or HAL_MDMA_generateSWrequest() highlighted in the driver are generating an issue, could you please specify the use case which is marking the bug. If not, maybe, it is up to you to customize your preferable requests.

As mentioned in the driver, HAL_MDMA_Start() function is used to start MDMA transfer after the configuration of Source address, destination address and the Length of data to be transferred.

HAL_MDMA_Init() function is used to program the required configuration intended.

However, HAL_MDMA_GenerateSWRequest() is used to trigger requests manually only if it is a SW request. For example: when buffer/block transfer has confirmed the first block.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

View solution in original post

3 REPLIES 3
FBL
ST Employee

In my understanding the functions HAL_MDMA_Start() or HAL_MDMA_generateSWrequest() highlighted in the driver are generating an issue, could you please specify the use case which is marking the bug. If not, maybe, it is up to you to customize your preferable requests.

As mentioned in the driver, HAL_MDMA_Start() function is used to start MDMA transfer after the configuration of Source address, destination address and the Length of data to be transferred.

HAL_MDMA_Init() function is used to program the required configuration intended.

However, HAL_MDMA_GenerateSWRequest() is used to trigger requests manually only if it is a SW request. For example: when buffer/block transfer has confirmed the first block.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.

This problem is not so important, it can be handeled easily. thanks. If I could I should delete the post. The only thing I'e meant was to if start does not generate request in itself is better. since I only want generateSWRequest to generate request.

@SeyyedMohammad​ 

No need to delete the post as it may be helpful for other Community members having similar questions.

To give better visibility on the answered topics, please click on Accept as Solution on the reply which solved your issue or answered your question.