Hot answers tagged

55 votes
Accepted

Why do we need a bootloader separate from our application program in microcontrollers?

A bootloader on a microcontroller is responsible for updating the main firmware over a communication channel other than the programming header. This is useful for updating firmware in the field over ...
user avatar
  • 955
43 votes
Accepted

MicroSD card performance deteriorates after long-term read-only usage

Hm, my usual suspicion would be that your read access goes through a file system and that updates something, e.g. a file access time, in the file system, but that doesn't seem to be the case here. ...
user avatar
41 votes

What is the difference between Flash memory and EEPROM?

Spoiler: EEPROM is in fact Flash. As supercat's answer brilliantly pointed out, EEPROM is an evolution of the older UV-eraseable EPROMs (EEPROM's "EE" stands for "Electrically Eraseable&...
user avatar
35 votes
Accepted

Why isn't the BIOS' ROM chip made using CMOS technology?

You're mixing up implementation technology with colloquial terms for functionality. CMOS - Complementary Metal Oxide Semiconductor - is a method of making logic and related circuitry using both N-...
user avatar
35 votes
Accepted

What is the meaning of this line? "Memory-mapped, cached view of external QSPI flash. The cache is specified as 32 KB with 4-way associativity."

The confusion probably comes from the formulation: "memory-mapped, cached view" The fact it is memory-mapped has nothing to do with the fact it is cached. The size of the memory mapping is ...
user avatar
  • 15.5k
31 votes
Accepted

STM32 & ST-LINK - Cannot connect to MCU after successful programming

I managed to solve that problem. If anybody encounters similar problem, here's what I've done: I used ST-Link v2 and ST-Link Utility. In setting, I set "Connect under reset" and SWD ...
user avatar
  • 1,527
29 votes
Accepted

How to make 1 bit permanent memory circuit?

The original electronic nonvolatile memory is based on ferrite cores. While it's relatively easy to magnetize such a core in one direction or the other to store a one or a zero, it takes some fairly ...
user avatar
  • 164k
27 votes
Accepted

Is firmware code or data?

As often with such definitions, we agree in most cases, but there is no really firm boundary between what is firmware and what isn't. Firmware is stored permanently (except for some knowledgeable ...
user avatar
26 votes

Why do we need a bootloader separate from our application program in microcontrollers?

So that the loading process can recover from errors. Suppose there is a communication error or power disconnects during an upgrade. If the boot loader were part of the application you were upgrading ...
user avatar
  • 9,542
25 votes
Accepted

Flash and EEPROM

Nowadays, Flash memory is used to hold program code, and EEPROM (Electrically Erasable Read-only Memory) is used to hold persistent data. Back some 30 years ago, before Flash came along, EEPROMs were ...
user avatar
  • 46.9k
24 votes

Why are NOR flashes still used when NAND flashes have a bigger size?

It's not so much that NAND is not reliable (although it is less reliable), it's the fact that they are different sorts of memory in how they are accessed and the differences in speed of read/write; ...
user avatar
  • 1,324
22 votes
Accepted

Inbuilt flash memory size not enough

You cannot extend the program memory (flash). TI produces the same chip with double the flash and RAM, but nothing else changed: TM4C1230D5PMI. If you cannot use a chip with larger flash, you will ...
user avatar
  • 1,132
20 votes
Accepted

Why do most of the non-volatile memories have logical 1 as the default state?

I am going to discuss flash memory programming, but a lot of material will be similar to EEPROMs (Electrically Erasable Programmable ROM), since flash memory was derived from EEPROMs in the mid 1980's....
user avatar
  • 46.9k
18 votes

EEPROM Fatigue - Does it affect only the cells being written excessively, or will it cause global failures?

EEPROMs don't wear out from writing, they wear out from erasing. If you look at the datasheet you'll notice that it states erase cycles. Erase operations are block based. So an entire block of data ...
user avatar
  • 5,743
16 votes
Accepted

Why is data stored on a NAND chip irretrievable if cracked?

All I want to get are some awesome holiday pictures back. Lets be frank. They are not worth $1M to you are they. For that sort of money you could go on that holiday again a few times and recapture ...
user avatar
16 votes
Accepted

Flash memory: Does the entire page need to be erased before writing just a few bytes?

Yes, after any erase, you can use any number of separate operations to write data (changing bits from 1 to 0) before the next erase operation. You can even rewrite a previously-written location, as ...
user avatar
  • 164k
16 votes
Accepted

What is the difference between "normal read" and "fast read" in the flash A25L032

What makes fast mode fast? The difference is certainly well-hidden :-) Look at the AC Characteristics table in the datasheet. It says that the normal READ command ...
user avatar
  • 16.5k
14 votes
Accepted

Flash and RAM : Code Execution

This depends on the device. RAM can be built faster than Flash; this starts to become important in about the 100MHz range. Simple microcontrollers Small slow microcontrollers execute directly out ...
user avatar
  • 44.9k
14 votes

Is firmware code or data?

Firmware is program code that is stored in non-volatile memory, such as flash memory. The term is most often used in connection with embedded systems. It can be on the same chip as the processor, or ...
user avatar
  • 38.4k
14 votes

Why isn't the BIOS' ROM chip made using CMOS technology?

Back when the PC was first invented, most of the logic on it was power-hungry NMOS and TTL chips. CMOS was very new and the only circuits in the PC that used it were associated with things that ...
user avatar
  • 164k
13 votes
Accepted

Microcontroller memory limitations

Several reasons. First, microcontrollers are generally not built with the same bleeding edge processes as the DRAM and Flash for your computer, so they do not take advantage of technological advance ...
user avatar
13 votes
Accepted

SPI data storage devices: (micro)SD card, DataFlash, or serial EEPROM?

Basically, the choice depends mainly on two criteria: whether the data to store is big or small, and whether it is rewritten often or not: EEPROM is great for small data that changes often. The ...
user avatar
  • 15.5k
13 votes

How to store persistent values in STM32F407VGT6 embedded microcontroller?

For parameter storage that is not done too often but needs to be reliable I recommend the following approach. Use external memory component separate from the MCU. This scheme is more portable if you ...
user avatar
12 votes
Accepted

Most reliable Flash memory for an embedded Linux system?

If you want to see what is done inside, you have already answered your question : you can't use managed flash, your only solution is raw NAND flash. As you want reliability, you can't have 2 pages ...
user avatar
  • 498
12 votes
Accepted

How do NAND flash memory writes work?

The image below is the more detailed version of your NAND FLash memory array organization in the question. The NAND flash memory array is partitioned into blocks that are, in turn sub-divided into ...
user avatar
  • 276
12 votes
Accepted

Can the microcontroller program flash memory be used for storing user configuration?

Yes, you can. I have done this many times. However, there are some drawbacks relative to using separate EEPROM: The number of lifetime writes to program flash memory is significantly less than data ...
user avatar
12 votes

LED blinking with capacitor and schottky diode?

I have seen this only a few times as a method to indicate the device (mcu, PLC, PC etc) is still running. The LED being on (with out the circuit) means just that. But if the mcu has stopped the LED ...
user avatar
  • 1,282
12 votes

How come Misra C checker is such a prestigious tool?

A MISRA-C checker is much more than just a style checker; it enforces a set of software development guidelines for the C programming language developed by MISRA (Motor Industry Software Reliability ...
user avatar
  • 46.9k
12 votes
Accepted

How to store persistent values in STM32F407VGT6 embedded microcontroller?

You can use so called EEPROM emulation, which uses a part of the Flash memory to be used as EEPROM. You can read all about it for the STM40x/STM41x in the following ...
user avatar

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