[−][src]Struct spi_flash::sfdp::FlashParams
SFDP JEDEC Basic Flash Parameter Table
This table contains standard SFDP information which may be read from a flash memory. Only fields relevant to single I/O operation are parsed.
Fields are taken from JESD216D-01, supporting parameter versions up to 1.7.
Fields
version_major: u8
Parameter header major version field.
version_minor: u8
Parameter header minor version field.
address_bytes: SFDPAddressBytes
Number of address bytes to use in read/write commands.
density: u64
Flash memory density in bits.
legacy_4kb_erase_supported: bool
If true, 4kB erase is supported.
Newer memories indicate all erase sizes with erase_*
fields.
legacy_4kb_erase_inst: u8
Instruction for 4kB erase, or 0xFF if unsupported.
Newer memories also include this instruction in erase_*
fields.
legacy_volatile_write_en_inst: u8
Write enable instruction for volatile status register, either 0x50 or 0x06.
Newer memories use status_1_vol
instead.
legacy_block_protect_volatile: bool
If true, Block Protect bits in status register are only volatile,
otherwise they may be only non-volatile or may be programmed either
as volatile with instruction 0x50 or non-volatile with instruction 0x06.
Newer memories use status_1_vol
instead.
legacy_byte_write_granularity: bool
If true, writes can be performed with byte granularity.
Newer memories use page_size
.
erase_insts: [Option<SFDPEraseInst>; 4]
Erase instructions.
Up to four erase instructions may be available, each specifying the opcode for the instruction and the number of bytes erased.
timing: Option<SFDPTiming>
Chip erase and programming times, if available.
page_size: Option<u32>
Page size, in bytes.
busy_poll_flag: Option<bool>
If true, polling busy status via the flag status register is supported. Instruction 0x70 reads the flag register, where bit 7 is 0 if busy and 1 if ready.
busy_poll_status: Option<bool>
If true, polling busy status via the status register is supported. Instruction 0x05 reads the status register, where bit 0 is 0 if ready and 1 if busy.
reset_inst_f0: Option<bool>
If true, the device may be reset using instruction 0xF0.
reset_inst_66_99: Option<bool>
If true, the device may be reset using instruction 0x66 followed by 0x99.
status_1_vol: Option<SFDPStatus1Volatility>
Status register 1 volatility and write-enable instruction.
Implementations
impl FlashParams
[src]
pub fn from_bytes(major: u8, minor: u8, data: &[u8]) -> Result<Self>
[src]
pub fn capacity_bytes(&self) -> usize
[src]
Get the flash capacity in bytes.
pub fn sector_erase(&self) -> Option<(usize, u8)>
[src]
Get the smallest erase granularity and its opcode.
Trait Implementations
impl Clone for FlashParams
[src]
pub fn clone(&self) -> FlashParams
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for FlashParams
[src]
impl Debug for FlashParams
[src]
impl Display for FlashParams
[src]
Auto Trait Implementations
impl RefUnwindSafe for FlashParams
[src]
impl Send for FlashParams
[src]
impl Sync for FlashParams
[src]
impl Unpin for FlashParams
[src]
impl UnwindSafe for FlashParams
[src]
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,