Skip to main content
Edwin kaus
Associate III
May 26, 2018
Question

SAI DMA Error (STM32H743BIT MCU)

  • May 26, 2018
  • 1 reply
  • 2400 views
Posted on May 26, 2018 at 08:43

Hello.,..,

We were working with STM32F765BIT MCU SAI interface to capture 4 channel audio data and it was working fine , But now we are upgrading to STM32H743BIT MCU(both are same package) and made same configuration ,It seems the SAI interface works fine with Interrupt mode , But when I tried with DMA to receive audio data its getting DMA error .

I used STM cubeMX to generate driver file and used the same procedure as I used for earlier one. I have been stuck in this issue for a long while , and also raising this issue on community but not getting any response.,

If ST people can spare some time to resolve this issue it would be appreciated lot.

Thank you.,

#stm32

Note: this post was migrated and contained many threaded conversations, some content may be missing.
    This topic has been closed for replies.

    1 reply

    Tesla DeLorean
    Guru
    May 26, 2018
    Posted on May 26, 2018 at 13:11

    This is primarily a user to user forum, suggest you link to existing threads if you refer to them, provide a complete ZIPed project minimally illustrating the failure, that compiles, and a dump of the related registers and error statuses.

    This thread?

    https://community.st.com/0D50X00009XkXYlSAN

     

    The H7 is more complex than any other STM32 part, DMA has new routing options, there may be issues with specific memory locations. DMA 'Error' conditions typically revolve about using an address that is not supported. Check the bus matrix diagrams for memory/bus connectivity, and the DMA channel matrix. Try different SRAM blocks.

    The data provided so far is NOT sufficient to get involved in diagnostic work. There only a handful of users here using H7 parts. People aren't going to spend hours on your problems, including ST staff, your goal would be to provide sufficient material that 5-10 minute of build/review might provide definitive answers. The number of people wanting to get involved in CubeMX code is even smaller.

    Review, test and evaluate examples provided by ST, determine if these work or replicate the failure you observe

    STM32Cube_FW_H7_V1.2.0\Projects\STM32H743I_EVAL\Examples\SAI

    Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..
    Technical Moderator
    May 29, 2018
    Posted on May 29, 2018 at 15:58

    Hello

    karthikshivanna.94

    ,

    The problem that you have,it may

    be due to an error in the DMA configuration. The configuration of

    STM32F7 is not the same as inSTM32H7.

    You should check the

    DMA configuration,DMA stream notion and channel which are different. Also the DMA request should be enabled for STM32H7.

    For STM32H7, the adress

    @0x20000000 DTCM is not accessible by the DMA.

    You may refer to the reference manual to check the right adress on section ''Embedded SRAM

    ''.

    0690X0000060BPMQA2.png

    I suggest that you have a look to the working SAI example within STM32CubeH7 firmware package, it may help you:

    STM32Cube_FW_H7_V1.2.0\Projects\STM32H743I_EVAL\Examples\SAI

    You find there a readme.txt file describing how to use the example and you should

    follow the instructions and notes.

    Then, you may update the example orre-use it according to your needsandget inspiredtocheck the DMA configuration.

    Hope this bring you some help.

    With Regards

    ,

    Imen

    In order to give better visibility on the answered topics, please click on 'Best answer' on the reply which solved your issue or answered your question. Thanks
    Edwin kaus
    Associate III
    May 30, 2018
    Posted on May 30, 2018 at 09:30

    Hai Imen D.,.,

    Yes it is ri8 , the problem resolved by changing the RAM address area, Now its working fine, Also I found some bugs in Cube MX while generating code for ethernet interface,

    Bug 1: All ethernet GPIO pins mode should be set to High speed(In GPIO configuration) , but by default it set as low speed mode. 

    Bug 2: By default in cube 4 TX & RX descriptors are taken , But it works only when I changed to 2 TX & RX descriptors.

    Thank you.,.,