mobile | classic
Dataweek Electronics & Communications Technology Magazine

Follow us on:
Follow us on Facebook Share via Twitter Share via LinkedIn


Electronics Buyers' Guide

Electronics Manufacturing & Production Handbook 2019


Choosing the correct NVM for code shadowing
23 October 2002, DSP, Micros & Memory

The code shadowing technique whereby program code is stored in a non-volatile memory (NVM) such as Flash and EEPROM but executed out of SRAM is ideal for, and often used in, applications where the program code is likely to need updating and execution speed needs to be high. In this article, STMicroelectronics offers some tips on how to choose the correct NVM for one's code shadowing application.

The reason for using code shadowing is access time, which has a major impact on system performance. The typical access time for a standard parallel Flash memory is around 50 ns, whereas that of a standard fast SRAM is in the range of 10 ns. The basic idea of code shadowing is very simple: the executable code is first programmed into the NVM and write-protected during the manufacturing stage. Each time the application is powered up, the code is downloaded from the NVM to the SRAM and, from then on, the processor executes instructions from the SRAM only.

There are a number of factors to consider when choosing the type of NVM:

* Time to download from the NVM to the SRAM.

* Time needed to perform field update of NVM.

* Initial NVM programming during an assembly line.

* Access time from the SRAM;

* Upgrade compatibility and product evolution.

In most applications, the time to download the entire NVM contents must be significantly less than a second, otherwise users may find the delay annoying or even unacceptable. On the other hand, update time is usually less critical as users will normally update the application far less frequently than they use it. Therefore we can usually assume that an update time of a few seconds will be acceptable.

The time required to initially program the NVM has a direct effect on the production throughput of the manufacturing line. Generally, a total programming time of less than 5 s is desirable. For example a production line assembling 10 000 PCBs daily would require approximately 14 hours (50 000 s) to program the equipment using NVMs with a 5 s programming time.

Minimising SRAM access time

The choice of NVM can significantly affect SRAM access time in applications when the SRAM is external to the processor.

Figure 1 shows an architecture where a parallel NVM shares the same address and data buses as the SRAM. This minimises the number of the processor's I/O pins that are needed for the memory interface but may have an unacceptable effect on access time.

Figure 1. NVM and RAM share the same Bus
Figure 1. NVM and RAM share the same Bus

For example, the parasitic bus capacitance for one of the processor's data I/O pins is the sum of the I/O pin capacitances of the processor, the NVM and the SRAM (typically 12 pF each) and the bus track capacitance (typically 10 pF), giving a total parasitic capacitance of 46 pF. If we assume that the I/O buffer presents a 500 Ohm resistance when active, this gives a time constant, RC, of 23 ns, which is much too large for a bus using SRAM with a 10 ns access time. The only way this configuration would be acceptable would be for the bus capacitance to be reduced to less than 1 pF.

One possible solution to this problem is to let the processor access the NVM and the SRAM via separate parallel buses but this requires a large number of the processor's I/O pins. In many cases, a much more attractive solution is to use a serial NVM, as shown in Figure 2. Depending on the serial protocol chosen, the NVM will only use two or four of the processor's I/O pins. The previously-mentioned criteria for download and programming time will still be met.

Figure 2. Serial NVM frees parallel Bus
Figure 2. Serial NVM frees parallel Bus

For example, consider the configuration of Figure 2 where the NVM is an ST serial Flash from the M25Pxx range. These devices have an industry standard 25 MHz SPI interface, allowing 256-byte pages to be programmed in 2 ms. Typical sector erase time is 2 s and typical bulk erase time is 3 s.

To calculate download time for 1 Mb device (M25P10, organised as 128 KB), we note that programming a 256-byte page requires only a 5-byte overhead (one for the read instruction and three for the address and one dummy one) so, with a 25 MHz clock, the time to download the whole NVM contents will be (261 x 512 x 8)/(25 x 106), or approximately 43 ms. At well below a tenth of a second, the download time will therefore be transparent to the user.

Similar calculations show that the time to initially program the memory, again using a 25 MHz clock, is 3,13 s, which is comfortably below our 5 s target. For field updates, the overall update time is the programming time (3,13 s) plus the time needed for the initial bulk or sector erase, giving acceptable update times of around 4 or 5 s.

Because they minimise loading on the SRAM data and address lines, the M25Pxx devices allow the SRAM access time to be minimised while meeting all of the other time constraints, making them ideal for code shadowing applications. In addition, all devices - including a 16 Mb device to be introduced soon - are housed in the SO8 footprint-compatible packages. The current technology allows for 0,5 Mb up to 4 Mb to be packaged in small SO8 narrow, and up to 16 Mb in MLP which is footprint-compatible.

For more information contact Avnet Kopp, 011 809 6100,,

Supplied By: Avnet South Africa
Tel: +27 11 319 8600
Fax: +27 11 319 8650
  Share on Facebook Share via Twitter Share via LinkedIn    

Further reading:

  • Managing the IoT on an energy budget
    28 August 2019, Altron Arrow, Telecoms, Datacoms, Wireless, IoT, DSP, Micros & Memory
    Historically, users wanted MCUs because they could process data and solve problems faster than a human could. MCUs also help make products more convenient and consistent in behaviour. The microcontroller ...
  • Tiny MCUs for IoT edge devices
    28 August 2019, Hi-Q Electronics, DSP, Micros & Memory
    Renesas Electronics announced four new RX651 32-bit microcontrollers (MCUs) supplied in tiny 64-pin BGA (4,5 x 4,5 mm) and LQFP (10 x 10 mm) packages. The MCUs address advanced security needs for endpoint ...
  • Qi-compliant wireless charging coils
    28 August 2019, Avnet South Africa, Passive Components
    Vishay has expanded its offering of Qi-compliant wireless charging transmitter and receiver coils with the introduction of 14 new products in industry-standard shield sizes. Consisting of eight single-coil ...
  • LED flicker, and how to prevent it
    28 August 2019, Avnet South Africa, Opto-Electronics
    With the growing popularity of LED lighting, especially now that very cheap LED luminaires are coming to the market, flicker is becoming more of a problem. Flicker, a repetitive switching on and off ...
  • 3 Watt DC-DC converters
    28 August 2019, Avnet South Africa, Power Electronics / Power Management
    Aimtec has introduced three new series of switching regulators – the AMSRB1-78JZ, AMSRL1-78JZ and AMSRL-78JZ – all meeting the EN62368 standard and suitable for IoT (Internet of Things) applications. The ...
  • Secure MCU for contactless banking and ID
    28 August 2019, Altron Arrow, DSP, Micros & Memory
    Featuring the latest 40 nm Flash process as well as enhanced RF technologies, the STMicroelectronics ST31P450 dual-interface secure microcontroller (MCU) delivers high robustness and performance for contactless ...
  • Buck converter with low quiescent current
    31 July 2019, Avnet South Africa, Power Electronics / Power Management
    Texas Instruments introduced an ultra-low-power switching regulator with what it claims is the industry’s lowest operating quiescent current (IQ) at 60 nA. The TPS62840 synchronous step-down converter ...
  • MCUs with industrial communication interfaces
    31 July 2019, Avnet South Africa, DSP, Micros & Memory
    Texas Instruments introduced new communications capabilities on its C2000 microcontrollers (MCUs). C2000 F2838x devices enable designers to use a single chip to implement connectivity, including EtherCAT, ...
  • A quick guide to multi-standard mesh networking
    31 July 2019, Avnet South Africa, Telecoms, Datacoms, Wireless, IoT
    Recent advances in wireless technology have enabled the use of mesh network topologies in home and building control applications. Low-cost IoT technology is driving the launch of devices such as smart ...
  • Mixed-signal MCUs for digital power
    26 June 2019, EBV Electrolink, DSP, Micros & Memory
    Targeted at advanced digital power applications and consumer and industrial appliances, the new STM32G4 microcontrollers (MCUs) introduce two new hardware mathematical accelerators to boost processing ...
  • eSPI-to-LPC bridge
    26 June 2019, Avnet South Africa, Computer/Embedded Technology
    Microchip Technology’s new ECE1200 bridge allows developers to implement the eSPI standard in boards with legacy LPC connectors and peripherals. Product longevity is critical in industrial computing ...
  • Designing certified power solutions for LED lighting
    26 June 2019, Avnet South Africa, Power Electronics / Power Management
    LED lighting has become the product of choice in all types of environments, from domestic to industrial through to specialist areas such as stage lighting. The combination of efficiency in terms of lumens ...

Technews Publishing (Pty) Ltd
1st Floor, Stabilitas House
265 Kent Ave, Randburg, 2194
South Africa
Publications by Technews
Dataweek Electronics & Communications Technology
Electronics Buyers’ Guide (EBG)

Hi-Tech Security Solutions
Hi-Tech Security Business Directory

Motion Control in Southern Africa
Motion Control Buyers’ Guide (MCBG)

South African Instrumentation & Control
South African Instrumentation & Control Buyers’ Guide (IBG)
Terms & conditions of use, including privacy policy
PAIA Manual


    Classic | Mobile

Copyright © Technews Publishing (Pty) Ltd. All rights reserved.