8 Replies Latest reply on Nov 12, 2018 8:35 AM by gregory.madden_3786076

    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
                • 5. Re: OTA2-example on the QuickSilver platform
                  kforest_3714346

                  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)
                  
                  • 6. Re: OTA2-example on the QuickSilver platform
                    mifo

                    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.

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

                      Hello kforest_3714346 user_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.

                      1 of 1 people found this helpful
                      • 8. Re: OTA2-example on the QuickSilver platform
                        gregory.madden_3786076

                        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.

                        Performing OTA2 based updates on the Quicksilver EVK

                        Arrow

                        1 of 1 people found this helpful