- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We are developing custom board with STM446 and BCM43438. Use WICED SDK v5.0.0.
Device initialization starting, backplane regs write/read succefuly, ALP starting, firmware download process ok, and PLL do not starting.
Process run in loop waitnig for PLL status bit is set, but this does not happen. Is it becouse BCM43438 firmware don't started after downloading?
Any answer is welcome!
Thanks in advance,
Best regards.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi.
First must ensure firmware data sent OK. Find wiced debug code to read saved data and enable it.
BR
Darius
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thanks Darius!
Where can I find wiced debug code to read saved data and enable it?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
It in same place, where writing. Sorry currently I cant tell you this place, not have wiced sdk.
Try find in forum with similar problem.
BR
Darius
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Use SPI interface.
I wrote a test function that writes about 10000 times to registers 0x18-0x1B (write uint32_t value with +=0x11111111 increment) and reads the value back. It works correctly, no faults.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
if actual, this function
static wwd_result_t download_resource( wwd_resource_t resource, uint32_t address )
This test code from older sdk
#if 1
{
/* TODO: THIS VERIFY CODE IS CURRENTLY BROKEN - ONLY CHECKS 64 BYTES, NOT 16KB */
/* Verify download of image data */
//uint8_t tmpbuff[64];
uint8_t tmpbuff[WWD_BUS_MAX_TRANSFER_SIZE];
memset(tmpbuff, 0, WWD_BUS_MAX_TRANSFER_SIZE);
if ( WWD_SUCCESS != ( result = wwd_bus_transfer_bytes( BUS_READ, BACKPLANE_FUNCTION, address & BACKPLANE_ADDRESS_MASK, transfer_size, (wwd_transfer_bytes_packet_t*)tmpbuff ) ) )
{ free(ram_buff);
return result;
}
if ( 0 != memcmp( tmpbuff, ram_buff, (size_t) transfer_size ) )
{
/* Verify failed */
WPRINT_WWD_ERROR(("Verify of firmware/NVRAM image failed"));
}
}
#endif /* if 0 */