Problems with Programming Configuration Register-1 (CR1) on S25FL-S FLASH Memory - KBA231885
- Subscribe to RSS Feed
- Mark as New
- Mark as Read
- Bookmark
- Subscribe
- Printer Friendly Page
- Report Inappropriate Content
Version: **
Question: When using the Write Register command (WRR 01h), programming the Configuration Register-1 from 0x00 to 0x20 is successful, but when programming from 0x20 back to 0x00, programming is unsuccessful and the Status Register-1, Bit-6 (SR1[6]) is set to “1” (programming error occurred). What may be causing the problem?
Answer: The issue is that when programming, the value 0x20 to Configuration Register-1, Bit 5 (CR1[5]) is One-Time Programmable (OTP). Therefore, any attempt to change CR1[5] back to “0” will fail and the Status Register-1, Bit 6 (P_ERR in SR1[6]) will be set to “1” indicating the occurrence of a programming error. The same error is expected for Configuration Register-1, Bits 4, 3, and 2 (CR1[4:2]). When set to “1”, the Programming Error bit can be reset to “0” with the Clear Status Register (CLSR 30h) command.
Configuration Register-1 (CR1)
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 |
|
Register Type | Nonvolatile | Nonvolatile | OTP | OTP | OTP | OTP | Nonvolatile | Volatile | - |
Default Value | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0x00 |
Desired Programmed Value | 0 | 0 | 1 | 0 | 0 | 0 | 0 | 0 | 0x20 |
Configuration Register-1, Bits 5, 4, 3, 2 (CR1[5:2]) are OTP bits.
For more details, see S25FL-S Datasheet.
- Tags:
- bit
- configuration register
- erase
- error
- fl-s
- interface
- nor
- nor flash
- one-time programmable
- otp
- page program
- program
- serial
- serial peripheral interface
- spi
- status register