| 数据搜索系统,热门电子元器件搜索 |
|
ST10F272M 数据表(PDF) 39 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
ST10F272M 数据表(HTML) 39 Page - STMicroelectronics |
|
39 / 175 page ![]() ST10F272M Internal Flash memory 39/176 To restore the write protection bits it is necessary to reset the microcontroller or to execute a Set Protection operation and write 0 into the desired bits. In reality, when a temporary write unprotection operation is executed, the corresponding volatile register is written to 1, while the non-volatile registers bits previously written to 0 (for a protection set operation), will continue to maintain the 0. For this reason, the User software must be in charge to track the current write protection status (for instance using a specific RAM area), it is not possible to deduce it by reading the non-volatile register content (a temporary unprotection cannot be detected). To temporarily unprotect the Flash when the Access Protection is active, it is necessary to set to ‘1’ the bit TAUB in XFVTAUR0. This bit can be set to ‘1’ only while executing from Flash: In this way only an instruction executed from Flash can unprotect the Flash itself. To restore the Access Protection, it is necessary to reset the microcontroller or to write at 0 the bit TAUB in XFVTAUR0. 5.6 Write operation examples In the following, examples for each kind of Flash write operation are presented. Note: The write operation commands must be executed from another memory (internal RAM or external memory), as in ST10F269 device. In fact, due to IBus characteristics, it is not possible to perform write operation in Flash while fetching code from Flash. Moreover, direct addressing is not allowed for write accesses to IFlash control registers. This means that both address and data for a writing operation must be loaded in one of ST10 GPR register (R0...R15). Write operation on IBus registers is 16 bits wide. Example of indirect addressing mode MOV RWm, #ADDRESS; /*Load Add in RWm*/ MOV RWn, #DATA; /*Load Data in RWn*/ MOV [RWm], RWn; /*Indirect addressing*/ Word program Example: 32-bit Word Program of data 0xAAAAAAAA at address 0x025554 FCR0H|= 0x2000; /*Set WPG in FCR0H*/ FARL = 0x5554; /*Load Add in FARL*/ FARH = 0x0002; /*Load Add in FARH*/ FDR0L = 0xAAAA; /*Load Data in FDR0L*/ FDR0H = 0xAAAA; /*Load Data in FDR0H*/ FCR0H|= 0x8000; /*Operation start*/ Double word program Example: Double Word Program (64-bit) of data 0x55AA55AA at address 0x035558 and data 0xAA55AA55 at address 0x03555C in IFlash Module. FCR0H |= 0x1000; /*Set DWPG/ FARL = 0x5558; /*Load Add in FARL*/ FARH = 0x0003; /*Load Add in FARH*/ FDR0L = 0x55AA; /*Load Data in FDR0L*/ |
|
链接网址 |
| 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 |