51 #ifndef ti_dl_dl_flashctl__include 52 #define ti_dl_dl_flashctl__include 57 #include <ti/devices/msp/msp.h> 70 #define FLASHCTL_BANK0_ADDRESS (0x00000000) 75 #define FLASHCTL_MAIN_ADDRESS (0x00000000) 80 #define FLASHCTL_NONMAIN_ADDRESS (0x41c00000) 85 #define NUMBER_OF_NONMAIN_SECTORS (1) 90 #define DL_FLASHCTL_PROGRAM_8_WITHOUT_ECC (0x00000001) 95 #define DL_FLASHCTL_PROGRAM_16_WITHOUT_ECC (0x00000003) 100 #define DL_FLASHCTL_PROGRAM_32_WITHOUT_ECC (0x0000000F) 105 #define DL_FLASHCTL_PROGRAM_64_WITHOUT_ECC (0x000000FF) 110 #define DL_FLASHCTL_PROGRAM_8_WITH_ECC (0x00000101) 115 #define DL_FLASHCTL_PROGRAM_16_WITH_ECC (0x00000103) 120 #define DL_FLASHCTL_PROGRAM_32_WITH_ECC (0x0000010F) 125 #define DL_FLASHCTL_PROGRAM_64_WITH_ECC (0x000001FF) 130 #define DL_FLASHCTL_READ_VERIFY_8_WITHOUT_ECC (0x00000001) 135 #define DL_FLASHCTL_READ_VERIFY_16_WITHOUT_ECC (0x00000003) 140 #define DL_FLASHCTL_READ_VERIFY_32_WITHOUT_ECC (0x0000000F) 145 #define DL_FLASHCTL_READ_VERIFY_64_WITHOUT_ECC (0x000000FF) 150 #define DL_FLASHCTL_READ_VERIFY_8_WITH_ECC (0x00000101) 155 #define DL_FLASHCTL_READ_VERIFY_16_WITH_ECC (0x00000103) 160 #define DL_FLASHCTL_READ_VERIFY_32_WITH_ECC (0x0000010F) 165 #define DL_FLASHCTL_READ_VERIFY_64_WITH_ECC (0x000001FF) 173 #define DL_FLASHCTL_INTERRUPT_DONE (FLASHCTL_MIS_DONE_SET) 182 #define DL_FLASHCTL_COMMAND_TYPE_NO_OPERATION (FLASHCTL_CMDTYPE_COMMAND_NOOP) 187 #define DL_FLASHCTL_COMMAND_TYPE_PROGRAM (FLASHCTL_CMDTYPE_COMMAND_PROGRAM) 192 #define DL_FLASHCTL_COMMAND_TYPE_ERASE (FLASHCTL_CMDTYPE_COMMAND_ERASE) 197 #define DL_FLASHCTL_COMMAND_TYPE_READ_VERIFY \ 198 (FLASHCTL_CMDTYPE_COMMAND_READVERIFY) 203 #define DL_FLASHCTL_COMMAND_TYPE_BLANK_VERIFY \ 204 (FLASHCTL_CMDTYPE_COMMAND_BLANKVERIFY) 209 #define DL_FLASHCTL_COMMAND_TYPE_MODE_CHANGE \ 210 (FLASHCTL_CMDTYPE_COMMAND_MODECHANGE) 215 #define DL_FLASHCTL_COMMAND_TYPE_CLEAR_STATUS \ 216 (FLASHCTL_CMDTYPE_COMMAND_CLEARSTATUS) 267 (FLASHCTL_STATCMD_FAILWEPROT_STATFAIL),
272 FLASHCTL_STATCMD_FAILILLADDR_STATFAIL,
283 FLASHCTL_STATCMD_CMDPASS_STATPASS),
286 FLASHCTL_STATCMD_CMDPASS_STATFAIL),
289 (FLASHCTL_STATCMD_CMDINPROGRESS_STATINPROGRESS)
307 flashctl->GEN.IMASK = FLASHCTL_IMASK_DONE_ENABLED;
318 flashctl->GEN.IMASK = FLASHCTL_IMASK_DONE_DISABLED;
333 return (flashctl->GEN.IMASK == FLASHCTL_IMASK_DONE_ENABLED);
349 FLASHCTL_Regs *flashctl)
351 return (flashctl->GEN.MIS);
368 FLASHCTL_Regs *flashctl)
370 return (flashctl->GEN.RIS);
385 FLASHCTL_Regs *flashctl)
387 return (flashctl->GEN.IIDX);
397 flashctl->GEN.ICLR = FLASHCTL_ICLR_DONE_CLR;
410 return (flashctl->GEN.CMDEXEC == FLASHCTL_CMDEXEC_VAL_EXECUTE);
421 flashctl->GEN.CMDEXEC = FLASHCTL_CMDEXEC_VAL_EXECUTE;
433 flashctl->GEN.CMDCTL |= FLASHCTL_CMDCTL_SSERASEDIS_DISABLE;
445 FLASHCTL_Regs *flashctl)
447 return ((flashctl->GEN.CMDCTL & FLASHCTL_CMDCTL_SSERASEDIS_MASK) ==
448 FLASHCTL_CMDCTL_SSERASEDIS_DISABLE);
462 flashctl->GEN.CMDCTL &= ~(FLASHCTL_CMDCTL_SSERASEDIS_MASK);
480 FLASHCTL_Regs *flashctl)
482 flashctl->GEN.CMDCTL |= FLASHCTL_CMDCTL_ADDRXLATEOVR_OVERRIDE;
493 FLASHCTL_Regs *flashctl)
495 return ((flashctl->GEN.CMDCTL & FLASHCTL_CMDCTL_ADDRXLATEOVR_MASK) ==
496 FLASHCTL_CMDCTL_ADDRXLATEOVR_OVERRIDE);
507 FLASHCTL_Regs *flashctl)
509 flashctl->GEN.CMDCTL &= ~(FLASHCTL_CMDCTL_ADDRXLATEOVR_MASK);
524 FLASHCTL_Regs *flashctl)
526 flashctl->GEN.CMDCTL |= FLASHCTL_CMDCTL_ECCGENOVR_OVERRIDE;
537 FLASHCTL_Regs *flashctl)
539 return ((flashctl->GEN.CMDCTL & FLASHCTL_CMDCTL_ECCGENOVR_MASK) ==
540 FLASHCTL_CMDCTL_ECCGENOVR_OVERRIDE);
552 FLASHCTL_Regs *flashctl)
554 flashctl->GEN.CMDCTL &= ~(FLASHCTL_CMDCTL_ECCGENOVR_MASK);
569 FLASHCTL_Regs *flashctl, DL_FLASHCTL_REGION_SELECT region)
572 (uint32_t) FLASHCTL_CMDCTL_REGIONSEL_MASK);
585 FLASHCTL_Regs *flashctl)
587 uint32_t region = flashctl->GEN.CMDCTL & FLASHCTL_CMDCTL_REGIONSEL_MASK;
589 return (DL_FLASHCTL_REGION_SELECT)(region);
607 FLASHCTL_Regs *flashctl, DL_FLASHCTL_BANK_SELECT bank)
610 (uint32_t) FLASHCTL_CMDCTL_BANKSEL_MASK);
626 FLASHCTL_Regs *flashctl)
628 uint32_t bank = flashctl->GEN.CMDCTL & FLASHCTL_CMDCTL_BANKSEL_MASK;
630 return (DL_FLASHCTL_BANK_SELECT)(bank);
663 FLASHCTL_Regs *flashctl, uint32_t byteMask)
665 flashctl->GEN.CMDBYTEN = byteMask;
683 FLASHCTL_Regs *flashctl)
685 return ((uint32_t) flashctl->GEN.CMDCTL &
686 (uint32_t)(FLASHCTL_CMDBYTEN_VAL_MASK));
714 FLASHCTL_Regs *flashctl, uint8_t index, uint32_t *data)
716 volatile uint32_t *pReg = &(flashctl->GEN.CMDDATA0) + index;
741 FLASHCTL_Regs *flashctl, uint8_t index)
743 volatile uint32_t *pReg = &(flashctl->GEN.CMDDATA0);
746 (uint32_t)(*(pReg + index) & (uint32_t) FLASHCTL_CMDDATA0_VAL_MASK));
771 FLASHCTL_Regs *flashctl, uint8_t index, uint8_t *data)
773 volatile uint32_t *pReg = &(flashctl->GEN.CMDDATAECC0) + index;
795 FLASHCTL_Regs *flashctl, uint8_t index)
797 volatile uint32_t *pReg = &(flashctl->GEN.CMDDATAECC0);
800 *(pReg + index) & (uint32_t) FLASHCTL_CMDDATAECC0_VAL0_MASK));
824 FLASHCTL_Regs *flashctl, uint32_t address)
826 flashctl->GEN.CMDADDR = address;
842 FLASHCTL_Regs *flashctl)
844 uint32_t commandStatus =
845 flashctl->GEN.STATCMD &
846 (FLASHCTL_STATCMD_CMDDONE_MASK | FLASHCTL_STATCMD_CMDPASS_MASK |
847 FLASHCTL_STATCMD_CMDINPROGRESS_MASK |
848 FLASHCTL_STATCMD_CMDPASS_STATFAIL);
863 FLASHCTL_Regs *flashctl)
865 uint32_t commandFailureType =
866 flashctl->GEN.STATCMD &
867 (FLASHCTL_STATCMD_FAILWEPROT_MASK | FLASHCTL_STATCMD_FAILVERIFY_MASK |
868 FLASHCTL_STATCMD_FAILILLADDR_MASK |
869 FLASHCTL_STATCMD_FAILMODE_MASK | FLASHCTL_STATCMD_FAILMISC_MASK);
887 while ((flashctl->GEN.STATCMD & FLASHCTL_STATCMD_CMDDONE_MASK) !=
888 FLASHCTL_STATCMD_CMDDONE_STATDONE) {
892 return ((flashctl->GEN.STATCMD & FLASHCTL_STATCMD_CMDPASS_MASK) ==
893 FLASHCTL_STATCMD_CMDPASS_STATPASS);
911 FLASHCTL_Regs *flashctl, uint32_t addr)
913 return (addr >> (uint32_t) 10);
932 FLASHCTL_Regs *flashctl, uint32_t addr)
936 uint32_t sector, bankFlashSize, sectorInBank;
941 bankFlashSize = mainFlashSize / numBanks;
943 sectorInBank = sector & (bankFlashSize - (uint32_t) 1);
964 FLASHCTL_Regs *flashctl, uint32_t waitState)
966 flashctl->GEN.CFGCMD = waitState;
978 return (flashctl->GEN.CFGCMD & FLASHCTL_CFGCMD_WAITSTATE_MASK);
1005 DL_FLASHCTL_COMMAND_SIZE memorySize);
1039 FLASHCTL_Regs *flashctl, uint32_t address,
1040 DL_FLASHCTL_COMMAND_SIZE memorySize);
1084 FLASHCTL_Regs *flashctl);
1149 FLASHCTL_Regs *flashctl);
1201 FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data);
1240 FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data);
1261 FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data);
1290 FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data);
1311 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
1340 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
1361 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
1390 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
1418 FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data);
1454 FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data);
1482 FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data);
1518 FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data);
1546 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
1582 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
1610 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
1646 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
1680 uint32_t address, uint8_t *data, uint8_t *eccCode);
1722 FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data,
1757 uint32_t address, uint16_t *data, uint8_t *eccCode);
1799 FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data,
1834 uint32_t address, uint32_t *data, uint8_t *eccCode);
1876 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data,
1911 uint32_t address, uint32_t *data, uint8_t *eccCode);
1953 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data,
1990 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data,
1991 uint32_t dataSize, DL_FLASHCTL_REGION_SELECT regionSelect);
2031 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data,
2032 uint32_t dataSize, DL_FLASHCTL_REGION_SELECT regionSelect);
2074 uint32_t address, uint32_t *data, uint8_t *eccCode, uint32_t dataSize,
2075 DL_FLASHCTL_REGION_SELECT regionSelect);
2121 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data,
2122 uint8_t *eccCode, uint32_t dataSize,
2123 DL_FLASHCTL_REGION_SELECT regionSelect);
2156 uint32_t address, uint32_t *data, uint32_t dataSize,
2157 DL_FLASHCTL_REGION_SELECT regionSelect);
2193 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data,
2194 uint32_t dataSize, DL_FLASHCTL_REGION_SELECT regionSelect);
2247 DL_FLASHCTL_REGION_SELECT regionSelect);
2258 DL_FLASHCTL_REGION_SELECT regionSelect);
2271 FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data);
2293 FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data);
2306 FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data);
2328 FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data);
2341 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
2363 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
2376 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
2398 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
2418 FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data);
2445 FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data);
2465 FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data);
2492 FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data);
2512 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
2539 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
2559 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
2586 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data);
2613 uint32_t address, uint8_t *data, uint8_t *eccCode);
2647 FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data,
2675 uint32_t address, uint16_t *data, uint8_t *eccCode);
2709 FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data,
2737 uint32_t address, uint32_t *data, uint8_t *eccCode);
2771 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data,
2799 uint32_t address, uint32_t *data, uint8_t *eccCode);
2833 FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data,
2901 FLASHCTL_Regs *flashctl, uint32_t address);
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_eraseMemoryFromRAM(FLASHCTL_Regs *flashctl, uint32_t address, DL_FLASHCTL_COMMAND_SIZE memorySize)
Performs an erase on unprotected memory, and executes command from RAM.
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryBlockingFromRAM64WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint32_t dataSize, DL_FLASHCTL_REGION_SELECT regionSelect)
Programs provided data with hardware generated ECC code, and executes command from RAM...
__STATIC_INLINE uint32_t DL_FlashCTL_getFlashSectorNumber(FLASHCTL_Regs *flashctl, uint32_t addr)
Gets the sector number of the input address over the whole memory map.
Definition: dl_flashctl.h:910
void DL_FlashCTL_readVerify32(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Verifies 32-bit data in specified address.
__STATIC_INLINE void DL_FlashCTL_setCommandAddress(FLASHCTL_Regs *flashctl, uint32_t address)
Sets the target address for a command.
Definition: dl_flashctl.h:823
__STATIC_INLINE void DL_Common_updateReg(volatile uint32_t *reg, uint32_t val, uint32_t mask)
Writes value to specified register - retaining bits unaffected by mask.
Definition: dl_common.h:63
__STATIC_INLINE DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_getCommandStatus(FLASHCTL_Regs *flashctl)
Returns the status of the current command.
Definition: dl_flashctl.h:841
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_readVerifyFromRAM16WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data, uint8_t *eccCode)
Verifies 16-bit data in specified address with user provided ECC code, and executes command from RAM...
void DL_FlashCTL_readVerify32WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint8_t *eccCode)
Verifies 32-bit data in specified address with user provided ECC code.
void DL_FlashCTL_eraseMemory(FLASHCTL_Regs *flashctl, uint32_t address, DL_FLASHCTL_COMMAND_SIZE memorySize)
Performs an erase on unprotected memory.
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryFromRAM8(FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data)
Programs 8 bit data to unprotected memory at the given address, and executes command from RAM...
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_readVerifyFromRAM8WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data, uint8_t *eccCode)
Verifies 8-bit data in specified address with user provided ECC code, and executes command from RAM...
void DL_FlashCTL_protectNonMainMemory(FLASHCTL_Regs *flashctl)
Protects all non-main memory from erase/program.
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryFromRAM32(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Programs 32 bit data to unprotected memory at the given address, and executes command from RAM...
__STATIC_INLINE void DL_FlashCTL_clearInterruptStatus(FLASHCTL_Regs *flashctl)
Clear pending flash interrupt.
Definition: dl_flashctl.h:395
Definition: dl_flashctl.h:224
void DL_FlashCTL_readVerify16WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data, uint8_t *eccCode)
Verifies 16-bit data in specified address with user provided ECC code.
Definition: dl_flashctl.h:256
__STATIC_INLINE bool DL_FlashCTL_isAddressOverrideModeEnabled(FLASHCTL_Regs *flashctl)
Checks if address override mode is enabled.
Definition: dl_flashctl.h:492
void DL_FlashCTL_protectAllMemory(FLASHCTL_Regs *flashctl)
Protects all user memory from erase/program.
__STATIC_INLINE void DL_FlashCTL_setCommandDataECC(FLASHCTL_Regs *flashctl, uint8_t index, uint8_t *data)
Set the ECC code in the command data ECC register.
Definition: dl_flashctl.h:770
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_factoryResetFromRAM(FLASHCTL_Regs *flashctl)
Performs a factory reset erase on main and non-main memory, and executes command from RAM...
bool DL_FlashCTL_factoryResetMultiBank(FLASHCTL_Regs *flashctl)
Performs a factory reset erase on main and non-main memory.
void DL_FlashCTL_programMemory32WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint8_t *eccCode)
Programs 32 bit data with user provided ECC code.
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryFromRAM8WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data)
Programs 8 bit data with hardware generated ECC code, and executes command from RAM.
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryFromRAM16(FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data)
Programs 16 bit data to unprotected memory at the given address, and executes command from RAM...
bool DL_FlashCTL_massErase(FLASHCTL_Regs *flashctl)
Performs a mass erase on main memory on one bank.
void DL_FlashCTL_readVerify64(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Verifies 64-bit data in specified address.
void DL_FlashCTL_unprotectAllMemory(FLASHCTL_Regs *flashctl)
Unprotects all user memory from erase/program.
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_readVerifyFromRAM8(FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data)
Verifies 8-bit data in specified address, and executes command from RAM.
__STATIC_INLINE void DL_FlashCTL_enableStairStepErase(FLASHCTL_Regs *flashctl)
Enable Stair-Step Erase.
Definition: dl_flashctl.h:460
Definition: dl_flashctl.h:254
__STATIC_INLINE DL_FLASHCTL_REGION_SELECT DL_FlashCTL_getRegionSelect(FLASHCTL_Regs *flashctl)
Get the region select.
Definition: dl_flashctl.h:584
DL_FLASHCTL_FAIL_TYPE
Definition: dl_flashctl.h:262
__STATIC_INLINE void DL_FlashCTL_setBankSelect(FLASHCTL_Regs *flashctl, DL_FLASHCTL_BANK_SELECT bank)
Set the bank select.
Definition: dl_flashctl.h:606
void DL_FlashCTL_programMemory16(FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data)
Programs 16 bit data to unprotected memory at the given address.
void DL_FlashCTL_readVerify16WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data)
Verifies 16-bit data in specified address with hardware generated ECC code.
void DL_FlashCTL_readVerify8WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data, uint8_t *eccCode)
Verifies 8-bit data in specified address with user provided ECC code.
Definition: dl_flashctl.h:269
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_readVerifyFromRAM64(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Verifies 64-bit data in specified address, and executes command from RAM.
DL_FLASHCTL_BANK_SELECT
Definition: dl_flashctl.h:248
DL_FLASHCTL_COMMAND_SIZE
Definition: dl_flashctl.h:222
void DL_FlashCTL_programMemory8WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data, uint8_t *eccCode)
Programs 8 bit data with user provided ECC code.
__STATIC_INLINE bool DL_FlashCTL_isInterruptEnabled(FLASHCTL_Regs *flashctl)
Check if the flash interrupt is enabled.
Definition: dl_flashctl.h:331
void DL_FlashCTL_programMemory64(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Programs 64 bit data to unprotected memory at the given address.
__STATIC_INLINE void DL_FlashCTL_setCommandData(FLASHCTL_Regs *flashctl, uint8_t index, uint32_t *data)
Set the data for a command data register.
Definition: dl_flashctl.h:713
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_massEraseFromRAM(FLASHCTL_Regs *flashctl)
Performs a mass erase on main memory, and executes command from RAM.
__STATIC_INLINE uint32_t DL_FlashCTL_getWaitState(FLASHCTL_Regs *flashctl)
Get the number of wait states used by the Flash.
Definition: dl_flashctl.h:976
Definition: dl_flashctl.h:296
__STATIC_INLINE bool DL_FlashCTL_isCommandExecuted(FLASHCTL_Regs *flashctl)
Checks if a command execution has been initiated.
Definition: dl_flashctl.h:408
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_readVerifyFromRAM64WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint8_t *eccCode)
Verifies 64-bit data in specified address with user provided ECC code, and executes command from RAM...
bool DL_FlashCTL_programMemoryBlocking(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint32_t dataSize, DL_FLASHCTL_REGION_SELECT regionSelect)
Programs provided data to unprotected memory at a given address.
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_readVerifyFromRAM64WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Verifies 32-bit data in specified address with hardware generated ECC code, and executes command from...
Definition: dl_flashctl.h:264
void DL_FlashCTL_readVerify16(FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data)
Verifies 16-bit data in specified address.
DL_FLASHCTL_IIDX
Definition: dl_flashctl.h:294
bool DL_FlashCTL_factoryReset(FLASHCTL_Regs *flashctl)
Performs a factory reset erase on main and non-main memory.
void DL_FlashCTL_programMemory8(FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data)
Programs 8 bit data to unprotected memory at the given address.
Definition: dl_flashctl.h:243
void DL_FlashCTL_programMemory16WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data)
Programs 16 bit data with hardware generated ECC code.
void DL_FlashCTL_protectSector(FLASHCTL_Regs *flashctl, uint32_t addr, DL_FLASHCTL_REGION_SELECT regionSelect)
Sets a given sector to protected from erase/program.
bool DL_FlashCTL_programMemoryBlocking64WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint8_t *eccCode, uint32_t dataSize, DL_FLASHCTL_REGION_SELECT regionSelect)
Programs provided data with user provided ECC code.
Definition: dl_flashctl.h:274
Definition: dl_flashctl.h:230
__STATIC_INLINE void DL_FlashCTL_enableOverrideHardwareGeneratedECC(FLASHCTL_Regs *flashctl)
Enable overriding hardware generation of ECC code.
Definition: dl_flashctl.h:523
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryFromRAM16WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data)
Programs 16 bit data with hardware generated ECC code, and executes command from RAM.
Definition: dl_flashctl.h:282
void DL_FlashCTL_unprotectMainMemory(FLASHCTL_Regs *flashctl)
Unprotects all main memory from erase/program.
__STATIC_INLINE uint8_t DL_FactoryRegion_getNumBanks(void)
Get the number of Flash banks on the device.
Definition: dl_factoryregion.h:103
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryFromRAM64WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint8_t *eccCode)
Programs 64 bit data with user provided ECC code, and executes command from RAM.
void DL_FlashCTL_readVerify8WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data)
Verifies 8-bit data in specified address with hardware generated ECC code.
void DL_FlashCTL_programMemory8WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data)
Programs 8 bit data with hardware generated ECC code.
void DL_FlashCTL_programMemory64WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Programs 64 bit data with hardware generated ECC code.
Definition: dl_flashctl.h:288
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_readVerifyFromRAM8WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data)
Verifies 8-bit data in specified address with hardware generated ECC code, and executes command from ...
__STATIC_INLINE uint32_t DL_FlashCTL_getEnabledInterruptStatus(FLASHCTL_Regs *flashctl)
Check interrupt flag of enabled flash interrupt.
Definition: dl_flashctl.h:348
DL_FLASHCTL_COMMAND_STATUS
Definition: dl_flashctl.h:280
__STATIC_INLINE void DL_FlashCTL_setRegionSelect(FLASHCTL_Regs *flashctl, DL_FLASHCTL_REGION_SELECT region)
Set the region select.
Definition: dl_flashctl.h:568
void DL_FlashCTL_unprotectNonMainMemory(FLASHCTL_Regs *flashctl)
Unprotects all non-main memory from erase/program.
__STATIC_INLINE DL_FLASHCTL_BANK_SELECT DL_FlashCTL_getBankSelect(FLASHCTL_Regs *flashctl)
Get the bank select.
Definition: dl_flashctl.h:625
__STATIC_INLINE uint32_t DL_FlashCTL_getPendingInterrupt(FLASHCTL_Regs *flashctl)
Get highest priority pending flash interrupt.
Definition: dl_flashctl.h:384
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryFromRAM32WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Programs 32 bit data with hardware generated ECC code, and executes command from RAM.
__STATIC_INLINE uint16_t DL_FactoryRegion_getMAINFlashSize(void)
Get the size of the MAIN Flash region.
Definition: dl_factoryregion.h:68
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_readVerifyFromRAM32WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Verifies 32-bit data in specified address with hardware generated ECC code, and executes command from...
Definition: dl_flashctl.h:258
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryFromRAM64(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Programs 64 bit data to unprotected memory at the given address, and executes command from RAM...
void DL_FlashCTL_protectMainMemory(FLASHCTL_Regs *flashctl)
Protects all main memory from erase/program.
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_readVerifyFromRAM16WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data)
Verifies 16-bit data in specified address with hardware generated ECC code, and executes command from...
Definition: dl_flashctl.h:250
__STATIC_INLINE uint32_t DL_FlashCTL_getCommandData(FLASHCTL_Regs *flashctl, uint8_t index)
Get the data from a command data register.
Definition: dl_flashctl.h:740
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_readVerifyFromRAM32WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint8_t *eccCode)
Verifies 32-bit data in specified address with user provided ECC code, and executes command from RAM...
bool DL_FlashCTL_programMemoryBlocking64WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint32_t dataSize, DL_FLASHCTL_REGION_SELECT regionSelect)
Programs provided data with hardware generated ECC code.
Definition: dl_flashctl.h:241
void DL_FlashCTL_readVerify8(FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data)
Verifies 8-bit data in specified address.
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryFromRAM8WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint8_t *data, uint8_t *eccCode)
Programs 8 bit data with user provided ECC code, and executes command from RAM.
__STATIC_INLINE void DL_FlashCTL_enableAddressOverrideMode(FLASHCTL_Regs *flashctl)
Enable address override mode.
Definition: dl_flashctl.h:479
void DL_FlashCTL_blankVerify(FLASHCTL_Regs *flashctl, uint32_t address)
Verifies that a flash word is blank.
__STATIC_INLINE void DL_FlashCTL_setWaitState(FLASHCTL_Regs *flashctl, uint32_t waitState)
Set the number of wait states used by the Flash.
Definition: dl_flashctl.h:963
void DL_FlashCTL_programMemory32(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Programs 32 bit data to unprotected memory at the given address.
void DL_FlashCTL_unprotectSector(FLASHCTL_Regs *flashctl, uint32_t addr, DL_FLASHCTL_REGION_SELECT regionSelect)
Sets a given sector to unprotected from erase/program.
__STATIC_INLINE DL_FLASHCTL_FAIL_TYPE DL_FlashCTL_getFailureStatus(FLASHCTL_Regs *flashctl)
Returns the reason a command failed.
Definition: dl_flashctl.h:862
__STATIC_INLINE void DL_FlashCTL_setCommandExecute(FLASHCTL_Regs *flashctl)
Initiates a command execution.
Definition: dl_flashctl.h:419
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryFromRAM32WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint8_t *eccCode)
Programs 32 bit data with user provided ECC code, and executes command from RAM.
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryFromRAM64WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Programs 64 bit data with hardware generated ECC code, and executes command from RAM.
Definition: dl_flashctl.h:252
__STATIC_INLINE uint8_t DL_FlashCTL_getCommandDataECC(FLASHCTL_Regs *flashctl, uint8_t index)
Get the ECC code in the command data ECC register.
Definition: dl_flashctl.h:794
__STATIC_INLINE uint32_t DL_FlashCTL_getCommandByteEnable(FLASHCTL_Regs *flashctl)
Get the bytes that are enabled for programming data.
Definition: dl_flashctl.h:682
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryFromRAM(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint32_t dataSize, DL_FLASHCTL_REGION_SELECT regionSelect)
Programs provided data to unprotected memory at a given address, and executes command from RAM...
Definition: dl_flashctl.h:276
Factory Region Driver Library.
void DL_FlashCTL_programMemory32WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Programs 32 bit data with hardware generated ECC code.
bool DL_FlashCTL_massEraseMultiBank(FLASHCTL_Regs *flashctl)
Performs a mass erase on main memory, and erases all flash banks.
Definition: dl_flashctl.h:226
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_readVerifyFromRAM16(FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data)
Verifies 16-bit data in specified address, and executes command from RAM.
Definition: dl_flashctl.h:234
__STATIC_INLINE void DL_FlashCTL_disableInterrupt(FLASHCTL_Regs *flashctl)
Disable flash interrupt.
Definition: dl_flashctl.h:316
void DL_FlashCTL_readVerify64WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint8_t *eccCode)
Verifies 64-bit data in specified address with user provided ECC code.
__STATIC_INLINE bool DL_FlashCTL_isOverrideHardwareGeneratedECCEnabled(FLASHCTL_Regs *flashctl)
Checks if overriding hardware generation of ECC code is enabled.
Definition: dl_flashctl.h:536
void DL_FlashCTL_readVerify64WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Verifies 64-bit data in specified address with hardware generated ECC code.
Definition: dl_flashctl.h:228
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryFromRAM16WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data, uint8_t *eccCode)
Programs 16 bit data with user provided ECC code, and executes command from RAM.
__STATIC_INLINE bool DL_FlashCTL_waitForCmdDone(FLASHCTL_Regs *flashctl)
Blocking function that waits for a command execution to finish.
Definition: dl_flashctl.h:884
__STATIC_INLINE bool DL_FlashCTL_isStairStepEraseDisabled(FLASHCTL_Regs *flashctl)
Checks if stair-step erase is disabled.
Definition: dl_flashctl.h:444
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_blankVerifyFromRAM(FLASHCTL_Regs *flashctl, uint32_t address)
Verifies that a flash word is blank, and executes command from RAM.
void DL_FlashCTL_programMemory16WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint16_t *data, uint8_t *eccCode)
Programs 16 bit data with user provided ECC code.
Definition: dl_flashctl.h:271
__STATIC_INLINE void DL_FlashCTL_disableOverrideHardwareGeneratedECC(FLASHCTL_Regs *flashctl)
Disable overriding hardware generation of ECC code.
Definition: dl_flashctl.h:551
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_programMemoryBlockingFromRAM64WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint8_t *eccCode, uint32_t dataSize, DL_FLASHCTL_REGION_SELECT regionSelect)
Programs provided data with user provided ECC code, and executes command from RAM.
__STATIC_INLINE uint32_t DL_FlashCTL_getRawInterruptStatus(FLASHCTL_Regs *flashctl)
Check interrupt flag of the flash interrupt.
Definition: dl_flashctl.h:367
Definition: dl_flashctl.h:266
__STATIC_INLINE void DL_FlashCTL_enableInterrupt(FLASHCTL_Regs *flashctl)
Enable flash interrupt.
Definition: dl_flashctl.h:305
void DL_FlashCTL_programMemory64WithECCManual(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data, uint8_t *eccCode)
Programs 64 bit data with user provided ECC code.
DL_FLASHCTL_COMMAND_STATUS DL_FlashCTL_readVerifyFromRAM32(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Verifies 32-bit data in specified address, and executes command from RAM.
void DL_FlashCTL_readVerify32WithECCGenerated(FLASHCTL_Regs *flashctl, uint32_t address, uint32_t *data)
Verifies 32-bit data in specified address with hardware generated ECC code.
DL_FLASHCTL_REGION_SELECT
Definition: dl_flashctl.h:239
Definition: dl_flashctl.h:232
__STATIC_INLINE void DL_FlashCTL_disbleStairStepErase(FLASHCTL_Regs *flashctl)
Disable Stair-Step Erase.
Definition: dl_flashctl.h:431
__STATIC_INLINE void DL_FlashCTL_disableAddressOverrideMode(FLASHCTL_Regs *flashctl)
Disable address override mode.
Definition: dl_flashctl.h:506
__STATIC_INLINE uint32_t DL_FlashCTL_getFlashSectorNumberInBank(FLASHCTL_Regs *flashctl, uint32_t addr)
Gets the sector number of the input address relative to the bank of the address.
Definition: dl_flashctl.h:931
Definition: dl_flashctl.h:285
__STATIC_INLINE void DL_FlashCTL_setCommandByteEnable(FLASHCTL_Regs *flashctl, uint32_t byteMask)
Set the bytes to enable for programming data.
Definition: dl_flashctl.h:662