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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
08/06/09 18:51
Read: times


 
#168228 - Do you really want to hide from reality?
Responding to: ???'s previous message
Per Westermark said:
A full version that is time-limited would be enough for many companies to create their production code on.

They write all code before getting the evaluation version. Then spend 30 days testing and debugging.

I believe you see a boogieman behind every bush. You must be in league with the software vendors.

I think it's much, Much, MUCH worse for a software vendor to publish a work product that is not in every testable way absolutely perfect, even if they fix it later, than for a couple of dozen thieves to steal their product in the way you describe every day.

Next thing - it isn't so easy to count time, unless you have a real hw lock, or the software is constantly in contact with a server on the network. You need something that the end user can't manipulate.

The guy who wrote "Pretty Good Solitaire" seems to have figured it out just fine. Others have too. That's a really fine set of solitaire games that has brought amusement to lots of folks, yet doesn't cost much. I'm not a game player, but my mother was. She liked the thing.

Anyway - most 8051 have very simple timing, so switching between a large or small table doesn't really matter. That is completely different from programming on PC-class hardware, where you need to think about alignment, cache line sizes for several levels of caches, cost of pipeline stalls etc.

Just what has PC programming to do with the subject at hand? MCU programmers should know, understand, and be able to simulate precisely the behaviors of the MCU they're using. If their compiler doesn't do that to the nearest clock cycle, it's rubbish!

I really can't see why you can't test exact timing with 4kB code size. And if you are so skilled as you say you are with assembler - just read the assembler instructions generated by the compiler and determine the code quality. Don't see problems all the time. See possibilities. Problem is: You are scared that a serious evaluation of the Keil C compiler will show it to be way better than you want it to be.


First of all, writing a dispatch loop in ASM produces a VERY short (fewer than a dozen bytes) bit of very fast code, and I don't know from day to day what a compiler will do with it. A multilevel dispatch loop uses multiple tables, one for each level. If you have up to 16 input bytes, then it will need at least 16 tables, possibly many more, depending on how many branches in the dispatch decision tree, but generally speaking they're all pretty much the same length in time. If each of those is 256 bytes long, i.e. has 128 jump addresses, that's quite a bit of code space. With a teensy processor core like 805x, where you have a small stack, you don't want to chew up stack space with calls. Moreover, you don't want to chew up the time, either.

Now, is there a KEIL version with 4kB of code support that runs on non-SiLabs MCU's? Is there a simulator from KEIL that produces precise and correct oscillator cycle counts when external memory accesses available on, say, the DS89C4x0's are involved, with external memory cycle counts variable due to software? As you can see ... they really only support the "classic" model timing. Do you still use that? It's no different with other compiler vendors. That makes the simulator essentially useless.

Actually, you can't TEST anything in a simulator. All you can do is count cycles and hope the hardware resolves the signal propagation. You can't really TEST anything in a debugger, either, since the debugger doesn't run at the oscillator rate, as it has to stop for you to trace, modify, or whatever.

ASM allows you to specify precisely what will happen. If you can write the program in ASM, you can understand what's going on because there's no compiler to shelter you from your own ingorance, which is what many people want, and there's no compiler to hide what's going on, either. Once you've written it in ASM, you already know where the problems are likely to occur, and can focus on those interactions that may prove troublesome. In HLL, you won't even see them. Sometimes, I guess, that's a good thing. It prevents you from knowing how nearly you've failed.

RE





List of 131 messages in thread
TopicAuthorDate
Article: "Real engineers program in C"            01/01/70 00:00      
   C and Latin            01/01/70 00:00      
      similarities between English and C            01/01/70 00:00      
         all sorts of similarities            01/01/70 00:00      
      NOT engineers.....            01/01/70 00:00      
         I think that was his point?            01/01/70 00:00      
            I know            01/01/70 00:00      
               I also don't know if his diagram on Page 3 is right            01/01/70 00:00      
   fewer ASM developers            01/01/70 00:00      
   languages            01/01/70 00:00      
   Muscle Vs Fat            01/01/70 00:00      
      apples vs bears            01/01/70 00:00      
         Wait a minute, pilgrim!            01/01/70 00:00      
            pilgrim has arrived            01/01/70 00:00      
            Break out that DOS Computer            01/01/70 00:00      
               I do that quite often!            01/01/70 00:00      
            blame drivers            01/01/70 00:00      
               Equip them right and they seem to work ... sort-of            01/01/70 00:00      
                  Engineers and Marketing guys            01/01/70 00:00      
            jeeziz x kryst            01/01/70 00:00      
               So ... Why do you do all that?            01/01/70 00:00      
                  wrong choice of word            01/01/70 00:00      
                     It's just a millstone ...            01/01/70 00:00      
                  re: why?            01/01/70 00:00      
      My computer _boots_ faster than that.            01/01/70 00:00      
         DMA?            01/01/70 00:00      
      Maybe it's the amount of memory            01/01/70 00:00      
         The cost of mutlitasking..            01/01/70 00:00      
         haven't any time to waste            01/01/70 00:00      
            That would be too slow!            01/01/70 00:00      
               I see no ships!            01/01/70 00:00      
               Isn't 4k plenty for a '51?            01/01/70 00:00      
                  which '51 does have that?            01/01/70 00:00      
                     Erik would call those "deviates".            01/01/70 00:00      
                        nope            01/01/70 00:00      
                        pipelines, cars, and real engineers            01/01/70 00:00      
                           It's also pipelined.            01/01/70 00:00      
                              then it's irrelevant            01/01/70 00:00      
                  If you can ignore those features            01/01/70 00:00      
               keeping up            01/01/70 00:00      
                  I feel your pain ...            01/01/70 00:00      
                     Don't see problems - see possibilities            01/01/70 00:00      
                        Do you really want to hide from reality?            01/01/70 00:00      
                           Always hiding behind excuses            01/01/70 00:00      
                              What excuses?            01/01/70 00:00      
                                 Your excuses            01/01/70 00:00      
                                    Do you directly or indirectly work for Keil?            01/01/70 00:00      
                                       BULL!!            01/01/70 00:00      
                                          I don't harbor any animosity, but I don't like being lied-to            01/01/70 00:00      
                                             you "understand well enough"            01/01/70 00:00      
                                                I have to agree ... evaluation takes time ...            01/01/70 00:00      
                                                   this is where I think I'm the realist            01/01/70 00:00      
                                                      If only the pieces were separately available ...            01/01/70 00:00      
                                                         I can't and would never            01/01/70 00:00      
                                                            So ... Who's a simulator specialist?            01/01/70 00:00      
                                                               don't know, don't care            01/01/70 00:00      
                                                                  So why even mention it?            01/01/70 00:00      
                                                                     because someone (you?) brought it up            01/01/70 00:00      
                                       Tangential Richard at work            01/01/70 00:00      
                           the pot calling the kettle black            01/01/70 00:00      
                     that's the crux            01/01/70 00:00      
                        It's a matter of realism            01/01/70 00:00      
                           well, if you do not have the time to evaluate, your points            01/01/70 00:00      
                              I have to disagree ...            01/01/70 00:00      
                                 no need            01/01/70 00:00      
                                    That would be an ideal fix!            01/01/70 00:00      
                  no way            01/01/70 00:00      
                     but only if we both define a project            01/01/70 00:00      
                        oh, that's no proof then...            01/01/70 00:00      
                           It would be a nice idea, but how would you time it?            01/01/70 00:00      
                           you did not read what I said            01/01/70 00:00      
                              implication and how to challenge it            01/01/70 00:00      
                                 disassembly            01/01/70 00:00      
                                    Encryption module?            01/01/70 00:00      
                                    not at all            01/01/70 00:00      
                                       It's clear to see that some folks really like 'C'            01/01/70 00:00      
                                          can you only like one thing?            01/01/70 00:00      
                                             Yes, but ...            01/01/70 00:00      
                                                you can boil steak too            01/01/70 00:00      
                                                   but you don't have to do that            01/01/70 00:00      
                                                      but you just said            01/01/70 00:00      
                                       no praise, just not hate            01/01/70 00:00      
                                          That makes sense            01/01/70 00:00      
                                          not that claim            01/01/70 00:00      
                                             again you miss 'usually', 'mostly', 'often', etc            01/01/70 00:00      
                                                Not so ... exactly            01/01/70 00:00      
                                                   Based on what experience?            01/01/70 00:00      
                                                      That's not how it works            01/01/70 00:00      
                                                         maintenance is a totally different issue            01/01/70 00:00      
                                                         apples to pears?            01/01/70 00:00      
                                                            I don't need to compare/contrast apples and pears            01/01/70 00:00      
                                                               The embedded world is larger than your tiny island            01/01/70 00:00      
                                                   IF            01/01/70 00:00      
                                                      It's all about initial hardware cost, not maintenance cost.            01/01/70 00:00      
                                                         Value of investment            01/01/70 00:00      
                                                         Not Here            01/01/70 00:00      
                                                         Whose business?            01/01/70 00:00      
                                                            What do you mean by "code analysis tools"?            01/01/70 00:00      
                                                               Some important tests            01/01/70 00:00      
                                                                  Yes, those come up in HLL, but ...            01/01/70 00:00      
                                                                     Memory leaks nothing to do with HLL            01/01/70 00:00      
                                                                        Yeah, you can do that ... but it's not recommended            01/01/70 00:00      
                                                                           More way than one to create memory leaks            01/01/70 00:00      
                                                                           that is not applicable to small embedded            01/01/70 00:00      
                                                                     Way easier to analyse non-goto code            01/01/70 00:00      
                                                                        and why would that be?            01/01/70 00:00      
                                                                           General purpose languages normally allows dangers            01/01/70 00:00      
                                                                              You still don't get the point, Per            01/01/70 00:00      
                                                                                 Wrong question            01/01/70 00:00      
                                                                                    what view?            01/01/70 00:00      
                                                                                       and the answer is            01/01/70 00:00      
                                                                                       can be seen as a leading question            01/01/70 00:00      
                                                                        Careful now! Some folks like Pascal for the '51            01/01/70 00:00      
                                                                           Why?            01/01/70 00:00      
                                                                        Some things depend on your point of view            01/01/70 00:00      
                                                                           Richard has never, ever, in his whole life implemented a bug            01/01/70 00:00      
                                                                              I may have written 'em, but I've never shipped 'em            01/01/70 00:00      
                                                               QAC and Polyspace            01/01/70 00:00      
                                                                  thanks, Oliver            01/01/70 00:00      
                                                                     MISRA and assembly don't mix well.            01/01/70 00:00      
                                                                        you can write FORTRAN in any language            01/01/70 00:00      
                                                                           I know ... but MISRA rules are explicit.            01/01/70 00:00      
                                                                              Not happy will all parts of MISRA            01/01/70 00:00      
                                                                                 Interesting discussion of MISRA C:            01/01/70 00:00      
                                                                                 Flawed but useful            01/01/70 00:00      
                                                                              Nested comments can produce different results            01/01/70 00:00      
                                                                           That's the thing with rules            01/01/70 00:00      
                                                                     Polyspace            01/01/70 00:00      
            Also in VB            01/01/70 00:00      
               Amazing!            01/01/70 00:00      
   You really are very naughty Andy            01/01/70 00:00      

Back to Subject List