libxr
Embedded C++ framework for bare-metal, RTOS and Linux
Loading...
Searching...
No Matches
flash.cpp
1#include "flash.hpp"
2
3#include "libxr_mem.hpp"
4
5using namespace LibXR;
6
7Flash::Flash(size_t min_erase_size, size_t min_write_size, RawData flash_area)
8 : min_erase_size_(min_erase_size),
9 min_write_size_(min_write_size),
10 flash_area_(flash_area)
11{
12}
13
14ErrorCode Flash::Read(size_t offset, RawData data)
15{
16 ASSERT(offset + data.size_ <= flash_area_.size_);
18 reinterpret_cast<const uint8_t*>(flash_area_.addr_) + offset,
19 data.size_);
20
21 return ErrorCode::OK;
22}
Flash(size_t min_erase_size, size_t min_write_size, RawData flash_area)
构造函数,初始化闪存属性。 Constructs a Flash object with specified properties.
Definition flash.cpp:7
virtual ErrorCode Read(size_t offset, RawData data)
从闪存中读取数据 / Reads data from the flash memory.
Definition flash.cpp:14
static void FastCopy(void *dst, const void *src, size_t size)
快速内存拷贝 / Fast memory copy
可写原始数据视图 / Mutable raw data view
size_t size_
数据字节数 / Data size in bytes
void * addr_
数据起始地址 / Data start address
LibXR 命名空间 / LibXR namespace.
Definition ch32_can.hpp:14
ErrorCode
定义错误码枚举 / Defines an enumeration for error codes
@ OK
操作成功 / Operation successful