Mistake on this page?
Report an issue in GitHub or email us
Data Fields
_ARM_STORAGE_BLOCK_ATTRIBUTES Struct Reference

Attributes of the storage range within a storage block. More...

#include <Driver_Storage.h>

Data Fields

uint32_t erasable: 1
 Erasing blocks is permitted with a minimum granularity of 'erase_unit'. More...
 
uint32_t programmable: 1
 Writing to ranges is permitted with a minimum granularity of 'program_unit'. More...
 
uint32_t executable: 1
 This storage block can hold program data; the processor can fetch and execute code sourced from it. More...
 
uint32_t protectable: 1
 The entire block can be protected from program and erase operations. More...
 
uint32_t erase_unit
 Minimum erase size in bytes. More...
 
uint32_t protection_unit
 Minimum protectable size in bytes. More...
 

Detailed Description

Attributes of the storage range within a storage block.

Definition at line 55 of file Driver_Storage.h.

Field Documentation

uint32_t erasable

Erasing blocks is permitted with a minimum granularity of 'erase_unit'.

Note
: if 'erasable' is 0–i.e. the 'erase' operation isn't available–then 'erase_unit' (see below) is immaterial and should be 0.

Definition at line 56 of file Driver_Storage.h.

uint32_t erase_unit

Minimum erase size in bytes.

The offset of the start of the erase-range should also be aligned with this value. Applicable if the 'erasable' attribute is set for the block.

Note
: if 'erasable' (see above) is 0–i.e. the 'erase' operation isn't available–then 'erase_unit' is immaterial and should be 0.

Definition at line 68 of file Driver_Storage.h.

uint32_t executable

This storage block can hold program data; the processor can fetch and execute code sourced from it.

Often this is accompanied with the device being 'memory_mapped' (see ARM_STORAGE_INFO).

Definition at line 63 of file Driver_Storage.h.

uint32_t programmable

Writing to ranges is permitted with a minimum granularity of 'program_unit'.

Writes are typically achieved through the ProgramData operation (following an erase); if storage isn't erasable (see 'erasable' above) but is memory-mapped (i.e. 'memory_mapped'), it can be written directly using memory-store operations.

Definition at line 59 of file Driver_Storage.h.

uint32_t protectable

The entire block can be protected from program and erase operations.

Once protection is enabled for a block, its 'erasable' and 'programmable' bits are turned off.

Definition at line 65 of file Driver_Storage.h.

uint32_t protection_unit

Minimum protectable size in bytes.

Applicable if the 'protectable' attribute is set for the block. This should be a divisor of the block's size. A block can be considered to be made up of consecutive, individually-protectable fragments.

Definition at line 73 of file Driver_Storage.h.

Important Information for this Arm website

This site uses cookies to store information on your computer. By continuing to use our site, you consent to our cookies. If you are not happy with the use of these cookies, please review our Cookie Policy to learn how they can be disabled. By disabling cookies, some features of the site will not work.