Email: Password: Remember Me | Create Account (Free)

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
Per Westermark
06/22/09 11:18
Read: 156 times
Sweden


 
#166355 - More than one way to skin a cat
Responding to: Richard Erlacher's previous message
Richard said:
I agree with the notion that one should look at a compiler's output with optimization turned off in order to see what it generates.

Looking at the code with optimization off, is only meaningful when debugging errors in the C code, or you suspect the compiler vendor to have gravely misunderstood a language construct (and not in the code generation).

If you intend to ship a product where the code is built with optimization (size and/or speed) turned on, then it's only meaningful to look at the optimized code. On one hand, you will not know how well the compiler will map different C constructs to the target hardware if you look with optimization turned off - without optimization, the compiler vendor is allowed to produce absolutely lousy code. On the other hand - only if looking at the optimized code will you have a chance to spot potential problems. Without optimization, the generated code may look like every single variable had the volatile keyword.

A big issue here is still that the cost of a chip doesn't naturally follow from the supported clock frequency or amount of flash or RAM. In the end, a chip capable of "wasting" 70% of the time and flash can be cheaper than a chip with optimum size to handle your optimized assembler. And it can draw less current.

This is an old document, but the information is worth reading anyway - you can get quite nice ARM chips for $1.
http://www.bluewatersys.com/docs/whit..._micro.pdf

There is more to it than meets the eye. The customer may like a cheap product with low energy consumption and well-working firmware that has a low maintainance cost. The number of bytes of flash used is most probably not something the customer spends sleepless nights about.

List of 54 messages in thread
TopicAuthorDate
Project using 89s52      Popa Valentin      05/25/09 04:41      
   RET (Where?)      Mahesh Joshi      05/25/09 06:16      
      Loops?      Per Westermark      05/25/09 06:20      
         Loops?      Popa Valentin      05/25/09 07:46      
            with a quick glance      Erik Malund      05/25/09 07:53      
               with a quick glance      Popa Valentin      05/25/09 07:59      
                  search for ...      Erik Malund      05/25/09 08:55      
            Loops Something like this      Mahesh Joshi      05/26/09 01:16      
               School work?      Per Westermark      05/26/09 03:49      
                  Nope      Mahesh Joshi      05/26/09 05:08      
               Loops Something like this      Popa Valentin      05/26/09 03:52      
                  ?...Doesnot Work...?      Mahesh Joshi      05/26/09 04:16      
                     ?...Doesnot Work...?      Popa Valentin      05/26/09 04:38      
                        Correct      Mahesh Joshi      05/26/09 05:14      
                        You sure you get a line feed before RFID?      Per Westermark      05/26/09 05:35      
                            You sure you get a line feed before RFID?      Popa Valentin      05/26/09 05:41      
                              Try This      Mahesh Joshi      05/26/09 06:03      
                                 Try This      Popa Valentin      05/26/09 11:04      
                                 error      Popa Valentin      05/28/09 03:13      
                                    it's bible time      Erik Malund      05/28/09 06:28      
                                       it's bible time      Popa Valentin      05/28/09 06:59      
                                    Is it ERROR or DOUBT???      Mahesh Joshi      05/28/09 06:31      
                                       Is it ERROR or DOUBT???      Popa Valentin      05/28/09 07:01      
                                 Compare      Popa Valentin      06/01/09 01:18      
                                    Simulate your function.      David Prentice      06/01/09 03:00      
                                       Simulate your function.      Popa Valentin      06/01/09 03:19      
                                          Use the free Keil C compiler Evaluation      David Prentice      06/01/09 06:16      
                                    COMPARE      Mahesh Joshi      06/02/09 04:41      
                                       compare      Popa Valentin      06/02/09 09:09      
                                          Still not out of time for C      Per Westermark      06/02/09 10:06      
                                             Still not out of time for C      Popa Valentin      06/15/09 07:26      
                                                Read up on pointer      Per Westermark      06/15/09 08:57      
                                                   Read up on pointer      Popa Valentin      06/15/09 09:06      
                                                      Me or you?        Per Westermark      06/15/09 10:04      
                                                   Or do not use a pointer      Maarten Brock      06/20/09 03:22      
                                                      working code      Popa Valentin      06/20/09 05:03      
                                                         Describe your work process      Per Westermark      06/20/09 05:45      
                                                            v      Popa Valentin      06/20/09 06:00      
                                                               Did you read? Did you debug?      Per Westermark      06/20/09 06:23      
                                                         Why dont you define correct id in "code" space      Mahesh Joshi      06/20/09 06:52      
                                                            Hoping to get someone relegated?      Per Westermark      06/20/09 07:27      
   Reading or Transmitting Data      Mahesh Joshi      05/25/09 06:55      
      Reading or Transmitting Data      Popa Valentin      05/25/09 07:37      
   a trip to the wild blue younder      Erik Malund      05/25/09 07:17      
      This is where it gets lost      Richard Erlacher      05/25/09 08:07      
   The fundamental problem is...      Jez Smith      05/27/09 08:24      
      Same as its always been,      Andy Neil      05/27/09 08:54      
         Yep I cannot think      Jez Smith      06/01/09 03:20      
            Yep I cannot think      Popa Valentin      06/01/09 04:04      
               Why too late?      Per Westermark      06/01/09 04:22      
            for a simple task ...      Richard Erlacher      06/22/09 10:50      
               More than one way to skin a cat      Per Westermark      06/22/09 11:18      
                  my $0.02      Erik Malund      06/22/09 13:27      
                     If you can not code it in ASM ...      Richard Erlacher      06/22/09 19:04      

Back to Subject List