upgrade.h 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #ifndef _UPGRADE_H_
  2. #define _UPGRADE_H_
  3. #define FLASH_END_ADDR 0xffffffff
  4. #define FLASH_ADDR_BASE 0xff800000
  5. #define BOOT_ADDR_BASE 0xfffc0000
  6. #define BOOT_ADDR_BASE_OFF 0x7c0000
  7. #define FLASH_SIZE 0x800000
  8. #define BOOT_SIZE 0x40000
  9. //NVRAM in boot area
  10. //#define NVRAM_ADDR_BASE 0xfff90000
  11. //#define NVRAM_ADDR_BASE_OFF 0x790000
  12. //#define NVRAM_SIZE 0x10000
  13. #define PID_OFFSET (BOOT_SIZE- 0x46)
  14. #define NODE_ADDRESS (BOOT_SIZE-0x60)
  15. #define NODE_BASE_OFF (FLASH_SIZE-0x60)
  16. #define PIN_ADDRESS (BOOT_SIZE-0x70)//WPS PIN,8bytes
  17. #define PIN_OFF (FLASH_SIZE-0x70)
  18. #define KERNEL_CODE_OFFSET 0
  19. #define SN_ADDRESS (BOOT_SIZE-0x80) //12bytes
  20. #define SN_OFF (FLASH_SIZE-0x80)
  21. #define UPGRADE_START_OFFSET 0
  22. #define UPGRADE_END_OFFSET 0x7A0000
  23. #define PRODUCT_ID_OFFSET 0x75ffe0//(UPGRADE_END_OFFSET - 0x10)
  24. #define PROTOCOL_ID_OFFSET (PRODUCT_ID_OFFSET + 0x02)
  25. #define FW_VERSION_OFFSET (PRODUCT_ID_OFFSET + 0x04)
  26. #define SIGN_OFFSET (PRODUCT_ID_OFFSET + 0x08) /* eRcOmM */
  27. //#define LANG_UPGRADE
  28. #ifdef LANG_UPGRADE
  29. #define LANGBUF_BEGIN 0x1300000
  30. #define LANGBUF_END 0x1f00000
  31. #define LANGBUF_LENTH (LANGBUF_END - LANGBUF_BEGIN)
  32. #endif
  33. #ifndef ERROR
  34. #define ERROR -1
  35. #endif
  36. #ifndef OK
  37. #define OK 0
  38. #endif
  39. #ifndef NULL
  40. #define NULL 0
  41. #endif
  42. void do_boot(void);
  43. void Download(void);
  44. void Assign(void);
  45. void gpio_init(void);
  46. void Led_Power(int value);
  47. void Led_security(int value);
  48. int PushButton(void);
  49. static unsigned short xchg ( unsigned short dwData);
  50. int FlashDriver(unsigned long dlAddress,unsigned char *dbData,unsigned long dlLength,unsigned long dlFlag);
  51. int ProgramChip(unsigned long dlAddress,unsigned char * dbData,unsigned long dlLength);
  52. int dl_Initialize(void);
  53. void dl_GetAddr(unsigned char *node);
  54. int dl_Receive(void);
  55. int dl_Transmit(char *buf,int len);
  56. void reset(void);
  57. void AssignHWAddress(unsigned char *psBuffer);
  58. int ResetChip(unsigned long ulRomDstAddr);
  59. int GetFlashType(void);
  60. #ifdef LANG_UPGRADE
  61. int save_lang_buf(unsigned long flash_addr, char *mem_addr,unsigned long length);
  62. int LangDriver(unsigned long flash_addr, char *mem_addr,unsigned long length, unsigned long dlFlag);
  63. #endif
  64. #endif