Mouse code for the MacroRat

Dependencies:   ITG3200 QEI

Embed: (wiki syntax)

« Back to documentation index

_ARM_STORAGE_INFO Struct Reference

_ARM_STORAGE_INFO Struct Reference
[Hal]

Storage information. More...

#include <Driver_Storage.h>

Data Fields

uint64_t total_storage
 Total available storage, in bytes.
uint32_t program_unit
 Minimum programming size in bytes.
uint32_t optimal_program_unit
 Optimal programming page-size in bytes.
uint32_t program_cycles
 A measure of endurance for reprogramming.
uint32_t erased_value: 1
 Contents of erased memory (usually 1 to indicate erased bytes with state 0xFF).
uint32_t memory_mapped: 1
 This storage device has a mapping onto the processor's memory address space.
uint32_t programmability: 4
 A value to indicate storage programmability.
ARM_STORAGE_SECURITY_FEATURES security
 ARM_STORAGE_SECURITY_FEATURES

Detailed Description

Storage information.

This contains device-metadata. It is the return value from calling GetInfo() on the storage driver.

These fields serve a different purpose than the ones contained in ARM_STORAGE_CAPABILITIES, which is another structure containing device-level metadata. ARM_STORAGE_CAPABILITIES describes the API capabilities, whereas ARM_STORAGE_INFO describes the device. Furthermore ARM_STORAGE_CAPABILITIES fits within a single word, and is designed to be passed around by value; ARM_STORAGE_INFO, on the other hand, contains metadata which doesn't fit into a single word and requires the use of pointers to be moved around.

Definition at line 154 of file Driver_Storage.h.


Field Documentation

uint32_t erased_value

Contents of erased memory (usually 1 to indicate erased bytes with state 0xFF).

Definition at line 167 of file Driver_Storage.h.

uint32_t memory_mapped

This storage device has a mapping onto the processor's memory address space.

Note:
: For a memory-mapped block which isn't erasable but is programmable (i.e. if 'erasable' is set to 0, but 'programmable' is 1), writes should be possible directly to the memory-mapped storage without going through the ProgramData operation.

Definition at line 168 of file Driver_Storage.h.

Optimal programming page-size in bytes.

Some storage controllers have internal buffers into which to receive data. Writing in chunks of 'optimal_program_unit' would achieve maximum programming speed. Applicable only if the 'programmable' attribute is set for the underlying block(s).

Definition at line 161 of file Driver_Storage.h.

uint32_t program_cycles

A measure of endurance for reprogramming.

Use ARM_STORAGE_PROGRAM_CYCLES_INFINITE for infinite or unknown endurance.

Definition at line 165 of file Driver_Storage.h.

uint32_t program_unit

Minimum programming size in bytes.

The offset of the start of the program-range should also be aligned with this value. Applicable only if the 'programmable' attribute is set for a block.

Note:
: setting program_unit to 0 has the effect of disabling the size and alignment restrictions (setting it to 1 also has the same effect).

Definition at line 156 of file Driver_Storage.h.

uint32_t programmability

A value to indicate storage programmability.

Definition at line 172 of file Driver_Storage.h.

uint64_t total_storage

Total available storage, in bytes.

Definition at line 155 of file Driver_Storage.h.