编辑: 捷安特680 | 2017-11-29 |
3 Implementation Scheme While emulating EEPROM with the Flash, the most important challenge is meeting the reliability targets as far as Flash program/erase endurance and data retention are concerned. Secondly, real-time application requirements of updating and reading the data need to be met under control of the application program. Note that during the Flash erase/program period it cannot execute the application program, as it cannot be read during this time interval. NOTE: Flash erase and write cycles draw additional current from VDD and VDDIO supply voltage rails. The system power supply should be designed to source this additional current. For the values of the additional current, see the Flash Timing section of the device-specific data manual. NOTE: Flash endurance is rated for
100 min/1000 typical erase/write cycles. This is shown in the Flash Timing section in Electrical Characteristics of the device-specific data manual. Programming data to the sector, byte-by-byte, helps to prolong Flash life. This is due to the fact that the entire sector is used before erasing as opposed to only partially using the sector and erasing. 3.1 Basic Concept A Flash sector has to be entirely reserved for the emulated EEPROM, due to the block erase requirement of Flash. This means, based on the F28xxx part, the size for this Flash sector will be anything from 4K x
16 (F2801, F28015/F28016) to 32K x
16 (F28335/F28235, F2809). The area of this Flash sector is divided into the number of smaller sections (referred to as Page, hereafter) each having the size of emulated EEPROM. For example a 4K x
16 size Flash sector can be divided into
32 pages, each having a size of
128 x 16. That makes each Page equivalent to a
256 x
8 Bytes EEPROM. The data to be saved is first written in a buffer in RAM. Then, using the in-circuit programming facility of the F28xxx, the data is written to the first page (Page 1) in the selected sector of the Flash. After the power cycling, the application copies this saved data from the page to the buffer in RAM. The next time the application requires saving new data that gets written to the next page, Page 2. The process continues until the last page in the selected sector is written. On reaching the last page, the entire Flash sector has to be erased and the process starts again from Page
1 for the consecutive EEPROM data save operation. In addition to the multi-byte programming concept described above, there is also support for single-byte programming. In this mode, the sector is not broken into banks and pages. Single-byte programming is discussed further in Section 4.2.7 and Section 4.2.8. The remainder of this application report discusses the multi-byte programming mode. 3.2 Creating EEPROM Sections (Pages) and Page Identification It is possible to create a large number of pages depending on the size of Flash sectors and the emulated EEPROM. It is necessary to: ? Read back the data........