MAX3267X LittleFS demo
flash.h
Go to the documentation of this file.
1 /*******************************************************************************
2 * Copyright (C) Maxim Integrated Products, Inc., All Rights Reserved.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the
9 * Software is furnished to do so, subject to the following conditions:
10 *
11 * The above copyright notice and this permission notice shall be included
12 * in all copies or substantial portions of the Software.
13 *
14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
17 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
18 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
20 * OTHER DEALINGS IN THE SOFTWARE.
21 *
22 * Except as contained in this notice, the name of Maxim Integrated
23 * Products, Inc. shall not be used except as stated in the Maxim Integrated
24 * Products, Inc. Branding Policy.
25 *
26 * The mere transfer of this software does not imply any licenses
27 * of trade secrets, proprietary technology, copyrights, patents,
28 * trademarks, maskwork rights, or any other form of intellectual
29 * property whatsoever. Maxim Integrated Products, Inc. retains all
30 * ownership rights.
31 *
32 ******************************************************************************/
33 
40 #ifndef FLASH_H_
41 #define FLASH_H_
42 
43 // Flash operations log
44 //#define FLASH_DEBUG
45 #ifdef FLASH_DEBUG
46 #define LOGF(...) printf(__VA_ARGS__)
47 #else
48 #define LOGF(...)
49 #endif
50 
51 #include <stdint.h>
52 #include <stdbool.h>
53 
54 #include "littlefs/lfs.h"
55 
66 int flash_read(const struct lfs_config *c, lfs_block_t block,
67  lfs_off_t off, void *buffer, lfs_size_t size);
68 
79 int flash_write(const struct lfs_config *c, lfs_block_t block,
80  lfs_off_t off, const void *buffer, lfs_size_t size);
81 
89 int flash_erase(const struct lfs_config *c, lfs_block_t block);
90 
97 int flash_sync(const struct lfs_config *c);
98 
106 int flash_verify(uint32_t address, uint32_t length, uint8_t* data);
107 
115 int check_mem(uint32_t startaddr, uint32_t length, uint32_t data);
116 
123 int check_erased(uint32_t startaddr, uint32_t length);
124 
133 int flash_write4(uint32_t startaddr, uint32_t length, uint32_t *data, bool verify);
134 
135 #endif /* FLASH_H_ */
flash_verify
int flash_verify(uint32_t address, uint32_t length, uint8_t *data)
Verifies data in flash.
Definition: flash.c:92
flash_erase
int flash_erase(const struct lfs_config *c, lfs_block_t block)
Erases flash memory block.
Definition: flash.c:72
lfs_off_t
uint32_t lfs_off_t
Definition: lfs.h:41
check_mem
int check_mem(uint32_t startaddr, uint32_t length, uint32_t data)
Compares data in flash with value specified.
Definition: flash.c:109
lfs_config
Definition: lfs.h:157
lfs_size_t
uint32_t lfs_size_t
Definitions ///.
Definition: lfs.h:40
flash_read
int flash_read(const struct lfs_config *c, lfs_block_t block, lfs_off_t off, void *buffer, lfs_size_t size)
Reads flash memory.
Definition: flash.c:50
flash_write
int flash_write(const struct lfs_config *c, lfs_block_t block, lfs_off_t off, const void *buffer, lfs_size_t size)
Writes flash memory.
Definition: flash.c:62
flash_write4
int flash_write4(uint32_t startaddr, uint32_t length, uint32_t *data, bool verify)
Writes 32bit data words to flash.
Definition: flash.c:131
flash_sync
int flash_sync(const struct lfs_config *c)
Performs pending flash operations.
Definition: flash.c:85
lfs_block_t
uint32_t lfs_block_t
Definition: lfs.h:46
lfs.h
check_erased
int check_erased(uint32_t startaddr, uint32_t length)
Checks whether flash memory is erased.
Definition: flash.c:125