1 2 Previous Next 19 Replies Latest reply on Dec 20, 2016 7:29 AM by akoc_2105311

    OTA2 boot procedure

      Hi there,


      I am using WICED-Studio-4.0 and trying to port OTA2 to STM32F4xx platform. After digging the source code and reading the WICED-OTA2.pdf, I get lost at the boot procedure.


      1. The PDF says that we must define "CURRENT_APPLICATION_USES_INTERNAL_FLASH" in the application make file, which will not download the APP0 to the external serial flash and the APP0 is extracted from OTA2 image to the internal application area directly if needed. That means the APP0 area of the external serial flash will never has a valid APP0.


      2. According to the "ota2_bootloader.c", it sets the APP0 as the load program every time it starts up. We assume that there is no OTA2 image available for extracting, nor factory reset button pressed after power on, then the bootloader will  load the APP0 from the external serial flash.


      How could the bootloader load the APP0 from the  external serial flash while the APP0 is empty?


      Did I miss something? Any tips and explanation would be appreciated!


      Best regards,


        • 1. Re: OTA2 boot procedure


          A simple question: Does cypress team ever successfully test OTA2 on STM324xx platforms?

          If yes, can you share the experience.

          If no, do you have plan to support OTA2 on STM324xx platforms?

          • 2. Re: OTA2 boot procedure

            Since this is a source of confusion across multiple customers, one of the goals we have in the upcoming quarter is to work closely with the core engineering team to document exactly what is and is not supported within OTA2. As part of the exercise, we will also determine when the standard OTA is preferred.


            SteveOD_36 KausikS_86 GregG_16 rameshm_61 JamesD_66

            • 3. Re: OTA2 boot procedure

              I'm asking a very simple question, but your repry is so confusing?

              Do you know anyone successfully run OTA2 on STM32F4xx platforms?

              • 4. Re: OTA2 boot procedure

                Yes.  I believe there was one tier 1 customer that we walked through this process.

                • 5. Re: OTA2 boot procedure

                  mwf_mmfae wrote:


                  Yes.  I believe there was one tier 1 customer that we walked through this process.

                  Then it should be easy to provide a note in a few days so others can test with similar steps.

                  Waiting for the upcoming quarter for the documentation does not make sense at all.

                  • 6. Re: OTA2 boot procedure

                    It was a very custom high touch solution. We will do our best to determine if the same solutions can be applied to the broad market.

                    • 7. Re: OTA2 boot procedure

                      WICED-Studio-4.0.1 has changed the boot procedure and the procedure on the new SDK does make sense.

                      • 8. Re: OTA2 boot procedure

                        ielec wrote:


                        WICED-Studio-4.0.1 has changed the boot procedure and the procedure on the new SDK does make sense.

                        I don't get it. Does it work for you on your STM32F4xx platform?

                        In additional, can you point out which part is wrong in older SDKs?

                        • 9. Re: OTA2 boot procedure

                          That does not mean that the OTA2 works on STM32F4xx platform and the question is only about the WICED application boot procedure when applying OTA2.


                          What I described on the first post is the wrong thing in the older SDK.


                          As far as I know, the OTA2 in the new SDK is still under developing, since I can't find required rules to build and deploy the new added failsafe app, though the failsafe app is a really awesome and important functionality for OTA2.

                          • 10. Re: OTA2 boot procedure

                            Honestly, I feel the wiced team simply cannot clearly describe the status of OTA2.


                            If you read the CHANGELOG.txt, you will find:

                            Changes for WICED-SDK 3.5.2

                            * Added secondary OTA and Factory Reset Support (OTA2)

                               * enhanced functionality for updating more system components


                            Some people might consider OTA2 is well supported by above statement.


                            However, if you read the post on the forum, it's clearly OTA2 is only tested on BCM43907.

                            But the replied from wiced team is "OTA2 is not supported for all platforms". So confusing reply.


                            There are some questions about "OTA2 on stm32f4xx platforms" since 9 months ago.

                            Turn out the replied from  MichaelF_56 means OTA2 is not supported for STM32F4xx at this moment.

                            • 11. Re: OTA2 boot procedure

                              What we can do now is just be patient. I have faith in the WICED team and they will provide a full implemented and reliable OTA2 mechanism.

                              1 of 1 people found this helpful
                              • 12. Re: OTA2 boot procedure

                                My understanding is that in addition to greatly increased RAM requirements for OTA2, most IoT designs also do not contain enough internal FLASH to accommodate the needs of OTA2, and will require external FLASH to store the code and data needed.


                                Withing the latest version of WICED Studio, take a look at the following: WICED-SDK/doc/WICED-OTA2.pdf


                                Notice in the revisions noted at the beginning of the document the following line item:

                                WICED-OTA2-R 1.06 October 17, 2016 Added FLASH and RAM requirements.


                                Then scroll down to these sections and note the memory requirements added int he form of tables:


                                4.1 Memory Requirements

                                4.1.1 OTA2 Flash Requirements

                                4.1.2 OTA2 RAM Requirements


                                It seems that many of these exceed the memory resources typically available in most STM32 processors which are integrated in the modules we offer through our module partners.


                                In speaking with the core SW team, it seems that this is the main issue for OTA2 on STM32 platforms supported within the broad market.

                                • 13. Re: OTA2 boot procedure

                                  Your statement is totally different from what the wiced team replied on Mar:


                                  In this thread:



                                  nasac_2167841 mentioned: (Mar 3, 2016 5:38 PM)

                                  OTA is deprecated and should NOT be used for any new development/design

                                  OTA2 will be the preferred way and the only way supported going forward


                                  nasac_2167841 mentioned: (May 18, 2016 7:01 PM)

                                  OTA2 will apply to all platforms with external serial flash in the initial release. Future releases will address the need to have support for platforms with only internal flash.

                                  So the combination you requested it would work.

                                  Also the initial release would be focused on ThreadX from a qualification standpoitn but we would appreciate folks in the community testing our the FreeRTOS builds as well


                                  That is why the OTA2 status is so confusing.

                                  • 14. Re: OTA2 boot procedure

                                    Actually, if working through the makefiles and the source code of the WICED framework, you will find that the OTA2 is applicable on STM32 platforms which equipped with external serial flash. So as long as the capacity of the external serial flash is large enough, the only thing to do is create the rules to deploy the OTA2 images and other resources for STM32 platforms.

                                    1 of 1 people found this helpful
                                    1 2 Previous Next