41 #ifndef CPU_LPC54114J256BD64_cm4 42 #include "fsl_flash.h" 44 #include "fsl_flashiap.h" 49 #ifndef CPU_LPC54114J256BD64_cm4 54 uint32_t pflashSectorSize =
ERROR;
55 flash_config_t flashDriver;
58 memset(&flashDriver, 0,
sizeof(flash_config_t));
60 result = FLASH_Init(&flashDriver);
61 if (kStatus_FLASH_Success == result)
64 result = FLASH_Erase(&flashDriver, Dest, pflashSectorSize,
FLASH_ERASE_KEY);
66 if (kStatus_FLASH_Success == result) {
67 result = FLASH_Program(&flashDriver, Dest, (uint8_t*) Source, Count);
68 if (kStatus_FLASH_Success == result) retVal=
SUCCESS;
74 byte checkIAPStatus(status_t result) {
77 case kStatus_FLASHIAP_Success:
80 case kStatus_FLASHIAP_InvalidCommand :
83 case kStatus_FLASHIAP_SrcAddrError :
86 case kStatus_FLASHIAP_DstAddrError :
89 case kStatus_FLASHIAP_SrcAddrNotMapped :
92 case kStatus_FLASHIAP_DstAddrNotMapped :
95 case kStatus_FLASHIAP_CountError :
98 case kStatus_FLASHIAP_InvalidSector :
101 case kStatus_FLASHIAP_NotPrepared :
104 case kStatus_FLASHIAP_CompareError :
107 case kStatus_FLASHIAP_Busy :
110 case kStatus_FLASHIAP_ParamError :
113 case kStatus_FLASHIAP_AddrError :
116 case kStatus_FLASHIAP_AddrNotMapped :
119 case kStatus_FLASHIAP_NoPower :
122 case kStatus_FLASHIAP_NoClock :
136 if (result == kStatus_FLASHIAP_Success) {
138 if (result == kStatus_FLASHIAP_Success) {
140 if (result == kStatus_FLASHIAP_Success) {
144 retVal = checkIAPStatus(result);
#define CALIBRATION_NVM_ADDR
start of final 4K (sector size) of 1M flash
middleware driver for NVM on Kinetis devices
byte NVM_SetBlockFlash(uint8_t *Source, uint32_t Dest, uint16_t Count)
The sensor_fusion.h file implements the top level programming interface.
#define NVM_SECTOR_NUMBER
Sector number in flash where we will store parameters.
#define NVM_PAGE_NUMBER
Page number in flash where we will store parameters.
#define FLASH_SECTOR_SIZE_PROPERTY