84 #ifndef FLASH_INTERFACE 85 #define FLASH_INTERFACE 99 #include <ti/devices/DeviceFamily.h> 100 #include DeviceFamily_constructPath(driverlib/flash.h) 109 #define FLASH_SUCCESS 0x00 114 #define FLASH_FAILURE 0xFF 119 #define SPI_MAX_READ_SZ 1024 124 #if defined(CC26XX_R2) 125 #define FLASH_ADDRESS(page, offset) (((page) << 12) + (offset)) 126 #define FLASH_PAGE(addr) (addr >> 12) 127 #define INTFLASH_PAGE_MASK 0xFFFFF000 128 #define INTFLASH_PAGE_SIZE 0x1000 129 #define MAX_ONCHIP_FLASH_PAGES 32 130 #define MAX_OFFCHIP_METADATA_PAGES MAX_ONCHIP_FLASH_PAGES 131 #elif defined(DeviceFamily_CC26X2) || defined(DeviceFamily_CC13X2) || defined(DeviceFamily_CC26X2X7) || \ 132 defined(DeviceFamily_CC13X2X7) || defined(DeviceFamily_CC26X1) || defined(DeviceFamily_CC13X1) 133 #define FLASH_ADDRESS(page, offset) (((page) << 13) + (offset)) 134 #define FLASH_PAGE(addr) (addr >> 13) 135 #define INTFLASH_PAGE_MASK 0xFFFFE000 136 #define INTFLASH_PAGE_SIZE 0x2000 137 #if defined(DeviceFamily_CC26X2X7) || defined(DeviceFamily_CC13X2X7) 138 #define MAX_ONCHIP_FLASH_PAGES 88 140 #define MAX_ONCHIP_FLASH_PAGES 44 142 #define MAX_OFFCHIP_METADATA_PAGES MAX_ONCHIP_FLASH_PAGES 143 #elif defined(DeviceFamily_CC13X4) || defined(DeviceFamily_CC26X4) || defined(DeviceFamily_CC26X3) || \ 144 defined(DeviceFamily_CC23X0R5) || defined(DeviceFamily_CC23X0R53) || defined(DeviceFamily_CC23X0R2) || \ 145 defined(DeviceFamily_CC23X0R22) || defined(DeviceFamily_ID_CC27XX) 146 #define FLASH_ADDRESS(page, offset) (((page) << 11) + (offset)) 147 #define FLASH_PAGE(addr) (addr >> 11) 148 #define INTFLASH_PAGE_MASK 0xFFFFF800 149 #define INTFLASH_PAGE_SIZE 0x800 150 #if defined(DeviceFamily_CC23X0R5) || defined(DeviceFamily_CC23X0R53) 151 #define MAX_ONCHIP_FLASH_PAGES 256 152 #elif defined(DeviceFamily_CC23X0R2) || defined(DeviceFamily_CC23X0R22) 153 #define MAX_ONCHIP_FLASH_PAGES 128 155 #define MAX_ONCHIP_FLASH_PAGES 512 157 #define MAX_OFFCHIP_METADATA_PAGES MAX_ONCHIP_FLASH_PAGES 171 #define EXT_FLASH_ADDRESS(page, offset) (((page) << 12) + (offset)) 177 #define EXT_FLASH_PAGE(addr) (addr >> 12) 182 #define EXTFLASH_PAGE_MASK 0xFFFFF000 187 #define EFL_PAGE_SIZE 0x1000 192 #define EFL_FLASH_SIZE 0x100000 230 extern uint8_t
readFlash(uint_least32_t addr, uint8_t *pBuf,
size_t len);
243 extern uint8_t
readFlashPg(uint8_t page, uint32_t offset, uint8_t *pBuf, uint16_t
len);
255 extern uint8_t
writeFlash(uint_least32_t addr, uint8_t *pBuf,
size_t len);
268 extern uint8_t
writeFlashPg(uint8_t page, uint32_t offset, uint8_t *pBuf, uint16_t
len);
uint8_t eraseFlashPg(uint8_t page)
uint8_t eraseFlash(uint8_t page)
uint8_t writeFlash(uint_least32_t addr, uint8_t *pBuf, size_t len)
uint8_t readFlash(uint_least32_t addr, uint8_t *pBuf, size_t len)
uint8_t readFlashPg(uint8_t page, uint32_t offset, uint8_t *pBuf, uint16_t len)
uint8_t writeFlashPg(uint8_t page, uint32_t offset, uint8_t *pBuf, uint16_t len)
bool hasExternalFlash(void)