Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependents: mbed-os-example-blinky-gr-lychee GR-Boads_Camera_sample GR-Boards_Audio_Recoder GR-Boads_Camera_DisplayApp ... more
BlockDevice Class Reference
A hardware device capable of writing and reading blocks. More...
#include <BlockDevice.h>
Public Member Functions | |
| virtual | ~BlockDevice () |
| Lifetime of a block device. | |
| virtual int | init ()=0 |
| Initialize a block device. | |
| virtual int | deinit ()=0 |
| Deinitialize a block device. | |
| virtual int | read (void *buffer, bd_addr_t addr, bd_size_t size)=0 |
| Read blocks from a block device. | |
| virtual int | program (const void *buffer, bd_addr_t addr, bd_size_t size)=0 |
| Program blocks to a block device. | |
| virtual int | erase (bd_addr_t addr, bd_size_t size)=0 |
| Erase blocks on a block device. | |
| virtual bd_size_t | get_read_size () const =0 |
| Get the size of a readable block. | |
| virtual bd_size_t | get_program_size () const =0 |
| Get the size of a programable block. | |
| virtual bd_size_t | get_erase_size () const =0 |
| Get the size of a eraseable block. | |
| virtual bd_size_t | size () const =0 |
| Get the total size of the underlying device. | |
| bool | is_valid_read (bd_addr_t addr, bd_size_t size) const |
| Convenience function for checking block read validity. | |
| bool | is_valid_program (bd_addr_t addr, bd_size_t size) const |
| Convenience function for checking block program validity. | |
| bool | is_valid_erase (bd_addr_t addr, bd_size_t size) const |
| Convenience function for checking block erase validity. | |
Detailed Description
A hardware device capable of writing and reading blocks.
Definition at line 43 of file BlockDevice.h.
Constructor & Destructor Documentation
| virtual ~BlockDevice | ( | ) | [virtual] |
Lifetime of a block device.
Definition at line 48 of file BlockDevice.h.
Member Function Documentation
| virtual int deinit | ( | ) | [pure virtual] |
Deinitialize a block device.
- Returns:
- 0 on success or a negative error code on failure
| virtual int erase | ( | bd_addr_t | addr, |
| bd_size_t | size | ||
| ) | [pure virtual] |
Erase blocks on a block device.
The state of an erased block is undefined until it has been programmed
- Parameters:
-
addr Address of block to begin erasing size Size to erase in bytes, must be a multiple of erase block size
- Returns:
- 0 on success, negative error code on failure
| virtual bd_size_t get_erase_size | ( | ) | const [pure virtual] |
Get the size of a eraseable block.
- Returns:
- Size of a eraseable block in bytes
- Note:
- Must be a multiple of the program size
| virtual bd_size_t get_program_size | ( | ) | const [pure virtual] |
Get the size of a programable block.
- Returns:
- Size of a programable block in bytes
- Note:
- Must be a multiple of the read size
| virtual bd_size_t get_read_size | ( | ) | const [pure virtual] |
Get the size of a readable block.
- Returns:
- Size of a readable block in bytes
| virtual int init | ( | ) | [pure virtual] |
Initialize a block device.
- Returns:
- 0 on success or a negative error code on failure
| bool is_valid_erase | ( | bd_addr_t | addr, |
| bd_size_t | size | ||
| ) | const |
Convenience function for checking block erase validity.
- Parameters:
-
addr Address of block to begin erasing size Size to erase in bytes
- Returns:
- True if erase is valid for underlying block device
Definition at line 156 of file BlockDevice.h.
| bool is_valid_program | ( | bd_addr_t | addr, |
| bd_size_t | size | ||
| ) | const |
Convenience function for checking block program validity.
- Parameters:
-
addr Address of block to begin writing to size Size to write in bytes
- Returns:
- True if program is valid for underlying block device
Definition at line 142 of file BlockDevice.h.
| bool is_valid_read | ( | bd_addr_t | addr, |
| bd_size_t | size | ||
| ) | const |
Convenience function for checking block read validity.
- Parameters:
-
addr Address of block to begin reading from size Size to read in bytes
- Returns:
- True if read is valid for underlying block device
Definition at line 128 of file BlockDevice.h.
| virtual int program | ( | const void * | buffer, |
| bd_addr_t | addr, | ||
| bd_size_t | size | ||
| ) | [pure virtual] |
Program blocks to a block device.
The blocks must have been erased prior to being programmed
If a failure occurs, it is not possible to determine how many bytes succeeded
- Parameters:
-
buffer Buffer of data to write to blocks addr Address of block to begin writing to size Size to write in bytes, must be a multiple of program block size
- Returns:
- 0 on success, negative error code on failure
| virtual int read | ( | void * | buffer, |
| bd_addr_t | addr, | ||
| bd_size_t | size | ||
| ) | [pure virtual] |
Read blocks from a block device.
If a failure occurs, it is not possible to determine how many bytes succeeded
- Parameters:
-
buffer Buffer to write blocks to addr Address of block to begin reading from size Size to read in bytes, must be a multiple of read block size
- Returns:
- 0 on success, negative error code on failure
| virtual bd_size_t size | ( | ) | const [pure virtual] |
Get the total size of the underlying device.
- Returns:
- Size of the underlying device in bytes
Generated on Tue Jul 12 2022 11:02:40 by
1.7.2