Could not initialize wifi platform ==> STM32F7xx + CYW4343W

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
rzec_3016261
Level 3
Level 3
First like received

Hello all,

Situation is:

Hardware:

  • my own (STM32F756 + CYW4343WKUBG)
  • bus used == SDIO

Software:

  • WICED-Studio-6.2-SDK
  • no IDE, just makefiles [ ./make snip.sntp_get_time-MYPLF-FreeRTOS-LwIP download run ]

 
Problem:

I’m stuck at ( SDIO->RESP1 & 0x800 ) in wwd_SDIO.c Why?

Software sequence where it goes wrong:

wwd_bus_protocol.c:628 wwd_result_t wwd_bus_write_backplane_value(

wwd_bus_protocol.c:637 VERIFY_RESULT( wwd_bus_sdio_transfer(

wwd_bus_protocol.c:671 static wwd_result_t wwd_bus_sdio_transfer(

wwd_bus_protocol.c:707 static wwd_result_t wwd_bus_sdio_cmd53(

  wwd_bus_protocol.c:728 result = host_platform_sdio_transfer(

The host_platform_sdio_transfer() is MCU specific, my version is the same as the STM32F4xx MCU version but uses the STM LL library references.

All goes well, except I hit the (SDIO->RESP1 & 0x800) and therefore sdio_transfer_failed = WICED_TRUE;

Now my problem is that I have a not supported platform (STM32F7xx) and new hardware so I would very much have some in-depth understanding of what this error means.

 

I have found this link https://community.cypress.com/message/26491#26491

but it doesn’t seam to relate to my problem since the data used when it hits this problem is 4 bytes long and sits in RAM memory. So no DMA TXUNDERR.


Thanks for any help.

Regards.

0 Likes
1 Solution

OK found the problem.

It was a timing issue. The SDMMC1->FIFO did not get filled fast enough after initializing the SDMMC1 and enabling the DMA.

Got it working.

View solution in original post

13 Replies