6 Replies Latest reply on Dec 14, 2016 12:41 AM by user_1377889

    增加OTA遇到的问题

    cgh_818_2099696

      cypress工程师 你们好!

         

         我们在使用你们的CYBL11573加入OTA功能时,发现一个很奇怪的问题:我们在快速的给芯片上电和断电的过程中会出现芯片永久死机的情况,除非重新烧录程序,否则永远不能恢复正常,好像放在芯片内的flash程序已经被破坏了一样!

         

      一下是在main中为OTA增加的代码:通过一个按键来进入OTA模式,如果去掉这部分代码,就不会出现上面的问题了。   

         

      int main()
      {
          CyGlobalIntEnable;

          #if !defined(__ARMCC_VERSION)
              InitializeBootloaderSRAM();
          #endif
        /* Checks if Self Project Image is updated and Runs for the First time */
          AfterImageUpdate();  
          CyBle_Start(AppCallBack);           
          Button_Init();
          Led_Init();
            
          if((~(Port1_Pins_Read()) & 0x1f) == VOLDOWN_BUTTON_MASK)
          {
              CyDelay(3000u); //3s
              if((~(Port1_Pins_Read()) & 0x1f) == VOLDOWN_BUTTON_MASK)
              {
                  Bootloadable_SetActiveApplication(0);
                  Bootloadable_Load();
                  CySoftwareReset();
              }
          }

         

      。。。。。。。。。。。。。。。

         

      }  

         

      以上问题, 帮忙分析一下原因  谢谢!