mirror of
https://github.com/RfidResearchGroup/proxmark3.git
synced 2025-08-14 18:48:13 -07:00
spiffs prep
added define for chuck size update changelog
This commit is contained in:
parent
96876c0111
commit
9406ef9fd3
3 changed files with 18 additions and 14 deletions
|
@ -433,26 +433,26 @@ int rdv40_spiffs_lazy_mount_rollback(int changed) {
|
|||
// statement or some function taking function parameters
|
||||
// TODO : forbid writing to a filename which already exists as lnk !
|
||||
// TODO : forbid writing to a filename.lnk which already exists without lnk !
|
||||
// Note: Writing in 8192 byte chucks helps to ensure "free space" has been erased by GC (Garbage collection)
|
||||
// Note: Writing in SPIFFS_WRITE_CHUNK_SIZE (8192) byte chucks helps to ensure "free space" has been erased by GC (Garbage collection)
|
||||
int rdv40_spiffs_write(const char *filename, uint8_t *src, uint32_t size, RDV40SpiFFSSafetyLevel level) {
|
||||
RDV40_SPIFFS_SAFE_FUNCTION(
|
||||
uint32_t idx;
|
||||
if (size <= 8192) {
|
||||
if (size <= SPIFFS_WRITE_CHUNK_SIZE) {
|
||||
// write small file
|
||||
write_to_spiffs(filename, src, size);
|
||||
size = 0;
|
||||
} else { //
|
||||
// write first 8192 bytes
|
||||
// write first SPIFFS_WRITE_CHUNK_SIZE bytes
|
||||
// need to write the first chuck of data, then append
|
||||
write_to_spiffs(filename, src, 8192);
|
||||
write_to_spiffs(filename, src, SPIFFS_WRITE_CHUNK_SIZE);
|
||||
}
|
||||
// append remaing 8192 byte chuncks
|
||||
for (idx = 1; idx < (size / 8192); idx++) {
|
||||
append_to_spiffs(filename, &src[8192 * idx], 8192);
|
||||
// append remaing SPIFFS_WRITE_CHUNK_SIZE byte chuncks
|
||||
for (idx = 1; idx < (size / SPIFFS_WRITE_CHUNK_SIZE); idx++) {
|
||||
append_to_spiffs(filename, &src[SPIFFS_WRITE_CHUNK_SIZE * idx], SPIFFS_WRITE_CHUNK_SIZE);
|
||||
}
|
||||
// append remaing bytes
|
||||
if (((int64_t)size - (8192 * idx)) > 0) {
|
||||
append_to_spiffs(filename, &src[8192 * idx], size - (8192 * idx));
|
||||
if (((int64_t)size - (SPIFFS_WRITE_CHUNK_SIZE * idx)) > 0) {
|
||||
append_to_spiffs(filename, &src[SPIFFS_WRITE_CHUNK_SIZE * idx], size - (SPIFFS_WRITE_CHUNK_SIZE * idx));
|
||||
}
|
||||
)
|
||||
}
|
||||
|
@ -460,13 +460,13 @@ int rdv40_spiffs_write(const char *filename, uint8_t *src, uint32_t size, RDV40S
|
|||
int rdv40_spiffs_append(const char *filename, uint8_t *src, uint32_t size, RDV40SpiFFSSafetyLevel level) {
|
||||
RDV40_SPIFFS_SAFE_FUNCTION(
|
||||
uint32_t idx;
|
||||
// Append any 8192 byte chunks
|
||||
for (idx = 0; idx < (size/8192); idx++) {
|
||||
append_to_spiffs(filename, &src[8192 * idx], 8192);
|
||||
// Append any SPIFFS_WRITE_CHUNK_SIZE byte chunks
|
||||
for (idx = 0; idx < (size/SPIFFS_WRITE_CHUNK_SIZE); idx++) {
|
||||
append_to_spiffs(filename, &src[SPIFFS_WRITE_CHUNK_SIZE * idx], SPIFFS_WRITE_CHUNK_SIZE);
|
||||
}
|
||||
// Append remain bytes
|
||||
if (((int64_t)size - (8192 * idx)) > 0) {
|
||||
append_to_spiffs(filename, &src[8192 * idx], size - (8192 * idx));
|
||||
if (((int64_t)size - (SPIFFS_WRITE_CHUNK_SIZE * idx)) > 0) {
|
||||
append_to_spiffs(filename, &src[SPIFFS_WRITE_CHUNK_SIZE * idx], size - (SPIFFS_WRITE_CHUNK_SIZE * idx));
|
||||
}
|
||||
)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue