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. |