| 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. |
| Topic | Author | Date |
| 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 |



