19 #ifndef PSTORAGE_PL_H__ 20 #define PSTORAGE_PL_H__ 25 static __INLINE uint16_t pstorage_flash_page_size()
27 return (uint16_t)NRF_FICR->CODEPAGESIZE;
30 #define PSTORAGE_FLASH_PAGE_SIZE pstorage_flash_page_size() 31 #define PSTORAGE_FLASH_EMPTY_MASK 0xFFFFFFFF 34 #define BOOTLOADER_ADDRESS (NRF_UICR->BOOTLOADERADDR) 36 #define BOOTLOADER_ADDRESS (PSTORAGE_FLASH_EMPTY_MASK) 39 #define PSTORAGE_FLASH_PAGE_END \ 40 ((BOOTLOADER_ADDRESS != PSTORAGE_FLASH_EMPTY_MASK) \ 41 ? (BOOTLOADER_ADDRESS / PSTORAGE_FLASH_PAGE_SIZE) \ 45 #define PSTORAGE_NUM_OF_PAGES 2 46 #define PSTORAGE_MIN_BLOCK_SIZE 0x0010 48 #define PSTORAGE_DATA_START_ADDR ((PSTORAGE_FLASH_PAGE_END - PSTORAGE_NUM_OF_PAGES - 1) \ 49 * PSTORAGE_FLASH_PAGE_SIZE) 50 #define PSTORAGE_DATA_END_ADDR ((PSTORAGE_FLASH_PAGE_END - 1) * PSTORAGE_FLASH_PAGE_SIZE) 51 #define PSTORAGE_SWAP_ADDR PSTORAGE_DATA_END_ADDR 53 #define PSTORAGE_MAX_BLOCK_SIZE PSTORAGE_FLASH_PAGE_SIZE 54 #define PSTORAGE_CMD_QUEUE_SIZE 30 58 typedef uint32_t pstorage_block_t;
63 pstorage_block_t block_id;
66 typedef uint16_t pstorage_size_t;
69 void pstorage_sys_event_handler (uint32_t sys_evt);
71 #endif // PSTORAGE_PL_H__