a5e97547c6
SVN-Revision: 18761
78 lines
2.2 KiB
C
78 lines
2.2 KiB
C
#ifndef _UPGRADE_H_
|
|
#define _UPGRADE_H_
|
|
|
|
#define FLASH_END_ADDR 0xffffffff
|
|
#define FLASH_ADDR_BASE 0xff800000
|
|
#define BOOT_ADDR_BASE 0xfffc0000
|
|
#define BOOT_ADDR_BASE_OFF 0x7c0000
|
|
#define FLASH_SIZE 0x800000
|
|
#define BOOT_SIZE 0x40000
|
|
//NVRAM in boot area
|
|
//#define NVRAM_ADDR_BASE 0xfff90000
|
|
//#define NVRAM_ADDR_BASE_OFF 0x790000
|
|
//#define NVRAM_SIZE 0x10000
|
|
|
|
#define PID_OFFSET (BOOT_SIZE- 0x46)
|
|
#define NODE_ADDRESS (BOOT_SIZE-0x60)
|
|
#define NODE_BASE_OFF (FLASH_SIZE-0x60)
|
|
#define PIN_ADDRESS (BOOT_SIZE-0x70)//WPS PIN,8bytes
|
|
#define PIN_OFF (FLASH_SIZE-0x70)
|
|
#define KERNEL_CODE_OFFSET 0
|
|
#define SN_ADDRESS (BOOT_SIZE-0x80) //12bytes
|
|
#define SN_OFF (FLASH_SIZE-0x80)
|
|
|
|
|
|
#define UPGRADE_START_OFFSET 0
|
|
#define UPGRADE_END_OFFSET 0x7A0000
|
|
#define PRODUCT_ID_OFFSET 0x75ffe0//(UPGRADE_END_OFFSET - 0x10)
|
|
#define PROTOCOL_ID_OFFSET (PRODUCT_ID_OFFSET + 0x02)
|
|
#define FW_VERSION_OFFSET (PRODUCT_ID_OFFSET + 0x04)
|
|
#define SIGN_OFFSET (PRODUCT_ID_OFFSET + 0x08) /* eRcOmM */
|
|
|
|
//#define LANG_UPGRADE
|
|
#ifdef LANG_UPGRADE
|
|
#define LANGBUF_BEGIN 0x1300000
|
|
#define LANGBUF_END 0x1f00000
|
|
#define LANGBUF_LENTH (LANGBUF_END - LANGBUF_BEGIN)
|
|
#endif
|
|
#ifndef ERROR
|
|
#define ERROR -1
|
|
#endif
|
|
|
|
#ifndef OK
|
|
#define OK 0
|
|
#endif
|
|
|
|
#ifndef NULL
|
|
#define NULL 0
|
|
#endif
|
|
|
|
|
|
void do_boot(void);
|
|
void Download(void);
|
|
void Assign(void);
|
|
|
|
void gpio_init(void);
|
|
void Led_Power(int value);
|
|
void Led_security(int value);
|
|
int PushButton(void);
|
|
|
|
static unsigned short xchg ( unsigned short dwData);
|
|
int FlashDriver(unsigned long dlAddress,unsigned char *dbData,unsigned long dlLength,unsigned long dlFlag);
|
|
int ProgramChip(unsigned long dlAddress,unsigned char * dbData,unsigned long dlLength);
|
|
int dl_Initialize(void);
|
|
void dl_GetAddr(unsigned char *node);
|
|
int dl_Receive(void);
|
|
int dl_Transmit(char *buf,int len);
|
|
void reset(void);
|
|
void AssignHWAddress(unsigned char *psBuffer);
|
|
int ResetChip(unsigned long ulRomDstAddr);
|
|
int GetFlashType(void);
|
|
|
|
#ifdef LANG_UPGRADE
|
|
int save_lang_buf(unsigned long flash_addr, char *mem_addr,unsigned long length);
|
|
int LangDriver(unsigned long flash_addr, char *mem_addr,unsigned long length, unsigned long dlFlag);
|
|
#endif
|
|
#endif
|
|
|