DipCortex EEprom IAP library
Dependents: DipCortex-USB-EEProm vfd_modular_clock_mbed
DipCortex EEprom library.
Example project :
Import programDipCortex-USB-EEProm
DipCortex USB CDC + EEprom
DipCortex-EEprom.h
- Committer:
- SolderSplashLabs
- Date:
- 2014-02-23
- Revision:
- 0:53297f36733d
File content as of revision 0:53297f36733d:
#define USER_START_SECTOR SECTOR_2_START #ifndef _SBL_IAP_H #define _SBL_IAP_H #define SECTOR_0_START 0x00000000 #define SECTOR_1_START 0x00001000 #define SECTOR_2_START 0x00002000 #define SECTOR_3_START 0x00003000 #define SECTOR_4_START 0x00004000 #define SECTOR_5_START 0x00005000 #define SECTOR_6_START 0x00006000 #define SECTOR_7_START 0x00007000 #define SECTOR_8_START 0x00008000 #define SECTOR_9_START 0x00009000 #define SECTOR_10_START 0x0000A000 #define SECTOR_11_START 0x0000B000 #define SECTOR_12_START 0x0000C000 #define SECTOR_13_START 0x0000D000 #define SECTOR_14_START 0x0000E000 #define SECTOR_15_START 0x0000F000 #define SECTOR_0_END 0x00000FFF #define SECTOR_1_END 0x00001FFF #define SECTOR_2_END 0x00002FFF #define SECTOR_3_END 0x00003FFF #define SECTOR_4_END 0x00004FFF #define SECTOR_5_END 0x00005FFF #define SECTOR_6_END 0x00006FFF #define SECTOR_7_END 0x00007FFF #define SECTOR_8_END 0x00008FFF #define SECTOR_9_END 0x00009FFF #define SECTOR_10_END 0x0000AFFF #define SECTOR_11_END 0x0000BFFF #define SECTOR_12_END 0x0000CFFF #define SECTOR_13_END 0x0000DFFF #define SECTOR_14_END 0x0000EFFF #define SECTOR_15_END 0x0000FFFF #define CCLK 72000 /* 72,000 KHz for IAP call WiFI Dip and M3 - TODO : Addjust for M0*/ #define FLASH_BUF_SIZE 256 #define SECTOR_0_START_ADDR 0 #define SECTOR_SIZE 4096 #define MAX_USER_SECTOR 16 #define PAGES_PER_SECTOR 16 //extern const unsigned sector_start_map[]; //extern const unsigned sector_end_map[]; extern const unsigned crp; unsigned write_flash(unsigned * dst, char * src, unsigned no_of_bytes); void erase_user_flash(void); void IAP_Init(void); int IAP_CheckForUserCode(void); int IAP_WritePage (unsigned * dst, char * src, unsigned no_of_bytes); void IAP_Eeprom_Write ( uint32_t eeAddress, uint8_t* buffAddress, uint32_t byteCount ); void IAP_Eeprom_Read ( uint32_t eeAddress, uint8_t* buffAddress, uint32_t byteCount ); typedef enum { PREPARE_SECTOR_FOR_WRITE=50, COPY_RAM_TO_FLASH=51, ERASE_SECTOR=52, BLANK_CHECK_SECTOR=53, READ_PART_ID=54, READ_BOOT_VER=55, COMPARE=56, REINVOKE_ISP=57, ERASE_PAGE=59, EEPROM_WRITE=61, EEPROM_READ=62, }IAP_Command_Code; #define CMD_SUCCESS 0 #define IAP_ADDRESS 0x1FFF1FF1 #define UPDATE_REQD 133 #endif /* _SBL_IAP_H */