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 14c7cb2
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 0 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0.

## Unreleased

- Add `WordclearNorFlash` to encode relaxed `write` requirements similar to `MultiwriteNorFlash` but that allows for flashes with ECC.
- Add `start()` and `end()` method to the `Region` trait.
- Much faster `OverlapIterator`.

Expand Down
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 14c7cb2

Please sign in to comment.