PSoC Creator free compiler restrictions

Version 1
    Question: What are the restrictions on the 8051 compiler that comes with PSoC Creator?

     

    Answer:

    PSoC Creator includes a free license for the Keil C compiler for 8051. The only functional difference between the distributed compiler and the Keil CA51 Compiler Kit is the available optimization levels. The CA51 Compiler defaults to level 8 and SPEED (OPTIMIZE (8, SPEED) but supports a maximum level of 11 (the last two are actually implemented in the linker). In PSoC Creator the maximum level is 5. Although the free compiler is otherwise fully functional, and has no code size restrictions, we strongly recommend purchasing the CA51 Compiler Kit to get the most compact and efficient code possible.


    The following is a summary of the available optimizations:

                                                                                                                                                                                             
       

         Level

      
       

         Optimization

      
       

         0

      
       

         Constant Folding
         Simple Access Optimizing
         Jump Optimizing

      
       

         1

      
       

         Dead Code Elimination
         Jump Negation

      
       

         2

      
       

         Data Overlaying

      
       

         3

      
       

         Peephole Optimizing

      
       

         4

      
       

         Register Variables
         Extended Access Optimizing
         Local Common Sub-expression elimination
         Case/Switch Optimizing
         Simple Loop Optimizing

      
       

         5

      
       

         Global Common Sub-expression elimination

      
       

         6

      
       

         Loop Rotation

      
       

         7

      
       

         Extended Index Accessing Optimizing

      
       

         8

      
       

         Common Tail Merging

      
       

         9

      
       

         Common Block Subroutines

      
       

         10

      
       

         Rearrange Code (Linker)

      
       

         11

      
       

         Reuse Common Exit Code (Linker)

      

     

    More details are available at

    www.keil.com/support/man/docs/c51/c51_optimize.htm