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

Back to Subject List

Old thread has been locked -- no new posts accepted in this thread
???
03/05/10 11:47
Modified:
  03/05/10 13:04

Read: times


 
#173871 - Another Example...
Responding to: ???'s previous message
Another example of where you would not want to be clearing all of RAM is when you need to have an active code algorithm running within the fewest possible number of cycles after reset completes. There are a list of considerations to make when trying to implement this "fast on and active" mode of operation.

  • Utilize an MCU with a specified short spec reset pulse width.
  • Build your power-on rest circuit in a way that produces an accurate pulse that meets power stability requirements but at same time is just over the minimum MCU pulse width requirement.
  • Select a timing generator for the clock that has no start up delay. This may be an MCU that has an in-built R/C type oscillator or one could use an external oscillator of similar design such as the Linear Technology LT6900.
  • If using an external oscillator make sure that the MCU does not impose some type of in-built extension of reset intended to cover the startup time for a crystal oscillator. Some MCUs may actually have this characteristic "programmable" via oscillator type selection soft straps.
  • Change the default behavior of the startup and/or init modules to eliminate the initial clearing of RAM.
  • Carefully comb through all of your code to make sure that there are no assumptions anywhere regarding any default expectations for variables being set at zero.

    Michael Karas



  • List of 35 messages in thread
    TopicAuthorDate
    Problem with strings in C            01/01/70 00:00      
       You missed a fundamental point on how 'C' does strings            01/01/70 00:00      
          I think you don't need to be mysterious here, Andy            01/01/70 00:00      
             Strings in 'C' *must* be NUL-terminated            01/01/70 00:00      
       A little whitespace goes a long way            01/01/70 00:00      
       conversion on top of conversion            01/01/70 00:00      
          Null termination            01/01/70 00:00      
             Think about it...            01/01/70 00:00      
             so is your problem solved or not?            01/01/70 00:00      
                "lucky" or "unlucky"?            01/01/70 00:00      
                   rather            01/01/70 00:00      
                      Yes - that's what I meant!            01/01/70 00:00      
                That, in fact, IS it            01/01/70 00:00      
                   how true            01/01/70 00:00      
                   Debugger != Simulator            01/01/70 00:00      
                   if that is true, find another job!            01/01/70 00:00      
                      Does Keil initialise non-static data?            01/01/70 00:00      
                         the very first thing ...            01/01/70 00:00      
                            this is not the case..            01/01/70 00:00      
                               Mr C hater:            01/01/70 00:00      
                                  this IS part of the C-hatred            01/01/70 00:00      
                                     but you do            01/01/70 00:00      
                                        and what are the unzeroed values, then?            01/01/70 00:00      
                                           I have no idea            01/01/70 00:00      
                                        Many Reasons for not clearing (all of) RAM            01/01/70 00:00      
                                           I actually gave an example.            01/01/70 00:00      
                                           Another Example...            01/01/70 00:00      
                                              what I wold do            01/01/70 00:00      
                                                 I Elect to Totally Disagree            01/01/70 00:00      
                                                    a reply            01/01/70 00:00      
                                                       I'll take the time to reply when...            01/01/70 00:00      
                                                       It's too easy            01/01/70 00:00      
                                                          Auro variables are always undefined            01/01/70 00:00      
                                                    Seconded!            01/01/70 00:00      
                                                       makes assumptions?            01/01/70 00:00      

    Back to Subject List