15 #ifndef CPU_LPC54114J256BD64_cm4 16 #include "fsl_flash.h" 18 #include "fsl_flashiap.h" 23 #ifndef CPU_LPC54114J256BD64_cm4 28 uint32_t pflashSectorSize =
ERROR;
29 flash_config_t flashDriver;
32 memset(&flashDriver, 0,
sizeof(flash_config_t));
34 result = FLASH_Init(&flashDriver);
35 if (kStatus_FLASH_Success == result)
38 result = FLASH_Erase(&flashDriver, Dest, pflashSectorSize,
FLASH_ERASE_KEY);
40 if (kStatus_FLASH_Success == result) {
41 result = FLASH_Program(&flashDriver, Dest, Source, Count);
42 if (kStatus_FLASH_Success == result) retVal=
SUCCESS;
48 byte checkIAPStatus(status_t result) {
51 case kStatus_FLASHIAP_Success:
54 case kStatus_FLASHIAP_InvalidCommand :
57 case kStatus_FLASHIAP_SrcAddrError :
60 case kStatus_FLASHIAP_DstAddrError :
63 case kStatus_FLASHIAP_SrcAddrNotMapped :
66 case kStatus_FLASHIAP_DstAddrNotMapped :
69 case kStatus_FLASHIAP_CountError :
72 case kStatus_FLASHIAP_InvalidSector :
75 case kStatus_FLASHIAP_NotPrepared :
78 case kStatus_FLASHIAP_CompareError :
81 case kStatus_FLASHIAP_Busy :
84 case kStatus_FLASHIAP_ParamError :
87 case kStatus_FLASHIAP_AddrError :
90 case kStatus_FLASHIAP_AddrNotMapped :
93 case kStatus_FLASHIAP_NoPower :
96 case kStatus_FLASHIAP_NoClock :
110 if (result == kStatus_FLASHIAP_Success) {
112 if (result == kStatus_FLASHIAP_Success) {
114 if (result == kStatus_FLASHIAP_Success) {
118 retVal = checkIAPStatus(result);
#define CALIBRATION_NVM_ADDR
start of final 4K (sector size) of 1M flash
#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.
middleware driver for NVM on Kinetis devices
The sensor_fusion.h file implements the top level programming interface.
#define FLASH_SECTOR_SIZE_PROPERTY
byte NVM_SetBlockFlash(uint8_t *Source, uint32_t Dest, uint16_t Count)