7 Replies Latest reply on Sep 14, 2017 3:31 AM by JoYi_1844281

    OTA using Internal flash


      We are working on enabling OTA upgrades for WM-BN-BM-22  hardware platform using WICED stack 4.1 .

      The board contains Internal flash of 1MB and doesn't have any External flash.

      Is it possible to do OTA upgrade in such scenario only using internal flash?

      If yes,


         1- Please provide details about it with respect to memory map of flash and the API to be used from WICED framework to achieve this ?

         2- Will it support staging failsafe mechanism of last known good firmware too or factory reset only?


      There  is one MCU connected to this board over UART which has external FLASH  existing , if the above scenario is not at all possible or we face some  memory constraints with that, can we leverage the other external FLASH? If yes , can you please help  to make this possible?

        • 1. Re: OTA using Internal flash



          Moved to the USI support forum.  Adding JoYi_1844281 from USI.

          • 2. Re: OTA using Internal flash

            The SDK already provide OTA , which is need external flash!

            You could check source code in apps/snip/ota_fr for the detail.

            We don't have any documents about OTA, only the source code, You could get all you need from the source code!


            For the questions you list, is there have any possible to do OTA without external FLASH,

            the answer is yes!

            But there are one key factor is your application image size !

            Current SDK did not support OTA with internal Flash!

            But you could implement by yourself!

            1 of 1 people found this helpful
            • 4. Re: OTA using Internal flash

              Thanks for the info jone.


              I have already gone through the ota_fr app code and understood how the firmware is being transferred to the serial flash.

              Now when we talk about using internal flash there are some questions coming in:-


              1 - How will i do partitioning of internal flash same as external flash(i.e. FR_APP,FR_DCT,APP0,BOOTLOADER)?

              2 - How can we determine the size which can be max supported for the upgrade?


              I was trying to run this example on the above mentioned board which has WINBOND 25Q16DVSIG and i found its not working, i have changed the GLOBAL DEFINE as mentioned in the second link to SFLASH_SUPPORT_WINBOND_PARTS.


              In the same link i also found that only "Winbond  W25Q64FV" is supported by WICED, but our board has "WINBOND 25Q16DVSIG". Can you please confirm whether it is supported or not?


              If not, please help to make it supported.

              • 5. Re: OTA using Internal flash

                First I still confuse with your question ?

                What is your mean of internal flash ? As I mention internal flash is embed in ST MCU !


                The Winbond's Flash for me , It is external flash, because it's out side MCU! connect MCU via SPI interface!


                The W25Q16DVSIG locate on U3 our EVB, It is not support on current SDK and platform files!


                The correct SPI flash used for OTA is locate on U10!

                You should mount the flash you like to used to U10 !


                The different Flash model support!

                You could add those into the code by yourself! You already got all you need in SDK!

                1 of 1 people found this helpful
                • 6. Re: OTA using Internal flash

                  Appologies for the confusion Jone.

                  I was in a impression that the winbond W25Q16DVSIG external flash will be used for OTA, now its clear that it is not supported.


                  Now i am looking for help regarding internal flash only, as you already mentioned it is embed in ST MCU and its size is 1MB.


                  So can you help me in enabling internal flash for OTA, i am not sure how to write contents to it and which api to be used to access the different applications that will reside in it?

                  • 7. Re: OTA using Internal flash

                    As my first reply to you!

                    Current SDK did not support internal FLASH OTA.

                    Sorry we could not help on this!

                    Cause We did not have any experience about OTA with internal FLASH!


                    If you still need it, you have to study how to used the internal Flash with ST MCU, do it by youself.

                    The ST web site include all you need.

                    1 of 1 people found this helpful