Module capsules::fm25cl
[−]
[src]
Driver for the FM25CL FRAM chip.
http://www.cypress.com/part/fm25cl64b-dg
From the FM25CL website:
The FM25CL64B is a 64-Kbit nonvolatile memory employing an advanced ferroelectric process. A ferroelectric random access memory or F-RAM is nonvolatile and performs reads and writes similar to a RAM. It provides reliable data retention for 151 years while eliminating the complexities, overhead, and system level reliability problems caused by serial flash, EEPROM, and other nonvolatile memories.
Usage
// Create a SPI device for this chip. let fm25cl_spi = static_init!( capsules::virtual_spi::VirtualSpiMasterDevice<'static, usart::USART>, capsules::virtual_spi::VirtualSpiMasterDevice::new(mux_spi, Some(&sam4l::gpio::PA[25]))); // Setup the actual FM25CL driver. let fm25cl = static_init!( capsules::fm25cl::FM25CL<'static, capsules::virtual_spi::VirtualSpiMasterDevice<'static, usart::USART>>, capsules::fm25cl::FM25CL::new(fm25cl_spi, &mut capsules::fm25cl::TXBUFFER, &mut capsules::fm25cl::RXBUFFER)); fm25cl_spi.set_client(fm25cl);
This capsule provides two interfaces:
hil::nonvolatile_storage::NonvolatileStorage
FM25CLCustom
The first is the generic interface for nonvolatile storage. This allows
this driver to work with capsules like the nonvolatile_storage_driver
that provide virtualization and a userspace interface. The second is a
custom interface that exposes other chip-specific functions.
Reexports
use core::cell::Cell; |
use core::cmp; |
use kernel::ReturnCode; |
use kernel::common::take_cell::TakeCell; |
use kernel::hil; |
Structs
FM25CL |
Enums
Opcodes | |
State |
Constants
SPI_SPEED |
Statics
KERNEL_RXBUFFER | |
KERNEL_TXBUFFER | |
RXBUFFER | |
TXBUFFER |
Traits
FM25CLClient | |
FM25CLCustom |