66 lines
2.6 KiB
C
66 lines
2.6 KiB
C
/******************************************************************************
|
||
* FileName: flash_eep.h
|
||
* Description: FLASH
|
||
* Alternate SDK
|
||
* Author: PV`
|
||
* (c) PV` 2015
|
||
*******************************************************************************/
|
||
#ifndef __FLASH_EEP_H_
|
||
#define __FLASH_EEP_H_
|
||
|
||
#ifdef __cplusplus
|
||
extern "C" {
|
||
#endif
|
||
|
||
// EEPROM IDs
|
||
#define EEP_ID_MAC (0xACAD) // EEP ID MAC
|
||
#define EEP_ID_CFG (0x0CFC) // EEP ID config data
|
||
#define EEP_ID_CFS (0x0CF5) // EEP ID sensor coefficients
|
||
#define EEP_ID_TRG (0x1DF5) // EEP ID TH trigger config
|
||
//#define EEP_ID_PCD (0xC0DE) // EEP ID pincode
|
||
//#define EEP_ID_CMF (0x0FCC) // EEP ID comfort data
|
||
#define EEP_ID_DVN (0xDEAE) // EEP ID device name
|
||
#define EEP_ID_TIM (0x0ADA) // EEP ID time adjust
|
||
#define EEP_ID_KEY (0xBC0D) // EEP ID bindkey
|
||
#define EEP_ID_VER (0x5555) // EEP ID blk: unsigned int = minimum supported version
|
||
#define EEP_ID_FDK (0xF1D1) // EEP ID findmy key
|
||
//-----------------------------------------------------------------------------
|
||
#ifndef FLASH_BASE_ADDR
|
||
#define FLASH_BASE_ADDR 0x11000000
|
||
#endif
|
||
#ifndef FLASH_SIZE
|
||
#if DEVICE == DEVICE_KEY2
|
||
#define FLASH_SIZE (256*1024)
|
||
#else
|
||
#define FLASH_SIZE (512*1024)
|
||
#endif
|
||
#endif
|
||
#ifndef FLASH_SECTOR_SIZE
|
||
#define FLASH_SECTOR_SIZE 4096
|
||
#endif
|
||
#define FMEMORY_SCFG_BANK_SIZE FLASH_SECTOR_SIZE // размер сектора, 4096 bytes
|
||
#define FMEMORY_SCFG_BANKS 4 // кол-во секторов для работы - min 2
|
||
#define FMEMORY_SCFG_BASE_ADDR (FLASH_SIZE - (FMEMORY_SCFG_BANKS*FMEMORY_SCFG_BANK_SIZE)) // 0xFC000, 0x7C000, 0x3C000
|
||
//-----------------------------------------------------------------------------
|
||
enum eFMEMORY_ERRORS {
|
||
FMEM_NOT_FOUND = -1, // -1 - не найден
|
||
FMEM_FLASH_ERR = -2, // -2 - flash rd/wr/erase error
|
||
FMEM_ERROR = -3, // -3 - error
|
||
FMEM_OVR_ERR = -4, // -4 - переполнение FMEMORY_SCFG_BANK_SIZE
|
||
FMEM_MEM_ERR = -5 // -5 - heap alloc error
|
||
};
|
||
//-----------------------------------------------------------------------------
|
||
|
||
#define MAX_FOBJ_SIZE 64 // максимальный размер сохраняемых объeктов (32,64,..512)
|
||
|
||
signed short flash_read_cfg(void *ptr, unsigned short id, unsigned short maxsize); // возврат: размер объекта последнего сохранения, -1 - не найден, -2 - error
|
||
bool flash_write_cfg(void *ptr, unsigned short id, unsigned short size);
|
||
bool flash_supported_eep_ver(unsigned int min_ver, unsigned int new_ver);
|
||
//-----------------------------------------------------------------------------
|
||
|
||
#ifdef __cplusplus
|
||
}
|
||
#endif
|
||
|
||
|
||
#endif /* __FLASH_EEP_H_ */
|