1 Reply Latest reply on Dec 2, 2015 12:56 AM by user_1377889

    about assembly optimize

    58013216_1409526

      Hi, I don't want to psoc automatically optimize my code, how should I do?

         

      My code as following,

         

      WORD GetMsCount()
      {
        WORD tmpCount;
         
        do
        {
          tmpCount = msCount;
        }
        while(tmpCount != msCount);

         

        return tmpCount;
      }

        • 1. Re: about assembly optimize
          user_1377889

          Since msCount seems to be changed within an interrupt handler do not forget to declare it as "volatile"!!

             

          In Project -> Build Settings -> Compiler -> Optimization you may set "Optimization Level" to "None", this setting is best for debugging.

             

          Without the "volatile" attribute your while-loop would be prone to optimizatin taking tmpCount != msCount out of the loop because it does not change, leaving an infinite loop  behind.

             

           

             

          Bob