TC1784
Program Memory Unit (PMU)
User´s Manual
5-92
V1.1, 2011-05
PMU, V1.47
The detection of aborted programming processes can be handled similarly. After
programming a block of data an additional page is programmed as marker. When after
reset the block of data is readable and the marker is existent it is ensured that the block
of data was programmed without interruption.
Because often very small amounts of data need to be programmed in EEPROM
emulation not always a complete page can be spent as marker. The following recipe
allows to reduce the marker size to 8 bytes. This recipe violates the rule that a page may
be programmed only once. This violation is only allowed for this purpose (EEPROM
emulation with DFlash) and only when the algorithm is robust against disturbed pages
(see also recommendations for handling single-bit errors) by repeating a programming
step when it detects a failure.
Robust programming of a page of data with an 8 byte marker:
1. After reset program preferably always first to an even page (“Target Page”).
2. If the Other Page on the same wordline contains active data save it to SRAM (the
page can become disturbed because of the 4 programming operations per wordline).
3. Program the data to the Target Page.
4. Perform strict check of the Target Page (see below).
5. Program 8 byte marker to Target Page.
6. Perform strict check of the Target Page.
7. In case of any error of the strict check go to the next wordline and program the saved
data and the target data again following the same steps.
8. Ensure that the algorithm doesn’t repeat unlimited in case of a violation of operating
conditions.
Strict checking of programmed data:
1. Ignore single-bit errors and the VER flag.
2. Switch to tight margin 0.
3. If the data (check the complete page) is not equal to the expected data report an
error.
4. If a double-bit error is detected report an error.
When this algorithm is performed while the other DFlash bank is busy with erasing an
additional rule is violated: margin reads are normally not allowed while any Flash
operation is ongoing. In this case this is allowed.
After reset the algorithm has to check the last programmed page if it was programmed
completely:
1. Read with normal read level. Ignore single-bit errors.
2. Read 8-byte marker and check for double-bit error.
3. Read data part and verify its consistency (e.g. by evaluating a CRC). Check for
double-bit error.
4. If the data part is defective don’t use it (e.g. by invalidating the page).
5. If the data part is ok:
Summary of Contents for TC1784
Page 1: ...User s Manual V1 1 2011 05 Microcontrollers TC1784 32 Bit Single Chip Microcontroller ...
Page 3: ...User s Manual V1 1 2011 05 Microcontrollers TC1784 32 Bit Single Chip Microcontroller ...
Page 950: ...TC1784 Direct Memory Access Controller DMA User s Manual 11 132 V1 1 2011 05 DMA V3 03 ...
Page 1949: ...TC1784 General Purpose Timer Array GPTA v5 User s Manual 21 297 V1 1 2011 05 GPTA v5 V1 14 ...
Page 2350: ...w w w i n f i n e o n c o m Published by Infineon Technologies AG Doc_Number ...