- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
Solved! Go to Solution.
- Labels:
-
Wifi+Bluetooth
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.