40
votes
Reason for x86 reset vector being at 0xFFFFFFF0 instead of 0xFFFFFFFF
x86 instructions often take up more than one byte, and a reasonable reset routine will almost certainly point to multiple instructions.
If the reset vector were to refer to 0xFFFF_FFFF, then only a ...
38
votes
Accepted
SRAM isn't blank on powerup, is this normal?
Unless you have an initial state programmed, it will be more or less random. Although this may vary with different SRAM implementations. You also say "blank". Some might think that random is "...
35
votes
Necessity of an external watchdog timer
A watchdog timer can guard against hardware bugs in buggy piece of ... cutting edge microcontrollers. One that we recently used, from a famous brand, had I/O pins that occasionally missed their ...
35
votes
Necessity of an external watchdog timer
It is hard to argue, that the internal clock of the internal watchdog is actually independent of all the other clocks and always running like it should.
So for certification it is usually much easier ...
25
votes
Reason for x86 reset vector being at 0xFFFFFFF0 instead of 0xFFFFFFFF
The reason why it is 16 bytes below the top of memory comes from how the original 8086 CPU registers were loaded during reset. And even that may have something to do with compatibility for older 8085 ...
17
votes
What's a good way to assert in embedded microcontroller code?
It depends.
On an ARM platform there are very low level error handlers which indicate that some kind of low level problem has occurred (e.g. illegal memory access) and these need to have specific ...
16
votes
Accepted
What's a good way to assert in embedded microcontroller code?
The assert function as such is problematic, as you've probably noticed since you asked this question. No, using it is not good practice. Do not mix up "lots of ...
15
votes
Accepted
Necessity of an external watchdog timer
Some products must meet safety requirements, either determined by the manufacturer or to meet international safety standards such as IEC 60730-1, or the older UL1998 which is still in use in the US. ...
14
votes
What is the function of this diode in arduino uno(between +5V and reset)
Note:
Although Bimplerekkie's answer is good and reasonable, another explanation is possible, which was also hinted in a now deleted answer from DrFriedParts and accompanying comments by Ignacio ...
14
votes
I know what a Reset signal is, but a Set/Reset signal? Isn't that impossible?
In all likelihood it isn't really a "set/reset" signal, so much as a signal that can be configured to be either set or reset depending on how the device is configured. Note that in figure 3.2 (copied ...
12
votes
Necessity of an external watchdog timer
The watchdogs built in to microcontrollers have particular properties that mean they themselves can fail in ways that a different external watchdog might not.
For example, a common design is to use a ...
12
votes
Accepted
What happens if a microcontroller stays in reset?
A couple of issues:
A MCU usually has a default reset setting where all GPIO are set as inputs. This is an advantage in terms of current consumption, but it is a disadvantage in terms of ruggedness ...
11
votes
What is the use of NRST pin in STM32F401RCT6?
Is it used to reset the program which we flash and allow us to program
it again?
It seems you are confused about what reset actually resets. It does not "reset the program", it resets the MCU. The ...
10
votes
Accepted
"recommended that CLK begin toggling within 150 ms ... to ensure long-term reliability of the device" -- why?
The clock undoubtedly operates charge pumps within the chip that provide bias voltages for various functional areas. Without proper bias, leakage currents are probably higher than the transistors are ...
9
votes
Why is de-assertion of an asychronous reset a problem compared to its assertion?
The assertion timing doesn't matter because the whole point is that all the elements of the circuit enter a valid/known reset state. It generally doesn't matter what order they do it in, only that ...
9
votes
Resetting two CD4017 counters simultaneously, only one resets
You're using a "glitch" to reset your counters. In other words, when the reset pulse starts, it immediately removes the conditions for its own creation, so it's only as wide as the propagation delay ...
9
votes
What happens if a microcontroller stays in reset?
If you hold the MCU in the reset state, it will do nothing, but that's not necessarily what you want.
Power-wise, consumption will probably be higher than in the low power sleep states. And of course ...
8
votes
How to connect GPIO16 and RST of ESP8266?
The answer from A. Roy solved a similar problem for me. I'm prototyping a a circuit using a Nodemcu devkit board https://github.com/nodemcu/nodemcu-devkit-v1.0 with an ESP-12E. The board has an ...
8
votes
Why specify a maximum pulse width for reset pin?
When enabled the RESET button on the EVAL board simply grounds the /RESET pin (schematic available at the manufacturer's website). I see no specific instruction to limit the time of your finger on the ...
7
votes
Accepted
Why is NMI commonly pulled high on many ARM SoC schematics?
The Non-Maskable Interrupt (NMI) being low (=active) means that the CPU takes an exception immediately. If you don't need that functionality, you tie it high so that doesn't happen.
The CPU will ...
6
votes
SRAM isn't blank on powerup, is this normal?
Having worked with SRAM for many years, I can tell you that it will power up with seemingly random contents, although I have seen devices that power up with nearly the same random looking contents ...
6
votes
Accepted
What is the function of this diode in arduino uno(between +5V and reset)
I doubt that this diode is ESD related nor that it has anything to do with a high-voltage programming mode. As far as I know you can program an Atmega from the normal supply voltage (no high voltage ...
6
votes
Is there a way to self hardreset /restart microcontroller?
What you describe is a watchdog circuit.
It is a circuit that, when enabled, resets your µC after a given time, unless its timer is reset (through code or by sending it a pulse).
Its intended use ...
6
votes
Accepted
Why should we buffer reset line?
It's actually used as a level-shifter. It's converting the 3V PCH_PLTRST# to a 1V open-drain signal. In many cases, the reset input of a CPU can also act as an open-drain output, so the CPU can reset ...
6
votes
Search for "pinhole" SMT switch (like "reset" switch operated with paperclip)
All the devices I've opened that had a "paperclip pinhole reset" had a hole in the enclosure and a standard pcb switch like this one behind it.
If you don't have an enclosure (just a PCB) ...
6
votes
Accepted
Could power cycling a modem 24 times a day for over 3 years (>30,000 times) cause the modem to lose its settings?
Sure, depending on how the firmware was written it may have worn out the EEPROM (typically good for >100,000 writes). That's not normal operation and they may not have tested for it.
On the other ...
5
votes
STM32 reset not work
As I said in my comment, I'm not convinced that the true "failure mode" has been defined - "dead" does not appear correct.
However I have found one error in the design, from the excerpt of the ...
5
votes
STM32F0 restart by itself
To know why the chip resets, you should check the reset flags on boot.
6.4.10 Control/status register (RCC_CSR) in the "reference manual".
The other thing you'd ...
5
votes
Why should we buffer reset line?
The 74LVC1G07 is open-drain, so it looks like it is used as a voltage translator from 3V to a lower voltage (1.05V). R32 is the pull-up.
R34 is used to minimize reflections and will be found close ...
5
votes
Accepted
How to connect GPIO16 and RST of ESP8266?
Most of the people face the problem while connecting them. The issue is that GPIO16 provides a strong HIGH during deepSleep and your external reset from Serial-TTL is fighting to make a reset, but ...
Only top scored, non community-wiki answers of a minimum length are eligible
Related Tags
reset × 404microcontroller × 86
stm32 × 47
arduino × 28
digital-logic × 28
avr × 28
fpga × 25
flipflop × 24
pic × 22
verilog × 18
atmega × 18
voltage × 16
watchdog × 16
power × 15
counter × 15
555 × 13
arm × 12
esp8266 × 12
capacitor × 11
mosfet × 10
embedded × 10
relay × 9
interrupts × 9
atmel × 9
brownout × 9