| 数据搜索系统,热门电子元器件搜索 |
|
RM0312 数据表(PDF) 31 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
RM0312 数据表(HTML) 31 Page - STMicroelectronics |
|
31 / 275 page ![]() DocID022352 Rev 3 31/275 RM0312 Flash program memory and data EEPROM 39 4.6 Memory programming The main program memory, and the DATA area must be unlocked before attempting to perform any program operation. The unlock mechanism depends on the memory area to be programmed as described in Section 4.5.2: Memory access security system (MASS). Note: The PCODE area is always readout protected. The only way to reprogram it is to reset the ROP option byte, thus erasing the Flash program memory, DATA area, and option bytes. 4.6.1 Byte programming The main program memory and the DATA area can be programmed at byte level. To program one byte, the application writes directly to the target address.The application stops for the duration of the byte program operation. To erase a byte, simply write 0x00 at the corresponding address. The application can read the FLASH_IAPSR register to verify that the programming or erasing operation has been correctly executed: • EOP flag is set after a successful programming operation • WR_PG_DIS is set when the software has tried to write to a protected page. In this case, the write procedure is not performed. As soon as one of these flags are set, a Flash interrupt is generated if it has been previously enabled by setting the IE bit of the FLASH_CR1 register. Automatic fast byte programming The programming duration can vary according to the initial content of the target address. If the word (4 bytes) containing the byte to be programmed is not empty, the whole word is automatically erased before the program operation. On the contrary if the word is empty, no erase operation is performed and the programming time is shorter (see tPROG in Table “Flash program memory” in the datasheet). However, the programming time can be fixed by setting the FIX bit of the FLASH_CR1 register to force the program operation to systematically erase the byte whatever its content (see Section 4.8.1: Flash control register 1 (FLASH_CR1)). The programming time is consequently fixed and equal to the sum of the erase and write time (see tPROG in Table “Flash program memory” in the datasheet). Note: To write a byte fast (no erase), the whole word (4 bytes) into which it is written must be erased beforehand. Consequently, It is not possible to do two fast writes to the same word (without an erase before the second write): The first write will be fast but the second write to the other byte will require an erase. 4.6.2 Word programming A word write operation allows an entire 4-byte word to be programmed in one shot, thus minimizing the programming time. As for byte programming, word operation is available both for the main program memory and data EEPROM. To program a word, the WPRG bit in the FLASH_CR2 register must be previously set to enable word programming mode (see Section 4.8.2: Flash control register 2 (FLASH_CR2)). Then, the 4 bytes of the word to be programmed must be loaded starting |
|
链接网址 |
| ALLDATASHEET是否为您带来帮助? [ DONATE ] |
关于 Alldatasheet | 广告服务 | 联系我们 | 隐私政策 | 数据表链接 | 链接交换 | 制造商名单 All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |