Wi-Fi Combo Forum Discussions
In the CYW43907, the appscr4_saved_core_status contains bits relating to the reset cause of the processor:
s_error_log
s_bp_reset_log
force_proc_reset_log
Does anyone know the details of each reset flag and what will cause them to be set?
While my boards runs over time it will randomly get a reset and I am trying to track down whether it is a random exception or if it is noise on the reset line or some other issue. I am not able to monitor the serial port on all devices while running in a debug build to see a exception so i am trying to find as many clues as i can.
Show LessI am running SNTP after establishing a WiFi connection. SNTP takes 15-30 seconds and sometimes sets the time to an invalid value (or fail and leaves it alone, I have not debugged that aspect)
I am comparing my code to snip.http_server_sent_events.c, which works much faster and I have never seen it fail.
from snip.http_server_sent_events.c
/* Initialise the device */
wiced_init();
/* Bring up the STA (client) interface */
wiced_network_up( WICED_STA_INTERFACE, WICED_USE_EXTERNAL_DHCP_SERVER, NULL );
/* Timestamp is needed for server-sent event (SSE) data.
* Start automatic time synchronisation and synchronise once every day.
*/
sntp_start_auto_time_sync( 1 * DAYS );
my code
int wifiConnectCount=0;
do
{
result = wiced_network_up(WICED_STA_INTERFACE, WICED_USE_EXTERNAL_DHCP_SERVER, NULL);
if ( result != WICED_SUCCESS )
{
WPRINT_APP_ERROR( ( "***Error: wiced_network_up failed: %u\n", result) );
// see if we failed enough times to declare an error
if (wifiConnectCount < 1)
{
wifiConnectCount++;
}
else
{
// we've tried enough times, start showing error indication
// this will clear later when we find wifi
setUiState(LED_UI_CONNECTION_ERROR);
}
}
} while (result != WICED_SUCCESS);
// we found WiFi, go back to "starting" indication
setUiState(LED_UI_STARTUP);
/* Print out network info */
WPRINT_APP_INFO((" **NETWORK INFO\r\n"));
wiced_ip_get_ipv4_address(WICED_STA_INTERFACE, &myAddress);
printIp(" *IP addr: ", myAddress);
wiced_ip_get_netmask(WICED_STA_INTERFACE, &ipAddress);
printIp(" *Netmask: ", ipAddress);
wiced_ip_get_gateway_address(WICED_STA_INTERFACE, &ipAddress);
printIp(" *Gateway: ", ipAddress);
wwd_wifi_get_rssi (&myrssi);
WPRINT_APP_INFO((" *RSSI: %d\n", (int)myrssi));
// get SNTP going
WPRINT_APP_INFO(("Start SNTP\n"));
sntp_start_auto_time_sync( TIME_SYNC_PERIOD );
wiced_time_get_utc_time_ms (&utc_time_ms);
WPRINT_APP_INFO(("SNTP started at %llu\n", utc_time_ms));
sntpTimeReceived = true;
TIME_SYNC_PERIOD is defined as 1*DAYS
I cannot see a difference between the sample code and mine. they are using the same WiFI network. Any ideas?
Message was edited by: Nadi Findikli (removing some product-name items)
Show LessAs a follow on to this thread: No Platforms in Wiced Studio Setup
Was this problem ever resolved? I am running windows 10 and experienced this exact problem (only a tools folder in 43xxx_Wi-Fi folder - everything else missing) with Wiced6.2. I tried 6.1 and it installed just fine.
Show LessHi. We have custom board with CYW43907 chip. When connecting with J-Link raised next problem. "Could not power up debug port. Control/Status register reads 00000103. Failed to connect". Our design similar to CYW943907 Evaluation Kit.
Any suggestions to resolve this problem? What we do wrong?
Thanks.
Show LessHi,
I'm quite new to the Wiced Studio environment, so I hope I'm not forgetting something.
I have a CYW943907AEVAL1F Kit and I'm testing the OTA2 features. Here is what a tried:
1 - Build and download the manufacturing image with the "ota2_manuf_download" makefile target. I understand that this image should contain everything needed for the OTA2 update.
2 - Modified a constant in the app so that I could see the difference between the "factory" firmware and the "updated" one (the constant is printed to the console).
3 - I used the "ota2_download" makefile target to build the image and download it to the staging area
4 - Reboot the board and check that the "old" firmware is still running.
At this point I press button1 of the board. In the firmware, the button is programmed to do the following:
wiced_log_msg(WLF_DEF, WICED_LOG_INFO, "Setting OTA2 header to EXTRACT_ON_NEXT_BOOT");
wiced_ota2_image_fakery(WICED_OTA2_IMAGE_EXTRACT_ON_NEXT_BOOT);
So basically when I press the button, I use the fakery function to "fake" a successful download of the new firmare image, which I previously saved in the flash.
Now, if I simply reboot the board, everything works as expected: the OTA2 extraction app runs, extracts the new firmware and runs it after rebooting.
The problem is that if I reset the board *during* the extraction, the Failsafe app never runs. I enabled the printf macros in ota2_bootloader.c and slightly edited it to print more info. In particular, I added 2 printf in this part (line ~209 of ota2_bootloader.c):
/* Check boot_type FAILSAFE - if so, use ota2_failsafe to recover */
BOOTLOADER_PRINTF(("Bootloader: boot_type = %d!\r\n", dct_ota2_config.boot_type));
if ((dct_ota2_config.boot_type == OTA2_BOOT_FAILSAFE_FACTORY_RESET) ||
(dct_ota2_config.boot_type == OTA2_BOOT_FAILSAFE_UPDATE))
{
uint32_t entry_point;
if (ota2_failsafe_app_load( OTA2_IMAGE_FAILSAFE_APP_AREA_BASE, &entry_point ) == WICED_SUCCESS)
{
BOOTLOADER_PRINTF(("Bootloader: Starting failsafe app ... address %ld\r\n", entry_point));
wiced_waf_start_app( entry_point );
} else {
BOOTLOADER_PRINTF(("Bootloader: failed to load failsafe app!\r\n"));
}
}
Now on the console, here is what I see after rebooting the board during the extraction from the staging area:
OTA2 Bootloader -- start_sequence : 2 wiced_waf_start_app() 0x4a0140
Hi, I'm the OTA2 extraction app (ota2_extract).
Extract from Staged Area!
Copy Current DCT to Saved DCT.
extracting: APPS.bin.
extracting: DCT.bin.
extracting: snip.ota2_extract-CYW943907AEVA..................
extracting: filesystem.bin <----- HERE IS WHERE I RESET THE BOARD
..OTA2 Bootloader!
Bootloader: boot_type = 9!
Bootloader: Starting failsafe app ... address 4849696
At this point I'd expect the failsafe app to run and extract the image from the staging area... but nothing happens and it remains stuck there forever. Rebooting the board again will result in the last two lines being repeated...
Do you have any suggestion? Am I doing something wrong?
Thank you in advance!
Marco
Show LessUsing Wiced Studio 6.1. Running into a timeout condition using wiced_tcp_connect() with a 2000 ms timeout. Looking for ideas on what the issue may be?
Thanks,
Show LessI am checking the robustness of the HTTPS server and client functions on the CYW943907AEVAL1F eval board. I have written an HTTPS client in Java, and it periodically retrieves a page from the HTTPS server on the eval board (approx. every 2 seconds, or so). (Not exactly a "hammer" test, but more of a "tap" test.)
When I concurrently access the WICED server via a browser (Firefox), then eventually I can get the server to fail. And it is gone for good until I bring down the server and start a new one.
Has anyone performed robustness testing in this manner? If so, what are your experiences? Thanks!
Show LessHi All,
I installed WICED-Studio 6.1.0 in my system windows10,recently some error came that's why i deleted the WIced-studio6.1.0. So, Now i am trying to do install WICED-Studio6.1.0 version in my system windows10 but not able to install.When i was install cmd.exe execution error is coming.
So, What can i do for install WICED-Studio6.1.0 for windows10.
Thanks & Regards,
Srikrishna Pelluru.
Show LessHello!
I ported WICED SDK 6.1 code to the Cortex-A9.
Hardware:
- my own (ARM Cortex-A9 + Murata 1DX module with BCM4343W)
- bus SDIO
I made the changes based on this article:
Bluetooth works fine.
but:
I'm trying to run a snip scan.
The initialization is fine, successfull firmware download 4343WA1.bin and 4343WA1.clm_blob.
It prints a list of access points, but only once.
The function wiced_scan_result_handler() receives the argument result_ptr = NULL.
I added an argument NULL check.
...
if (result_ptr == NULL || *result_ptr == NULL)
{
PRINT("[%s] LINE = %d result_ptr 0x%X", __FUNCTION__, __LINE__, result_ptr);
wwd_print_stats(WICED_FALSE); //TEST
return;
}
...
After that it hangs on:
wiced_rtos_get_semaphore(&scan_data.semaphore, WICED_WAIT_FOREVER);
in function application_start()
Log in attached.
I added debug messages like this article.
What could be my problem?
Thanks.