Back to ESAcademy Home Page


www.philipsmcu.comUsing Flash Memory in Embedded Applications

By Olaf Pfeiffer and Andy Ayre

Modern Flash memory offers a lot of functionality that was simply not available with EPROMs or earlier Flash memory implementations. Embedded applications can take advantage of Flash memory by both storing application data in it and by allowing modifications or upgrades of the application code itself.

[ Introduction | ISP vs IAP | Self-Recovery | Storing Variables | Flash Life-Time | Summary ]

 

Home

News

Training Classes

Products

Consulting

Technical Library

Contact Us

Recommended Books

Introduction

Compared to the earlier implementations, today's Flash memories usually require less complex programming algorithms and they are now divided into several sectors. The benefit of having sectors is that the Flash memory is sector-erasable, meaning you can erase one sector at a time. In the past, erase commands erased the entire memory chip - therefore to keep a working copy of that data during run-time, an application required additional memory.

Since Flash memory is integrated on-chip with microcontrollers, its usage became even easier. Having Flash memory and a microcontroller on the same chip opened up the opportunity to take advantage of the "additional intelligence".

With the 89C51Rx2 microcontrollers, Philips Semiconductors created a variety of 8051 derivatives with on-chip Flash memory that take best advantage of having a combination of microcontroller and Flash memory on one chip. Philips did this by providing an additional ROM area containing code for handling the Flash programming. The code does not only provide functions to erase or program the Flash memory, it also provides boot code - even with a completely erased Flash, the chip can still execute this boot code and accept inputs via the serial port.

Being ROM, this code area is not erasable; applications can rely on it as always being there. It can be used for recovery of a system, by downloading new code into the Flash memory via the serial port. Because of this feature, this code is also referred to as "boot loader".

In this article, we will not only take a closer look at different programming methods like ISP and IAP, we will also give guidelines on how to implement fail-safe systems using Flash memory and how Flash can be used efficiently to store variable data.

[ Introduction | ISP vs IAP | Self-Recovery | Storing Variables | Flash Life-Time | Summary ]
Copyright (c) 2000 by Olaf Pfeiffer and Andy Ayre

ESAcademy, 2000

All materials
provided 'as is'
see Disclaimer

www.esacademy.com
info@esacademy.com