blob: 2b5953acc8e00bca2d7fb44649396ba600c3d7d6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
|
#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
|