Module capsules::nonvolatile_to_pages
[−]
[src]
Map arbitrary nonvolatile reads and writes to page operations.
This splits non-page-aligned reads and writes into a series of page level
reads and writes. While it is handling a read or write it returns EBUSY to
all additional requests.
This module is designed to be used on top of any flash storage and below any
user of NonvolatileStorage. This module handles different sized pages.
hil::nonvolatile_storage::NonvolatileStorage
┌─────────────┐
│ │
│ This module │
│ │
└─────────────┘
hil::flash::Flash
Usage
pub static mut PAGEBUFFER: sam4l::flashcalw::Sam4lPage = sam4l::flashcalw::Sam4lPage::new(); let nv_to_page = static_init!( capsules::nonvolatile_to_pages::NonvolatileToPages<'static, sam4l::flashcalw::FLASHCALW>, capsules::nonvolatile_to_pages::NonvolatileToPages::new( &mut sam4l::flashcalw::FLASH_CONTROLLER, &mut PAGEBUFFER)); hil::flash::HasClient::set_client(&sam4l::flashcalw::FLASH_CONTROLLER, nv_to_page);
Reexports
use core::cell::Cell; |
use core::cmp; |
use kernel::ReturnCode; |
use kernel::common::take_cell::TakeCell; |
use kernel::hil; |
Structs
| NonvolatileToPages |
Enums
| State |
This module is either waiting to do something, or handling a read/write. |