1 /* 2 * Copyright (c) 2013 Heather Lee Wilson 3 * 4 * Use of this source code is governed by a MIT-style 5 * license that can be found in the LICENSE file or at 6 * https://opensource.org/licenses/MIT 7 */ 8 #pragma once 9 10 #include <platform/flash_nor_config.h> 11 12 #define NORFS_NUM_BLOCKS 8 13 #define NORFS_BLOCK_HEADER_SIZE 8 14 #define NORFS_NVRAM_SIZE (FLASH_PAGE_SIZE * NORFS_NUM_BLOCKS) 15 #define NORFS_MAX_OBJ_LEN (FLASH_PAGE_SIZE/2 - NORFS_OBJ_OFFSET) 16 #define NORFS_BANK 0 17 18 #define NORFS_FLASH_SIZE(obj_size) (uint16_t)(obj_size + NORFS_OBJ_OFFSET) 19 20 #define NORFS_AVAILABLE_SPACE ((NORFS_NVRAM_SIZE - NORFS_NUM_BLOCKS * NORFS_BLOCK_HEADER_SIZE) / 2) 21 #define NORFS_MIN_FREE_BLOCKS 1 22 23 #define NORFS_KEY_OFFSET 0 24 #define NORFS_VERSION_OFFSET 4 25 #define NORFS_LENGTH_OFFSET 6 26 #define NORFS_FLAGS_OFFSET 8 27 #define NORFS_CHECKSUM_OFFSET 10 28 #define NORFS_OBJ_OFFSET 12 29 30 #define NORFS_DELETED_MASK 1 31 32