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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
05/17/08 15:58
Modified:
  05/17/08 15:59

Read: times


 
#154848 - are you sure this is appropriate for POST?
Responding to: ???'s previous message
Jon Plotky said:
I was hoping to find a generic '51 POST routine in the code library, but don't see anything. Anyone care to share? :)

How extensive a POST test do you normally run? Do today's micros fail often enough to make the effort and time required for a good POST worthwhile?

Here's the sequence I'm thinking of using. Any feedback is appreciated. "Check" means "verify proper operation of".

1. Check ALU using only accumulator and immediate constants
2. Check the active register set
3. Check direct, indirect, and indexed addressing
4. Perform a checksum on program memory
5. Perform a RAM test
6. Check the other register sets
7. Check that timers will count
8. Check that interrupts
9. Check SFRs as much as possible
10. Check any on-chip peripherals
11. Check external peripherals


While tests 1, 2, 3, 6, 7, 8, 9, and 10 might be used in an "incoming inspection spot-check, or the like, it doesn't seem that they're necessary for POST. Test 5, too, is not particularly useful for POST, unless you use external memory, though it should be spot-checked, say at a 5-10% sampling with each lot at receiving inspection. Once the MCU is soldered in place, the only thing that needs to be checked is the ROM checksum. If that fails, the entire product is likely to be tossed out since an MCU failure of any sort, at least in the context of tests 1 .. 9 will likely cause the checksum to fail as well.

POST should identify detectable errors specific to the system. If you install a "broken" MCU, it's not easy to detect that in a normal sort of POST. If you have the time at power-on, you could to this extensive testing, but, where do you stop? Are you willing, beforehand, to perform a complete failure mode and effects analysis? If you detect a checksum error in code space, how do you know whether it's a bad accumulator bit, or a bad memory addressing path, or a bad ALU? Does it matter?

If you system communicates with something else, does it have a valid initialization message? Do you have facilities for hardware loopback? How would you go about checking your hardware port function? Are you willing to include hardware support for such testing?

Food for thought!

RE


List of 11 messages in thread
TopicAuthorDate
power-on self test best practices            01/01/70 00:00      
   Probably not            01/01/70 00:00      
   none, no            01/01/70 00:00      
   are you sure this is appropriate for POST?            01/01/70 00:00      
   power on self test ....            01/01/70 00:00      
      I can imagine cases...            01/01/70 00:00      
      Mandatory for some products            01/01/70 00:00      
   The only time I use it.            01/01/70 00:00      
      OT?            01/01/70 00:00      
         start a new thread            01/01/70 00:00      
            and use a descriptive title...            01/01/70 00:00      

Back to Subject List