Skip to content

Commit

Permalink
Add a NOR trait to encode that word clearing is supported
Browse files Browse the repository at this point in the history
This is to encode MCU flashes that have ECC, where
it is common that only a complete clear of the
word is allowed. This is a more restrictive
version of `MultiwriteNorFlash` as it cannot
encode flashes with ECC support.
  • Loading branch information
korken89 committed Aug 4, 2024
1 parent 95861f8 commit a742ef4
Showing 1 changed file with 9 additions and 0 deletions.
9 changes: 9 additions & 0 deletions src/nor_flash.rs
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,15 @@ impl<T: NorFlash> NorFlash for &mut T {
}
}

/// Marker trait for NorFlash relaxing the restrictions on `write`.
///
/// Writes to the same word twice are now allowed as long as the second write is all 0s.
/// This is common for flashes that have ECC, where after the first write only a complete clear of
/// the word is allowed after initial write.
pub trait WordclearNorFlash: NorFlash {}

impl<T> WordclearNorFlash for T where T: MultiwriteNorFlash {}

/// Marker trait for NorFlash relaxing the restrictions on `write`.
///
/// Writes to the same word twice are now allowed. The result is the logical AND of the
Expand Down

0 comments on commit a742ef4

Please sign in to comment.