wiced_framework_set_boot with parameter WICED_FRAMEWORK_LOAD_ONCE will cause CYW43907 hang up!.

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

cross mob
wesh_3052046
Level 1
Level 1

wiced_framework_set_boot with parameter WICED_FRAMEWORK_LOAD_ONCE will cause CYW43907 hang up!.

I tested with application demo: snip.tftp.

If I use WICED_FRAMEWORK_LOAD_ONCE for wiced_framework_set_boot, CYW43907 could startup normally next time.

But it will hang up if I power off then power on next time.

I can produce this issue 100% times. And my SDK is WICED-Studio-6.2.

Is this could be an issue? I'd like to use WICED_FRAMEWORK_LOAD_ONCE when update system's application..

0 Likes
1 Solution

Hello,

Please check the attached application for testing the WICED_FRAMEWORK_LOAD_ONCE concept with multiple images.

The zip file contains two applications: 1. load_once and 2. load_APP1

The load once app is stored in APP0 section and load_APP1 app is stored in APP1.

The first app(APP0-load_once) sets the boot type to DCT_APP1_INDEX and reboots the device. Similarly, the second APP(APP1-load_APP1) sets the boot type to DCT_APP0_INDEX with WICED_FRAMEWORK_LOAD_ONCE.

Steps to test:

1. make the target as follows and build the app:

load_APP1-CYW943907AEVAL1F

2.make the target as below to download both APP0 and APP1 to the board

load_once-CYW943907AEVAL1F download download_apps run

You should see multiple applications being downloaded to the board in your console:

Downloading APP0 build/riya.load_once-CYW943907AEVAL1F/binary/riya.load_once-CYW943907AEVAL1F.stripped.elf @ sector 137 address 561152 size 27...

Downloading APP1 build/riya.load_APP1-CYW943907AEVAL1F/binary/riya.load_APP1-CYW943907AEVAL1F.stripped.elf  at sector 164 address 671744 size: 27...

View solution in original post

0 Likes
5 Replies
PriyaM_16
Moderator
Moderator
Moderator
250 replies posted 100 replies posted 50 replies posted

Can you please check the app_id before rebooting the device?

cold boot: only reset through switch

warm boot: power cycle the board

Calling wiced_framework_set_boot() with WICED_FRAMEWORK_LOAD_ONCE will run the new application pointed by app_id on COLD BOOT

On WARM BOOT, the bootloader reads the DCT internal section for load_details ,entry point and starts the application.

0 Likes

Sorry, I am a little confused about the concept of "COLD BOOT/ONCE" and "WARM BOOT/ALWAYS" now

In my opinion:

COLD BOOT means power off and power on the device.

WARM BOOT means power cycle the board.....

and according to the macros names: WICED_FRAMEWORK_LOAD_ONCE seems only use the specific application once, if restart again, will use default application.

WICED_FRAMEWORK_LOAD_ALWAYS seems use the specific application always even if we restart the device...

0 Likes

Hello,

As per the comment:

COLD BOOT means power off and power on the device.

WARM BOOT means power cycle the board.....

It looks like there is some confusion here, I am not sure how is power cycle different than power OFF-ON the device?

The macro WICED_FRAMEWORK_LOAD_ALWAYS sets the boot type to the specified application and so the same application loads when the device is restarted.

0 Likes

Hi, PriyaM_16

Sorry to confuse you, WARM boot is a copy-pasted error in my previously comment. My meaning is restart by switch on the board.

Yes, you said:

The macro WICED_FRAMEWORK_LOAD_ALWAYS sets the boot type to the specified application and so the same application loads when the device is restarted.

But while I choose another boot type WICED_FRAMEWORK_LOAD_ONCE, my board could start up next time, but will hang up next next time if is cold restart...

BR/Wei

0 Likes

Hello,

Please check the attached application for testing the WICED_FRAMEWORK_LOAD_ONCE concept with multiple images.

The zip file contains two applications: 1. load_once and 2. load_APP1

The load once app is stored in APP0 section and load_APP1 app is stored in APP1.

The first app(APP0-load_once) sets the boot type to DCT_APP1_INDEX and reboots the device. Similarly, the second APP(APP1-load_APP1) sets the boot type to DCT_APP0_INDEX with WICED_FRAMEWORK_LOAD_ONCE.

Steps to test:

1. make the target as follows and build the app:

load_APP1-CYW943907AEVAL1F

2.make the target as below to download both APP0 and APP1 to the board

load_once-CYW943907AEVAL1F download download_apps run

You should see multiple applications being downloaded to the board in your console:

Downloading APP0 build/riya.load_once-CYW943907AEVAL1F/binary/riya.load_once-CYW943907AEVAL1F.stripped.elf @ sector 137 address 561152 size 27...

Downloading APP1 build/riya.load_APP1-CYW943907AEVAL1F/binary/riya.load_APP1-CYW943907AEVAL1F.stripped.elf  at sector 164 address 671744 size: 27...

0 Likes