Mike Menci
/
SIEMENS_FEEDER_LOOP
Siemens Dual Lane Feeder
Diff: IAP_LPC11U.h
- Revision:
- 1:4d3738338cf1
diff -r 617334d8e3bb -r 4d3738338cf1 IAP_LPC11U.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IAP_LPC11U.h Sat Feb 04 01:27:29 2017 +0000 @@ -0,0 +1,48 @@ +#if defined(TARGET_LPC11UXX) | defined(TARGET_LPC11U6X) + +#ifndef IAP_LPC11UXX_H +#define IAP_LPC11UXX_H + +#include "mbed.h" + +//128-bit unique ID struct typedef +struct UID { + unsigned int word0; /**< Word 0 of 128-bit UID (bits 31 to 0) */ + unsigned int word1; /**< Word 1 of 128-bit UID (bits 63 to 32) */ + unsigned int word2; /**< Word 2 of 128-bit UID (bits 95 to 64) */ + unsigned int word3; /**< Word 3 of 128-bit UID (bits 127 to 96) */ +}; + +//IAP return code enumeration +enum IapReturnCode { + IAP_CMD_SUCCESS = 0, + IAP_INVALID_COMMAND, + IAP_SRC_ADDR_ERROR, + IAP_DST_ADDR_ERROR, + IAP_SRC_ADDR_NOT_MAPPED, + IAP_DST_ADDR_NOT_MAPPED, + IAP_COUNT_ERROR, + IAP_INVALID_SECTOR, + IAP_SECTOR_NOT_BLANK, + IAP_SECTOR_NOT_PREPARED_FOR_WRITE_OPERATION, + IAP_COMPARE_ERROR, + IAP_BUSY +}; + +//Function prototypes +IapReturnCode IAP_PrepareSectors(unsigned int sector_start, unsigned int sector_end); +IapReturnCode IAP_CopyRAMToFlash(void* ram_address, void* flash_address, unsigned int length); +IapReturnCode IAP_EraseSectors(unsigned int sector_start, unsigned int sector_end); +IapReturnCode IAP_BlankCheckSectors(unsigned int sector_start, unsigned int sector_end); +unsigned int IAP_ReadPartID(); +unsigned short IAP_ReadBootCodeVersion(); +IapReturnCode IAP_Compare(void* address1, void* address2, unsigned int bytes); +void IAP_ReinvokeISP(); +UID IAP_ReadUID(); +IapReturnCode IAP_ErasePage(unsigned int page_start, unsigned int page_end); +IapReturnCode IAP_WriteEEPROM(unsigned int ee_address, char* buffer, unsigned int length); +IapReturnCode IAP_ReadEEPROM(unsigned int ee_address, char* buffer, unsigned int length); + +#endif + +#endif \ No newline at end of file