OTA2-example on the QuickSilver platform

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

cross mob
kiFo_3714346
Level 1
Level 1

Hello Everyone,

I'm evaluating the Arrow Quicksilver evaluation kit (based on Murata 1GC module which is based on CYW43907) and I want to build the OTA2-example that is included in WICED Studio (6.1.2 in my case) to test the OTA update capability.

I've built with success the snip.ota2_extract using this command :

snip.ota2_extract-Quicksilver_EVL

But when I build the snip.ota2_example, I get an error. I use this command to build it :

snip.ota2_example-Quicksilver_EVL ota2_image download run

Here the console output :

Downloading DCT ... build/snip.ota2_example-Quicksilver_EVL/DCT.bin @ SFLASH_DCT_LOC=0x0020d000

./tools/common/Win32/mk_wicedfs32 build/snip.ota2_example-Quicksilver_EVL/filesystem.bin build/snip.ota2_example-Quicksilver_EVL/resources/Staging/

Creating Filesystem Done

Illegal division by zero at ./tools/text_to_c/sector_count.pl line 49.

Finished Building OTA2 Failsafe

Building apps lookup table

tools/makefiles/wiced_apps.mk:454: *** OTA2 Factory Reset Image Info File Not built!.  Stop.

make.exe[1]: *** Waiting for unfinished jobs....

make: *** [main_app] Error 2

Makefile:351: recipe for target 'main_app' failed

What I've understood so far, it's when I run this command: "snip.ota2_example-Quicksilver_EVL ota2_image" (without the download and run) I was getting an overlapping error :

     OTA2 component OTA_APP_FILE overlaps FILESYSTEM_FILE by 0x7000 bytes Adjust platform's "ota2_image_defines.mk file" !!

          start: 0x00225000 padded size: 0x00047000  end: 0x0026c000 :: OTA_APP_FILE (build\snip.ota2_extract-Quicksilver_EVL\binary\snip.ota2_extract-Quicksilver_EVL.stripped.elf)

          start: 0x00265000 padded size: 0x0007d000  end: 0x002e2000 :: FILESYSTEM_FILE (build\snip.ota2_example-Quicksilver_EVL\filesystem.bin)

So what I've done, I've modified the following file: "platforms/Quicksilver_EVL/ota2_image_defines.mk"

And I've modified the line #98:

# File system

OTA2_IMAGE_CURR_FS_AREA_BASE         := 0x00265000 # 876k  0x000DB000

to

# File system

OTA2_IMAGE_CURR_FS_AREA_BASE         := 0x0026F000 # 876k  0x000DB000

To give more space to the snip.ota2_extract binary to fit in its memory space.

After that modification, I am able to build the snip.OTA2_example but it gets the same exact message when I try to put it on the target (download and run).

Do you have any idea how we can fix that issue?

Thanks in advance,

Mister Kim Forest

0 Likes
1 Solution
GrMa_3786076
Level 1
Level 1
First like received

We have created a document to fully outline the steps necessary to perform an ota2 update on the Quicksilver. The document can be found attached or over at the Arrow portal. Future inquiries can be directed to myself gregory.madden_3786076 or william.condon_3773821​.

OTA2 Update on Quicksilver

Arrow

View solution in original post

8 Replies
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

Adding the centralized Engineering team from Arrow: vpea_2619796mroberts_arrowuser_455868498

Have you taken a look at these 2 documents?

WICED OTA2 Update Support

OTA2 Update for SDK-3.7.0

0 Likes

Hello Mifo,

Yes, the I've read the WICED OTA2 Update Support.

The OTA2 Update post seems to work more (I get serial output from the snip.ota2_example).

Although, I still have the same error message when building the OTA2_image for the snip.scan:

     tools/makefiles/wiced_apps.mk:454: *** OTA2 Factory Reset Image Info File Not built!.  Stop.

Is there a way to get more log while building?

0 Likes

I will let the IoT applications team chime in as the Arrow Quicksilver board should operate in a near identical fashion for OTA_2 compared to our own 43907 development kit.

riyarroygyananpmshjlgrsr

0 Likes

Hello,

The problem is in the makefile which is looking for "download download_apps" in the make target instead of just "download" i.e.,it is expecting following make target:

snip.ota2_example-CYW943907AEVAL1F ota2_image download download_apps run

Kindly refer the 43xxx_Wi-Fi\tools\makefiles\wiced_apps.mk file to better understand the implementation.

Adding download download_apps in your make target should solve your problem.

I am trying to give an explanation on why the make target with only "ota2_image" works but the make target with "ota2_image download run" doesn't.

The conditional macro in the makefile works as follows:

ifeq (condition_evaluated_as_true)

lines-of-code-if-true

else

lines-of-code-if-false

endif

In context of WICED:

ifeq ($(OTA_APP),) means if OTA_APP is an empty string or contains only white space characters(which might appear empty to a user), then evaluate the "lines-of-code-if-true", else evaluate the "lines-of-code-if-false". Hence if OTA_APP is declared in the application makefile(as it is declared in the ota2_example.mk file), the ota2_image should be compiled. 

This statement

"OTA2_DOWNLOAD_DEPENDENCY := $(filter download download_apps, $(MAKECMDGOALS))

filters out 'dowload download_apps' from the make target and creates image dependencies for building and downloading further images.

When "download" is added to the make target, this OTA2_DOWNLOAD_DEPENDENCY equals just download, whereas when "download download_apps" is added, the paameter gets the correct value and hence the rest of the image are built/downloaded correctly.

Let me know if this makes sense.

Thanks, riya for the precision, really appreciated.

mifo Do you know how else we could contact the Arrow team to try to figure out why I'm not able to build an OTA2 image?

I need this feature to be implemented in a client product very soon.

Here's the Console output when I try to build snip.scan OTA2 Image :

10:23:29 **** Build of configuration Default for project 43xxx_Wi-Fi ****

"C:\\Users\\user\\Documents\\WICED-Studio-6.2\\43xxx_Wi-Fi\\make.exe" snip.scan-Quicksilver_EVL ota2_image

MAKEFILE MAKECMDGOALS=snip.scan-Quicksilver_EVL ota2_image OTA2_SUPPORT is enabled

snip.scan-Quicksilver_EVL

[...]

Creating Filesystem BCM94390x_targets.mk ...

./tools/common/Win32/mk_wicedfs32 build/snip.scan-Quicksilver_EVL/filesystem.bin build/snip.scan-Quicksilver_EVL/resources/Staging/

Creating Filesystem Done

Illegal division by zero at ./tools/text_to_c/sector_count.pl line 49.

Building apps lookup table

tools/makefiles/wiced_apps.mk:454: *** OTA2 Factory Reset Image Info File Not built!.  Stop.

Makefile:351: recipe for target 'main_app' failed

make: *** [main_app] Error 2

10:23:31 Build Finished (took 1s.654ms)

0 Likes

riya​ has direct access to our Level 2 and 3 applications team and is experienced with OTA2 architectural issues.

I would continue to work with him on the resolution as our own 43907 board would probably experience the same issue as I do not see why this would be a problem associated with the Quicksilver board only.

I will also ask the Arrow CY specialist for the East to reach out to the local Arrow branch and have them contact you as well.

0 Likes

Hello kforest_3714346user_455868498

When an ota2_image is built, you might come across two problems in the image creation:

1. Size overflow in filesystem.bin: Kindly arrange the size accordingly in WICED-Studio-6.2\43xxx_Wi-Fi\platforms\Quicksilver_EVL\ota2_image_defines.mk

You may change the OTA2_IMAGE_CURR_FS_AREA_BASE as follows:

OTA2_IMAGE_CURR_FS_AREA_BASE       := 0x0026c000

2. Failing to create the ota2_image because other files(like APPS.bin, stripped.elf, etc) are not compiled.

Please add ALWAYS=1 in your make target to force building all the binaries.

The make target would like this:

snip.scan-Quicksilver_EVL ota2_image ALWAYS=1

If this doesn't solve the problem, kindly enable verbose and share the compilation log. Add VERBOSE=1 in the make target to enable verbose.

GrMa_3786076
Level 1
Level 1
First like received

We have created a document to fully outline the steps necessary to perform an ota2 update on the Quicksilver. The document can be found attached or over at the Arrow portal. Future inquiries can be directed to myself gregory.madden_3786076 or william.condon_3773821​.

OTA2 Update on Quicksilver

Arrow