13 Replies Latest reply on Nov 15, 2016 7:21 PM by mifo

    OTA2 missing from DCT_section_offsets

    webmstreric

      I am not working on OTA2, but in the process of trying to get out classic OTA system to work on WICED 3.5.2, I discovered what appears to be a bug in OTA2. I noticed a possible problem that might affect OTA2. There is a small section at the end of the DCT for stuff like a reboot counter for OTA2. The enumeration in WICED\platform\MCU\wiced_dct_common.h has the extra section at the end, but WICED\platform\MCU\wiced_dct_internal_common.h does not have that section in the definition of the DCT_section_offsets[] array. That array is used to get the location of a section of the DCT in order to read the contents. Is this a bug in OTA2?

        • 1. Re: OTA2 missing from DCT_section_offsets
          nsankar

          Currently OTA2 is not supported for internal targets. 

          • 2. Re: OTA2 missing from DCT_section_offsets
            webmstreric

            This answer is incorrect. wiced_dct_internal_common.h refers the internal copies of the DCT and has nothing to do with an internal target of an Over The Air(OTA) update.

            • 3. Re: OTA2 missing from DCT_section_offsets
              nsankar

              What I meant is that currently OTA2 is not supported for platforms where the DCT is stored internally i.e. in the internal MCU flash like for example the STM32F4 family. Currently OTA2 is only tested and supported on devices with DCT stored in external SFLASH like the 4390 or the 4390x family of devices

              • 4. Re: OTA2 missing from DCT_section_offsets
                david_epperly_2098041

                With 3.7.0-3 is OTA2 supported on STM411? It seems to be missing files in:

                WICED-SDK-3.7.0-3\WICED-SDK\WICED\platform\MCU\STM32F4xx\GCC\STM32F411     such as:     ota2_dct.ld

                 

                Also, at one point OTA was being claimed as deprecated and no longer recommended. Is this still true?

                 

                If you were trying to port from OTA to OTA2 today, would you do it, or would you prefer to stay with OTA?

                 

                Can you list some good references about how to port to OTA2 on STM411 with 1MB of external flash?

                • 5. Re: OTA2 missing from DCT_section_offsets
                  mifo

                  My understanding is that OTA2 is only supported on the 4390X platform at this point.

                   

                  There are many other threads which discuss OTA, which we have struggle with since SDK 3.6.

                   

                  I have opened cases with the core development team to look into OTA (non-2) on 3.6-3.7.0-3, but it will be a few more weeks before they can dig into the issue.

                  • 6. Re: OTA2 missing from DCT_section_offsets
                    david_epperly_2098041

                    Ok, I do not have much time to invest in a port to OTA2, so I'm going to read this as a non-recommendation at this time. Can you please confirm?

                     

                    I had OTA working on the STM411 + external 1MB in 3.5.2 and have copied all of that to 3.7.0-3 and it seems to work, though I have not yet tested OTA(non2).

                     

                    Are you saying there are known issues in OTA in 3.7.0-3 that did not exist in 3.5.2?

                    • 7. Re: OTA2 missing from DCT_section_offsets
                      mifo

                      If my memory serves me correctly, DCT based OTA worked fine through 3.5.2 on all of the chips supported in the broad market (4343W, 43364, 43363, 43340, etc.)  The introduction of OTA2 however introduced some challenges with standard OTA.  Because OTA2 only supported the 4390X (non broad market at this time), that compounded the issue. OTA2 with the 43907 is described here: OTA2 Update for SDK-3.7.0

                       

                      If you look here at this thread: Re: SDK-3.6.3 / SDK-3.7.0 wiced_framework_set_boot() doesn't work , rderr_1773541 has figured out a work around for one of the issues encountered with standard OTA on 3.7.x

                       

                      I will continue to escalate with core engineering, but it's good to at least hear you have something working on an older version of the SDK.

                      • 8. Re: OTA2 missing from DCT_section_offsets
                        david_epperly_2098041

                        Um, those are radio parts. OTA and OTA2 only interacts with the microcontroller aspect of the part right? And OTA doesn't care which radio it is (except that the update package must have correct radio firmware if that's being updated).

                         

                        So the OTA2 examples appear to be for the 4390 which is MCU+Radio, but the OTA2 related stuff only interacts with the 4390 MCU portion of the chip right?

                         

                        There appears to be OTA2 code that supports STM401 MCU and it seems like it should be easy to support STM411 at that point.

                         

                        My use of OTA on 3.5.2 is klunky and I don't like it. While my app runs on 3.7.0-3, I haven't yet retested the OTA(non2) there there yet. My factory reset on 3.7.0-3 appears to work fine. Thanks for the pointer to the set_boot issue and workaround.

                         

                        Could I obtain some more direct support for OTA2 on the STM411? I think I have enough space in the external 1MB flash to do it. I bet I could get it working in a day or so with the correct support and then you'll have an STM411 example.

                        • 9. Re: OTA2 missing from DCT_section_offsets
                          mifo

                          OTA for the broad market is designed to work in conjunction with one of our eval boards and/or partner modules.

                           

                          Both contain a radio and an external host MCU like the STM32F411/12.

                           

                          The 4390X (product OTA2 works on today) contains an internal MCU.

                           

                          Maybe one of the other power users here on the community can offer guidance on getting OTA2 to support the STM32F411 as several have tried.

                          • 10. Re: OTA2 missing from DCT_section_offsets
                            david_epperly_2098041

                            I'm using a partner module. It is STM411 + 43362, but again, the radio aspect doesn't matter as OTA/OTA2 does NOT directly interact with the radio.

                             

                            The key is simply getting an example compiling / working / documented on the STM4x platform.

                             

                            Does Cypress have an interest in doing a rapid example with me on that?

                            • 11. Re: OTA2 missing from DCT_section_offsets
                              axel.lin_1746341

                              mwf_mmfae wrote:

                               

                              OTA for the broad market is designed to work in conjunction with one of our eval boards and/or partner modules.

                               

                              Both contain a radio and an external host MCU like the STM32F411/12.

                               

                              The 4390X (product OTA2 works on today) contains an internal MCU.

                               

                              Maybe one of the other power users here on the community can offer guidance on getting OTA2 to support the STM32F411 as several have tried.

                              Did I miss something? You are asking the users on the forum to offer gidance on getting OTA2 to support the STM32F411?

                              I don't know anyone has successfully use ota2 on any STM32F4xx platforms.

                              1 of 1 people found this helpful
                              • 12. Re: OTA2 missing from DCT_section_offsets
                                david_epperly_2098041

                                I liked your response, even though I don't like the answer ;-)

                                 

                                Please let me know if you find someone working on this.

                                • 13. Re: OTA2 missing from DCT_section_offsets
                                  mifo

                                  At this time, I am first trying to make sure that we can at least support OTA on some of the standard platforms.

                                   

                                  This is additional discussion on this topic here: https://community.cypress.com/message/29426