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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
06/16/05 13:05
Modified:
  06/16/05 13:15

Read: times


 
#95091 - one off
Responding to: ???'s previous message
Since most of my designs fall into the one-off category, I am sincerely interested in knowing more on proving the design in such cases.
One off really does not have much to do with it. I would state that "mission critical" or not is the determining factor for the time you can afford to spend on design thouroughfullness.

You can not really "prove" a design, I have seen design errors that showed up less then once a year. (coincidence errors)

An example of a thing that can be done:
set a breakpoint in your ICE at the deepest subroutine you have (some deciphering of the M51 file can tell you where) and read the SP. Then check the assembly for all your interrupts and add the max at every priority level to the SP - are you over?.

Another very important issue thet I often find missing is that all functions incapable of handling the min or max value (0-255 for a char NOT "what the program can generate") of a parameter MUST be able to survive (and mark) if an invalid value is presented - or, at least, gracefully error out.

Oh, and DO use a lint program, it is amzing what it will catch.

Anyhow re "design" vs "test".
You can state "I ran a 5V 12 MHz uC at 3.3 volts and 16MHz and it worked" is that a valid design?

The main types of errors that I can think of just now are
1) Ignoring the datasheet e.g. a memory chosen on the "typ" speed
2) Clerical programming errors e.g. '=' instead of '==' in an if
3) Functional programming errors e.g. stack overflow when subroutine max depth coincided with interrupts at all priorities.

Since we all (I assume) are human, not much can be done about 2), but that will be found in the first test and be a solid bug so no "proof" will be involved.

re 1) that is a matter of actually checking all timings.
re 3) here we get into a mix of carefulness, forethought and experience and - rellly - I have no other idea than Nikes "just do it"


Erik


List of 25 messages in thread
TopicAuthorDate
AT89C51RD2 without supervisor IC            01/01/70 00:00      
   RC is never good            01/01/70 00:00      
      watchdog ad absurdum            01/01/70 00:00      
         and uses a bunch of pins            01/01/70 00:00      
            wd            01/01/70 00:00      
               paranoia revisited - wd 2            01/01/70 00:00      
                  when the full story            01/01/70 00:00      
                     WD3            01/01/70 00:00      
                        if code run astray            01/01/70 00:00      
   Has been discussed before            01/01/70 00:00      
   External ones are better            01/01/70 00:00      
      External ones are better in one respect            01/01/70 00:00      
         Yes, but...            01/01/70 00:00      
            Nope, never use an external when            01/01/70 00:00      
               Exactly!            01/01/70 00:00      
            Combined Watchdogs            01/01/70 00:00      
      External better in another respect            01/01/70 00:00      
   I'm using the internal and works well            01/01/70 00:00      
      works well - how do you know            01/01/70 00:00      
         who should test it?            01/01/70 00:00      
   nobody            01/01/70 00:00      
      the manufacturer should            01/01/70 00:00      
      Design Verification            01/01/70 00:00      
         one off            01/01/70 00:00      
      The meaning of "well"            01/01/70 00:00      

Back to Subject List