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
  • 20k
37 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,350
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.3k
34 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.7k
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
  • 148k
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,052
16 votes

Should all traps always be defined?

Yes, it's a good idea - the only downside is a bit of extra code size, and you have to decide what to do with the trap (emit a message on the serial port? turn on a "FAILED" light? Silently reboot? ...
pjc50's user avatar
  • 46.7k
15 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
  • 20.2k
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
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 Pefhany'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
13 votes
Accepted

Should all traps always be defined?

My informal rule is: If an interrupt is enabled, then you should have code that handles it. If you don't write code for an interrupt, disable it. If you can't disable it, write code for it. Even ...
Adam Davis's user avatar
  • 20.4k
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,881
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
  • 12.6k
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
  • 173k
9 votes
Accepted

Best way to control power with MCU gpio pin

The way that you propose is not a good way to switch the power to the load. You should instead switch the VCC power side and keep all the GNDs common between the MCU and the power switched device. ...
Michael Karas's user avatar
9 votes

How to protect Reset pin of MCU from ESD strikes?

What I think you need to do is make sure that the charge from the ESD pulse does not reach the MCU. You have done all the right things to try and absorb this charge. However, the charge comes from a ...
Bimpelrekkie's user avatar
  • 80.8k
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,489
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
  • 173k
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 Pefhany's user avatar
7 votes
Accepted

Is power cycle reset different from reset pin reset?

Is power cycle reset different as compared to reset pin reset? Yes. There are some semiconductor behaviours where only loss of power will allow previous behaviour to resume. An SCR is a type of ...
SamGibson's user avatar
  • 17.9k
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
  • 80.8k
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,728
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,359
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
  • 77.4k
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 Pefhany's user avatar
5 votes
Accepted

Purpose of capacitor for MCU reset pin

It is for "debouncing" of the pushbutton. Virtually all pushbuttons, when pressed, do not make a single clean contact, but instead make several repeated contacts within a period of 10-50 ms. This ...
tcrosley's user avatar
  • 48.1k

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