iap.h 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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 int lenindex;
  38. extern uint16_t iapbinMd5[8] ;
  39. void Process_CMD_IAP_Update(void);
  40. void Start_BootLoader(void);
  41. extern uint16_t FileBuffArray[512];
  42. void iap_load_app(uint32_t appxaddr);
  43. extern uint16_t FileBuffArray1[512];
  44. #endif