iap.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. #ifndef __IAP_H__
  2. #define __IAP_H__
  3. #include "main.h"
  4. #include "string.h"
  5. #include "stdio.h"
  6. #include "usart.h"
  7. #define Startup_Normal ((uint32_t)0xBBBBBBBB)
  8. #define Startup_Update ((uint32_t)0xAAAAAAAA)
  9. #define Startup_APP2 ((uint32_t)0x5555BBBB)
  10. #define Jump_app ((uint32_t)0x6666CCCC)
  11. #define Startup_Reset ((uint32_t)0x5555AAAA)
  12. #define StartBytes_IAP ((uint32_t)0xA55A55AA)
  13. #define EndBytes_IAP ((uint32_t)0x5AA5AA55)
  14. #define ADD_UPDATE_PROG ((uint32_t)0x8020000)
  15. #define Application_Buffer_Addr ((uint32_t)0x8040000)
  16. #define StartMode_Addr ((uint32_t)0x807F07A)
  17. #define BUFFER_SIZE_length 100
  18. #if 0
  19. #define indexfl 4
  20. #else
  21. #define indexfl 5
  22. #endif
  23. extern int FileLength_IAP;
  24. extern unsigned int all_len;
  25. extern uint8_t buffer[BUFFER_SIZE_length];
  26. extern uint8_t buffer_length[100];
  27. extern uint16_t start_addr;
  28. extern uint8_t YmodemID;
  29. extern uint16_t version[4];
  30. extern uint8_t startFrame[40];
  31. extern uint8_t binName[32] ;
  32. extern uint8_t binLength[10] ;
  33. extern uint8_t binMd5[16] ;
  34. extern uint32_t update_flag;
  35. extern uint16_t packTotalNum;
  36. extern uint16_t packIndex ;
  37. extern uint16_t addrIndex ;
  38. extern uint32_t AddrToWrite;
  39. extern uint32_t nowcurAddr;
  40. extern uint32_t nowcurAddr1;
  41. extern uint16_t nowcurpack;
  42. extern uint16_t curaddr[2];
  43. extern uint16_t curapack[1];
  44. void jump_to_app(uint32_t app_addr);
  45. extern int lenindex;
  46. extern uint16_t iapbinMd5[8] ;
  47. void Process_CMD_IAP_Update(void);
  48. void Start_BootLoader(void);
  49. extern uint16_t FileBuffArray[512];
  50. #endif