libxr  1.0
Want to be the best embedded framework
Loading...
Searching...
No Matches
flash.hpp
1#pragma once
2
3#include <cstdint>
4#include <cstring>
5
6#include "libxr_def.hpp"
7#include "libxr_rw.hpp"
8#include "libxr_type.hpp"
9
10namespace LibXR
11{
12
18class Flash
19{
20 public:
30 Flash(size_t min_erase_size, size_t min_write_size, RawData flash_area);
31
38 virtual ErrorCode Erase(size_t offset, size_t size) = 0;
39
46 virtual ErrorCode Write(size_t offset, ConstRawData data) = 0;
47
55 virtual ErrorCode Read(size_t offset, RawData data);
56
64 size_t MinEraseSize() const { return min_erase_size_; }
65
73 size_t MinWriteSize() const { return min_write_size_; }
74
82 size_t Size() const { return flash_area_.size_; }
83
84 private:
86 0;
88 0;
91};
92
93} // namespace LibXR
常量原始数据封装类。 A class for encapsulating constant raw data.
Abstract base class representing a flash memory interface. 抽象基类,表示闪存接口。
Definition flash.hpp:19
size_t min_write_size_
Minimum writable block size in bytes. 最小可写块大小(字节)。
Definition flash.hpp:87
Flash(size_t min_erase_size, size_t min_write_size, RawData flash_area)
Constructs a Flash object with specified properties. 构造函数,初始化闪存属性。
Definition flash.cpp:5
size_t Size() const
Returns the size of the flash memory area. 获取闪存存储区域的大小。
Definition flash.hpp:82
size_t MinWriteSize() const
Returns the minimum writable block size in bytes. 获取最小可写块大小(字节)。
Definition flash.hpp:73
virtual ErrorCode Erase(size_t offset, size_t size)=0
Erases a section of the flash memory. 擦除闪存的指定区域。
size_t min_erase_size_
Minimum erasable block size in bytes. 最小可擦除块大小(字节)。
Definition flash.hpp:85
virtual ErrorCode Write(size_t offset, ConstRawData data)=0
Writes data to the flash memory. 向闪存写入数据。
virtual ErrorCode Read(size_t offset, RawData data)
Reads data from the flash memory. 从闪存中读取数据。
Definition flash.cpp:12
size_t MinEraseSize() const
Returns the minimum erasable block size in bytes. 获取最小可擦除块大小(字节)。
Definition flash.hpp:64
RawData flash_area_
Definition flash.hpp:89
原始数据封装类。 A class for encapsulating raw data.
size_t size_
数据大小(字节)。 The size of the data (in bytes).
LibXR 命名空间
Definition ch32_gpio.hpp:9