Design Reuse
Search EETimes
Silicon IP Verification IP Software IP Wanted IP !!! Free Download IP Analytics (Restricted Access) FPGA Board / Kit Design Services Foundries Main IP/SoC Products Embedded Systems Design Platform / Structured ASIC Foundries FPGA / CPLD Fabless / IDM Deals Legal Business Financial Results People ESL Design Commentary / Analysis Main Silicon IP / SoC Verification IP FPGA / CPLD Embedded Systems Design Platform / Structured ASIC ESL Design ESL Design Standards & Best Practice Structured ASIC Verification IP Main On Cores Embedded Systems EDA Tools IP Cores Tool Demos D&R Partners Research / Market Reports Events Calendar Webcasts / Podcasts Online Bookstore



In-system programming of FLASH via control unit application


Related Articles

Latest Articles

Most Popular (Updated Daily)

By Heiko Riessland, Programmierbare Logick & Systeme GmbH
edadesignline.com (August 12, 2008)

Introduction

A high level of data integrity and data security is essential when using FLASH memory in automotive control units. Indeed, to guarantee this for the entire life cycle of the control unit, attention should be given to a few rules. It is not only the harsh environmental conditions that can cause an end to this endeavor. For those that do not consider, at an early stage, how often and to which purpose a reprogramming of the FLASH content in the phases of production, operation and service takes place can sometimes experience nasty surprises.

How does in-system programming of FLASH essentially function?

On-chip FLASH memories are in vogue. At the same time, they first of all require a certain amount of rethinking by the user. To change the content of a FLASH memory certainly requires much more effort than to change the content of a random access memory (RAM). The reason: whereas for the writing of a RAM, a single machine command is sufficient; for FLASH programming a special algorithm, which typically is implemented via special registers, is required. In addition, the FLASH memory must be erased before each reprogramming.

Fundamentally, a FLASH device can be programmed via any target interface, which can read and write registers — for example, programming via JTAG. However, this possibility is in practice hardly ever used because it is simply too slow and inflexible. Nowadays, more often, the algorithm for programming the FLASH is usually downloaded direct in an on-chip RAM of the microcontroller and then also executed in it. With this method, significantly higher speeds can be achieved compared to direct programming via JTAG. This is because typical cyclical register polling by the MCU in the FLASH algorithm can be processed many times faster than via the JTAG connection. An additional advantage of this variant: because it functions independent of the respective target interface the connection can not only be achieved via JTAG, but also - for example - via the CAN bus.

The smallest structural unit of a FLASH memory is the page. It can be programmed at once. Furthermore, a typical on-chip FLASH memory is logically divided into various sectors, whereby the number and size of the sectors are dependent on the microcontroller type. Erasing can only be carried out by sector or also the entire FLASH. Attention should be paid that the execution of the programming routine can not take place in the memory, which is to be programmed.


Click here to read more ...





   

Add your Opinion

   

 

E-mail This Article Printer-Friendly Page


<A HREF="http://www.design-reuse.com/banner/exit.php?id=445" target="_top"><IMG SRC="http://www.us.design-reuse.com/adserver/www/images/eureka_static.jpg" WIDTH=125 HEIGHT=125 BORDER=0></A>