mirror of https://github.com/ARMmbed/mbed-os.git
				
				
				
			Move BlockDevice classes inside mbed namespace.
							parent
							
								
									546dafbadc
								
							
						
					
					
						commit
						e36cd00e93
					
				| 
						 | 
					@ -23,7 +23,7 @@
 | 
				
			||||||
#include "platform/FileHandle.h"
 | 
					#include "platform/FileHandle.h"
 | 
				
			||||||
#include "platform/DirHandle.h"
 | 
					#include "platform/DirHandle.h"
 | 
				
			||||||
#include "platform/FileSystemLike.h"
 | 
					#include "platform/FileSystemLike.h"
 | 
				
			||||||
#include "BlockDevice.h"
 | 
					#include "bd/BlockDevice.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace mbed {
 | 
					namespace mbed {
 | 
				
			||||||
/** \addtogroup filesystem */
 | 
					/** \addtogroup filesystem */
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -17,8 +17,12 @@
 | 
				
			||||||
#ifndef MBED_BLOCK_DEVICE_H
 | 
					#ifndef MBED_BLOCK_DEVICE_H
 | 
				
			||||||
#define MBED_BLOCK_DEVICE_H
 | 
					#define MBED_BLOCK_DEVICE_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "platform/platform.h"
 | 
				
			||||||
#include <stdint.h>
 | 
					#include <stdint.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					/** \addtogroup filesystem */
 | 
				
			||||||
 | 
					/** @{*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Enum of standard error codes
 | 
					/** Enum of standard error codes
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					@ -219,5 +223,7 @@ public:
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** @}*/
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -20,6 +20,8 @@
 | 
				
			||||||
#include <algorithm>
 | 
					#include <algorithm>
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline uint32_t align_down(bd_size_t val, bd_size_t size)
 | 
					static inline uint32_t align_down(bd_size_t val, bd_size_t size)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return val / size * size;
 | 
					    return val / size * size;
 | 
				
			||||||
| 
						 | 
					@ -239,3 +241,5 @@ bd_size_t BufferedBlockDevice::size() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return _bd->size();
 | 
					    return _bd->size();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,6 +24,9 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "BlockDevice.h"
 | 
					#include "BlockDevice.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					/** \addtogroup filesystem */
 | 
				
			||||||
 | 
					/** @{*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Block device for allowing minimal read and program sizes (of 1) for the underlying BD,
 | 
					/** Block device for allowing minimal read and program sizes (of 1) for the underlying BD,
 | 
				
			||||||
 *  using a buffer on the heap.
 | 
					 *  using a buffer on the heap.
 | 
				
			||||||
| 
						 | 
					@ -163,5 +166,7 @@ protected:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** @}*/
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,8 +15,10 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "ChainingBlockDevice.h"
 | 
					#include "ChainingBlockDevice.h"
 | 
				
			||||||
#include "mbed_critical.h"
 | 
					#include "platform/mbed_critical.h"
 | 
				
			||||||
 | 
					#include "platform/mbed_assert.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ChainingBlockDevice::ChainingBlockDevice(BlockDevice **bds, size_t bd_count)
 | 
					ChainingBlockDevice::ChainingBlockDevice(BlockDevice **bds, size_t bd_count)
 | 
				
			||||||
    : _bds(bds), _bd_count(bd_count)
 | 
					    : _bds(bds), _bd_count(bd_count)
 | 
				
			||||||
| 
						 | 
					@ -249,3 +251,5 @@ bd_size_t ChainingBlockDevice::size() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return _size;
 | 
					    return _size;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,8 +23,10 @@
 | 
				
			||||||
#define MBED_CHAINING_BLOCK_DEVICE_H
 | 
					#define MBED_CHAINING_BLOCK_DEVICE_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "BlockDevice.h"
 | 
					#include "BlockDevice.h"
 | 
				
			||||||
#include "mbed.h"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					/** \addtogroup filesystem */
 | 
				
			||||||
 | 
					/** @{*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Block device for chaining multiple block devices
 | 
					/** Block device for chaining multiple block devices
 | 
				
			||||||
 *  with the similar block sizes at sequential addresses
 | 
					 *  with the similar block sizes at sequential addresses
 | 
				
			||||||
| 
						 | 
					@ -178,5 +180,7 @@ protected:
 | 
				
			||||||
    uint32_t _init_ref_count;
 | 
					    uint32_t _init_ref_count;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** @}*/
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,9 +15,10 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "ExhaustibleBlockDevice.h"
 | 
					#include "ExhaustibleBlockDevice.h"
 | 
				
			||||||
#include "mbed.h"
 | 
					#include "platform/mbed_critical.h"
 | 
				
			||||||
#include "mbed_critical.h"
 | 
					#include "platform/mbed_assert.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ExhaustibleBlockDevice::ExhaustibleBlockDevice(BlockDevice *bd, uint32_t erase_cycles)
 | 
					ExhaustibleBlockDevice::ExhaustibleBlockDevice(BlockDevice *bd, uint32_t erase_cycles)
 | 
				
			||||||
    : _bd(bd), _erase_array(NULL), _erase_cycles(erase_cycles), _init_ref_count(0)
 | 
					    : _bd(bd), _erase_array(NULL), _erase_cycles(erase_cycles), _init_ref_count(0)
 | 
				
			||||||
| 
						 | 
					@ -141,3 +142,5 @@ bd_size_t ExhaustibleBlockDevice::size() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return _bd->size();
 | 
					    return _bd->size();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,6 +24,9 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "BlockDevice.h"
 | 
					#include "BlockDevice.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					/** \addtogroup filesystem */
 | 
				
			||||||
 | 
					/** @{*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Heap backed block device which simulates failures
 | 
					/** Heap backed block device which simulates failures
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					@ -157,5 +160,7 @@ private:
 | 
				
			||||||
    uint32_t _init_ref_count;
 | 
					    uint32_t _init_ref_count;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** @}*/
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,12 +15,15 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "FlashSimBlockDevice.h"
 | 
					#include "FlashSimBlockDevice.h"
 | 
				
			||||||
#include "mbed_assert.h"
 | 
					#include "platform/mbed_critical.h"
 | 
				
			||||||
#include "mbed_critical.h"
 | 
					#include "platform/mbed_assert.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <algorithm>
 | 
					#include <algorithm>
 | 
				
			||||||
#include <stdlib.h>
 | 
					#include <stdlib.h>
 | 
				
			||||||
#include <string.h>
 | 
					#include <string.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static const bd_size_t min_blank_buf_size = 32;
 | 
					static const bd_size_t min_blank_buf_size = 32;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static inline uint32_t align_up(bd_size_t val, bd_size_t size)
 | 
					static inline uint32_t align_up(bd_size_t val, bd_size_t size)
 | 
				
			||||||
| 
						 | 
					@ -160,3 +163,5 @@ int FlashSimBlockDevice::get_erase_value() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return _erase_value;
 | 
					    return _erase_value;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -24,6 +24,10 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "BlockDevice.h"
 | 
					#include "BlockDevice.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					/** \addtogroup filesystem */
 | 
				
			||||||
 | 
					/** @{*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
enum {
 | 
					enum {
 | 
				
			||||||
    BD_ERROR_NOT_ERASED       = -3201,
 | 
					    BD_ERROR_NOT_ERASED       = -3201,
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
| 
						 | 
					@ -138,4 +142,7 @@ private:
 | 
				
			||||||
    uint32_t _init_ref_count;
 | 
					    uint32_t _init_ref_count;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** @}*/
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,8 +15,11 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "HeapBlockDevice.h"
 | 
					#include "HeapBlockDevice.h"
 | 
				
			||||||
#include "mbed_critical.h"
 | 
					#include "platform/mbed_critical.h"
 | 
				
			||||||
 | 
					#include "platform/mbed_assert.h"
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
HeapBlockDevice::HeapBlockDevice(bd_size_t size, bd_size_t block)
 | 
					HeapBlockDevice::HeapBlockDevice(bd_size_t size, bd_size_t block)
 | 
				
			||||||
    : _read_size(block), _program_size(block), _erase_size(block)
 | 
					    : _read_size(block), _program_size(block), _erase_size(block)
 | 
				
			||||||
| 
						 | 
					@ -166,3 +169,4 @@ int HeapBlockDevice::erase(bd_addr_t addr, bd_size_t size)
 | 
				
			||||||
    return 0;
 | 
					    return 0;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,7 +23,11 @@
 | 
				
			||||||
#define MBED_MEM_BLOCK_DEVICE_H
 | 
					#define MBED_MEM_BLOCK_DEVICE_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "BlockDevice.h"
 | 
					#include "BlockDevice.h"
 | 
				
			||||||
#include "mbed.h"
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					/** \addtogroup filesystem */
 | 
				
			||||||
 | 
					/** @{*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Lazily allocated heap-backed block device
 | 
					/** Lazily allocated heap-backed block device
 | 
				
			||||||
| 
						 | 
					@ -153,5 +157,7 @@ private:
 | 
				
			||||||
    uint32_t _init_ref_count;
 | 
					    uint32_t _init_ref_count;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** @}*/
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,9 +15,11 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "MBRBlockDevice.h"
 | 
					#include "MBRBlockDevice.h"
 | 
				
			||||||
#include "mbed_critical.h"
 | 
					#include "platform/mbed_critical.h"
 | 
				
			||||||
 | 
					#include "platform/mbed_assert.h"
 | 
				
			||||||
#include <algorithm>
 | 
					#include <algorithm>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// On disk structures, all entries are little endian
 | 
					// On disk structures, all entries are little endian
 | 
				
			||||||
MBED_PACKED(struct) mbr_entry {
 | 
					MBED_PACKED(struct) mbr_entry {
 | 
				
			||||||
| 
						 | 
					@ -340,3 +342,5 @@ int MBRBlockDevice::get_partition_number() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return _part;
 | 
					    return _part;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,8 +23,10 @@
 | 
				
			||||||
#define MBED_MBR_BLOCK_DEVICE_H
 | 
					#define MBED_MBR_BLOCK_DEVICE_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "BlockDevice.h"
 | 
					#include "BlockDevice.h"
 | 
				
			||||||
#include "mbed.h"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					/** \addtogroup filesystem */
 | 
				
			||||||
 | 
					/** @{*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Additional error codes used for MBR records
 | 
					/** Additional error codes used for MBR records
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
| 
						 | 
					@ -255,5 +257,7 @@ protected:
 | 
				
			||||||
    uint32_t _init_ref_count;
 | 
					    uint32_t _init_ref_count;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** @}*/
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -22,8 +22,8 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "ObservingBlockDevice.h"
 | 
					#include "ObservingBlockDevice.h"
 | 
				
			||||||
#include "ReadOnlyBlockDevice.h"
 | 
					#include "ReadOnlyBlockDevice.h"
 | 
				
			||||||
#include "mbed.h"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ObservingBlockDevice::ObservingBlockDevice(BlockDevice *bd)
 | 
					ObservingBlockDevice::ObservingBlockDevice(BlockDevice *bd)
 | 
				
			||||||
    : _bd(bd)
 | 
					    : _bd(bd)
 | 
				
			||||||
| 
						 | 
					@ -110,3 +110,5 @@ bd_size_t ObservingBlockDevice::size() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return _bd->size();
 | 
					    return _bd->size();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -26,6 +26,9 @@
 | 
				
			||||||
#include "PlatformMutex.h"
 | 
					#include "PlatformMutex.h"
 | 
				
			||||||
#include "Callback.h"
 | 
					#include "Callback.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					/** \addtogroup filesystem */
 | 
				
			||||||
 | 
					/** @{*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ObservingBlockDevice : public BlockDevice
 | 
					class ObservingBlockDevice : public BlockDevice
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -141,6 +144,7 @@ private:
 | 
				
			||||||
    mbed::Callback<void(BlockDevice *)> _change;
 | 
					    mbed::Callback<void(BlockDevice *)> _change;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** @}*/
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -16,6 +16,7 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "ProfilingBlockDevice.h"
 | 
					#include "ProfilingBlockDevice.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ProfilingBlockDevice::ProfilingBlockDevice(BlockDevice *bd)
 | 
					ProfilingBlockDevice::ProfilingBlockDevice(BlockDevice *bd)
 | 
				
			||||||
    : _bd(bd)
 | 
					    : _bd(bd)
 | 
				
			||||||
| 
						 | 
					@ -118,3 +119,5 @@ bd_size_t ProfilingBlockDevice::get_erase_count() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return _erase_count;
 | 
					    return _erase_count;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,8 +23,10 @@
 | 
				
			||||||
#define MBED_PROFILING_BLOCK_DEVICE_H
 | 
					#define MBED_PROFILING_BLOCK_DEVICE_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "BlockDevice.h"
 | 
					#include "BlockDevice.h"
 | 
				
			||||||
#include "mbed.h"
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					/** \addtogroup filesystem */
 | 
				
			||||||
 | 
					/** @{*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Block device for measuring storage operations of another block device
 | 
					/** Block device for measuring storage operations of another block device
 | 
				
			||||||
 *
 | 
					 *
 | 
				
			||||||
| 
						 | 
					@ -182,5 +184,7 @@ private:
 | 
				
			||||||
    bd_size_t _erase_count;
 | 
					    bd_size_t _erase_count;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** @}*/
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,8 +21,9 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "ReadOnlyBlockDevice.h"
 | 
					#include "ReadOnlyBlockDevice.h"
 | 
				
			||||||
#include "mbed_error.h"
 | 
					#include "platform/mbed_error.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
ReadOnlyBlockDevice::ReadOnlyBlockDevice(BlockDevice *bd)
 | 
					ReadOnlyBlockDevice::ReadOnlyBlockDevice(BlockDevice *bd)
 | 
				
			||||||
    : _bd(bd)
 | 
					    : _bd(bd)
 | 
				
			||||||
| 
						 | 
					@ -96,3 +97,5 @@ bd_size_t ReadOnlyBlockDevice::size() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return _bd->size();
 | 
					    return _bd->size();
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -25,6 +25,9 @@
 | 
				
			||||||
#include "BlockDevice.h"
 | 
					#include "BlockDevice.h"
 | 
				
			||||||
#include "PlatformMutex.h"
 | 
					#include "PlatformMutex.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					/** \addtogroup filesystem */
 | 
				
			||||||
 | 
					/** @{*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
class ReadOnlyBlockDevice : public BlockDevice
 | 
					class ReadOnlyBlockDevice : public BlockDevice
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					@ -133,6 +136,7 @@ private:
 | 
				
			||||||
    BlockDevice *_bd;
 | 
					    BlockDevice *_bd;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** @}*/
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -15,7 +15,9 @@
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "SlicingBlockDevice.h"
 | 
					#include "SlicingBlockDevice.h"
 | 
				
			||||||
 | 
					#include "platform/mbed_assert.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SlicingBlockDevice::SlicingBlockDevice(BlockDevice *bd, bd_addr_t start, bd_addr_t stop)
 | 
					SlicingBlockDevice::SlicingBlockDevice(BlockDevice *bd, bd_addr_t start, bd_addr_t stop)
 | 
				
			||||||
    : _bd(bd)
 | 
					    : _bd(bd)
 | 
				
			||||||
| 
						 | 
					@ -116,3 +118,5 @@ bd_size_t SlicingBlockDevice::size() const
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    return _stop - _start;
 | 
					    return _stop - _start;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -23,7 +23,10 @@
 | 
				
			||||||
#define MBED_SLICING_BLOCK_DEVICE_H
 | 
					#define MBED_SLICING_BLOCK_DEVICE_H
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "BlockDevice.h"
 | 
					#include "BlockDevice.h"
 | 
				
			||||||
#include "mbed.h"
 | 
					
 | 
				
			||||||
 | 
					namespace mbed {
 | 
				
			||||||
 | 
					/** \addtogroup filesystem */
 | 
				
			||||||
 | 
					/** @{*/
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/** Block device for mapping to a slice of another block device
 | 
					/** Block device for mapping to a slice of another block device
 | 
				
			||||||
| 
						 | 
					@ -167,5 +170,7 @@ protected:
 | 
				
			||||||
    bd_size_t _stop;
 | 
					    bd_size_t _stop;
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/** @}*/
 | 
				
			||||||
 | 
					} // namespace mbed
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -27,7 +27,10 @@
 | 
				
			||||||
#include "FATFileSystem.h"
 | 
					#include "FATFileSystem.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include <errno.h>
 | 
					#include <errno.h>
 | 
				
			||||||
 | 
					#include <stdlib.h>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
////// Error handling /////
 | 
					////// Error handling /////
 | 
				
			||||||
 | 
					using namespace mbed;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
static int fat_error_remap(FRESULT res)
 | 
					static int fat_error_remap(FRESULT res)
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,7 +29,6 @@
 | 
				
			||||||
#include <stdint.h>
 | 
					#include <stdint.h>
 | 
				
			||||||
#include "PlatformMutex.h"
 | 
					#include "PlatformMutex.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
 * FATFileSystem based on ChaN's Fat Filesystem library v0.8
 | 
					 * FATFileSystem based on ChaN's Fat Filesystem library v0.8
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
| 
						 | 
					@ -40,7 +39,7 @@ public:
 | 
				
			||||||
     *  @param name     Name to add filesystem to tree as
 | 
					     *  @param name     Name to add filesystem to tree as
 | 
				
			||||||
     *  @param bd       BlockDevice to mount, may be passed instead to mount call
 | 
					     *  @param bd       BlockDevice to mount, may be passed instead to mount call
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    FATFileSystem(const char *name = NULL, BlockDevice *bd = NULL);
 | 
					    FATFileSystem(const char *name = NULL, mbed::BlockDevice *bd = NULL);
 | 
				
			||||||
    virtual ~FATFileSystem();
 | 
					    virtual ~FATFileSystem();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /** Formats a logical drive, FDISK partitioning rule.
 | 
					    /** Formats a logical drive, FDISK partitioning rule.
 | 
				
			||||||
| 
						 | 
					@ -59,14 +58,14 @@ public:
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     *  @return         0 on success, negative error code on failure
 | 
					     *  @return         0 on success, negative error code on failure
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    static int format(BlockDevice *bd, bd_size_t cluster_size = 0);
 | 
					    static int format(mbed::BlockDevice *bd, mbed::bd_size_t cluster_size = 0);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /** Mounts a filesystem to a block device
 | 
					    /** Mounts a filesystem to a block device
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     *  @param bd       BlockDevice to mount to
 | 
					     *  @param bd       BlockDevice to mount to
 | 
				
			||||||
     *  @return         0 on success, negative error code on failure
 | 
					     *  @return         0 on success, negative error code on failure
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    virtual int mount(BlockDevice *bd);
 | 
					    virtual int mount(mbed::BlockDevice *bd);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /** Unmounts a filesystem from the underlying block device
 | 
					    /** Unmounts a filesystem from the underlying block device
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
| 
						 | 
					@ -91,7 +90,7 @@ public:
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     *  @return         0 on success, negative error code on failure
 | 
					     *  @return         0 on success, negative error code on failure
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    virtual int reformat(BlockDevice *bd, int allocation_unit);
 | 
					    virtual int reformat(mbed::BlockDevice *bd, int allocation_unit);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /** Reformats a filesystem, results in an empty and mounted filesystem
 | 
					    /** Reformats a filesystem, results in an empty and mounted filesystem
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
| 
						 | 
					@ -101,7 +100,7 @@ public:
 | 
				
			||||||
     *                  Default: NULL
 | 
					     *                  Default: NULL
 | 
				
			||||||
     *  @return         0 on success, negative error code on failure
 | 
					     *  @return         0 on success, negative error code on failure
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    virtual int reformat(BlockDevice *bd = NULL)
 | 
					    virtual int reformat(mbed::BlockDevice *bd = NULL)
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
        // required for virtual inheritance shenanigans
 | 
					        // required for virtual inheritance shenanigans
 | 
				
			||||||
        return reformat(bd, 0);
 | 
					        return reformat(bd, 0);
 | 
				
			||||||
| 
						 | 
					@ -267,7 +266,7 @@ private:
 | 
				
			||||||
protected:
 | 
					protected:
 | 
				
			||||||
    virtual void lock();
 | 
					    virtual void lock();
 | 
				
			||||||
    virtual void unlock();
 | 
					    virtual void unlock();
 | 
				
			||||||
    virtual int mount(BlockDevice *bd, bool mount);
 | 
					    virtual int mount(mbed::BlockDevice *bd, bool mount);
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#endif
 | 
					#endif
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -21,6 +21,7 @@ extern "C" {
 | 
				
			||||||
#include "lfs_util.h"
 | 
					#include "lfs_util.h"
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					using namespace mbed;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
////// Conversion functions //////
 | 
					////// Conversion functions //////
 | 
				
			||||||
static int lfs_toerror(int err)
 | 
					static int lfs_toerror(int err)
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -51,7 +51,7 @@ public:
 | 
				
			||||||
     *      The lookahead buffer requires only 1 bit per block so it can be quite
 | 
					     *      The lookahead buffer requires only 1 bit per block so it can be quite
 | 
				
			||||||
     *      large with little ram impact. Should be a multiple of 32.
 | 
					     *      large with little ram impact. Should be a multiple of 32.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    LittleFileSystem(const char *name=NULL, BlockDevice *bd=NULL,
 | 
					    LittleFileSystem(const char *name=NULL, mbed::BlockDevice *bd=NULL,
 | 
				
			||||||
            lfs_size_t read_size=MBED_LFS_READ_SIZE,
 | 
					            lfs_size_t read_size=MBED_LFS_READ_SIZE,
 | 
				
			||||||
            lfs_size_t prog_size=MBED_LFS_PROG_SIZE,
 | 
					            lfs_size_t prog_size=MBED_LFS_PROG_SIZE,
 | 
				
			||||||
            lfs_size_t block_size=MBED_LFS_BLOCK_SIZE,
 | 
					            lfs_size_t block_size=MBED_LFS_BLOCK_SIZE,
 | 
				
			||||||
| 
						 | 
					@ -81,7 +81,7 @@ public:
 | 
				
			||||||
     *      The lookahead buffer requires only 1 bit per block so it can be quite
 | 
					     *      The lookahead buffer requires only 1 bit per block so it can be quite
 | 
				
			||||||
     *      large with little ram impact. Should be a multiple of 32.
 | 
					     *      large with little ram impact. Should be a multiple of 32.
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    static int format(BlockDevice *bd,
 | 
					    static int format(mbed::BlockDevice *bd,
 | 
				
			||||||
        lfs_size_t read_size=MBED_LFS_READ_SIZE,
 | 
					        lfs_size_t read_size=MBED_LFS_READ_SIZE,
 | 
				
			||||||
        lfs_size_t prog_size=MBED_LFS_PROG_SIZE,
 | 
					        lfs_size_t prog_size=MBED_LFS_PROG_SIZE,
 | 
				
			||||||
        lfs_size_t block_size=MBED_LFS_BLOCK_SIZE,
 | 
					        lfs_size_t block_size=MBED_LFS_BLOCK_SIZE,
 | 
				
			||||||
| 
						 | 
					@ -92,7 +92,7 @@ public:
 | 
				
			||||||
     *  @param bd       BlockDevice to mount to
 | 
					     *  @param bd       BlockDevice to mount to
 | 
				
			||||||
     *  @return         0 on success, negative error code on failure
 | 
					     *  @return         0 on success, negative error code on failure
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    virtual int mount(BlockDevice *bd);
 | 
					    virtual int mount(mbed::BlockDevice *bd);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /** Unmounts a filesystem from the underlying block device
 | 
					    /** Unmounts a filesystem from the underlying block device
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
| 
						 | 
					@ -110,7 +110,7 @@ public:
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
     *  @return         0 on success, negative error code on failure
 | 
					     *  @return         0 on success, negative error code on failure
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    virtual int reformat(BlockDevice *bd);
 | 
					    virtual int reformat(mbed::BlockDevice *bd);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /** Remove a file from the filesystem.
 | 
					    /** Remove a file from the filesystem.
 | 
				
			||||||
     *
 | 
					     *
 | 
				
			||||||
| 
						 | 
					@ -267,7 +267,7 @@ protected:
 | 
				
			||||||
private:
 | 
					private:
 | 
				
			||||||
    lfs_t _lfs; // _the actual filesystem
 | 
					    lfs_t _lfs; // _the actual filesystem
 | 
				
			||||||
    struct lfs_config _config;
 | 
					    struct lfs_config _config;
 | 
				
			||||||
    BlockDevice *_bd; // the block device
 | 
					    mbed::BlockDevice *_bd; // the block device
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    // default parameters
 | 
					    // default parameters
 | 
				
			||||||
    const lfs_size_t _read_size;
 | 
					    const lfs_size_t _read_size;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -29,7 +29,6 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// BlockDevice classes
 | 
					// BlockDevice classes
 | 
				
			||||||
#include "bd/BlockDevice.h"
 | 
					#include "bd/BlockDevice.h"
 | 
				
			||||||
#include "bd/BlockDevice.h"
 | 
					 | 
				
			||||||
#include "bd/ChainingBlockDevice.h"
 | 
					#include "bd/ChainingBlockDevice.h"
 | 
				
			||||||
#include "bd/SlicingBlockDevice.h"
 | 
					#include "bd/SlicingBlockDevice.h"
 | 
				
			||||||
#include "bd/HeapBlockDevice.h"
 | 
					#include "bd/HeapBlockDevice.h"
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue