Skip to main content
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 ...
nanofarad's user avatar
  • 20.3k
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 "...
jbord39's user avatar
  • 4,440
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 ...
pipe's user avatar
  • 14.5k
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 ...
Arsenal's user avatar
  • 17.9k
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 ...
Justme's user avatar
  • 164k
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 ...
danmcb's user avatar
  • 7,568
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 ...
Lundin's user avatar
  • 21.6k
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. ...
Spehro 'speff' Pefhany's user avatar
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 ...
LorenzoDonati4Ukraine-OnStrike's user avatar
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 ...
Tom Carpenter's user avatar
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 ...
user's user avatar
  • 1,911
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 ...
Lundin's user avatar
  • 21.6k
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 ...
Maple's user avatar
  • 13k
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 ...
Dave Tweed's user avatar
  • 176k
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 ...
Evan's user avatar
  • 2,559
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 ...
Dave Tweed's user avatar
  • 176k
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 ...
bobflux's user avatar
  • 80.3k
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 ...
Matt Krueger's user avatar
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 ...
Spehro 'speff' Pefhany's user avatar
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 ...
Simon Richter's user avatar
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 ...
Scottie Verde's user avatar
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 ...
Bimpelrekkie's user avatar
  • 81.1k
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 ...
Sclrx's user avatar
  • 1,748
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 ...
Manu3l0us's user avatar
  • 1,369
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) ...
bobflux's user avatar
  • 80.3k
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 ...
Spehro 'speff' Pefhany's user avatar
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 ...
SamGibson's user avatar
  • 18.3k
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 ...
Jeroen3's user avatar
  • 23.5k
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 ...
Spehro 'speff' Pefhany's user avatar
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 ...
A. Roy's user avatar
  • 76

Only top scored, non community-wiki answers of a minimum length are eligible