4 Replies Latest reply on Oct 19, 2018 3:49 AM by riya

    OTA2-example on the QuickSilver platform

    kforest_3714346

      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

        • 1. Re: OTA2-example on the QuickSilver platform
          mifo

          Adding the centralized Engineering team from Arrow: vpea_2619796 mroberts_arrow user_455868498

           

          Have you taken a look at these 2 documents?

          WICED OTA2 Update Support

          OTA2 Update for SDK-3.7.0

          • 2. Re: OTA2-example on the QuickSilver platform
            kforest_3714346

            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?

            • 3. Re: OTA2-example on the QuickSilver platform
              mifo

              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.

               

              riya rroy gyan anpm shjl grsr

              • 4. Re: OTA2-example on the QuickSilver platform
                riya

                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.

                1 of 1 people found this helpful