api_update.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. #ifndef _API_UPDATE_H
  2. #define _API_UPDATE_H
  3. typedef enum {
  4. FOT_ERR_OK,
  5. FOT_ERR_NO_UPDATA,
  6. FOT_ERR_KEY,
  7. FOT_ERR_FILE_FORMAT,
  8. FOT_ERR_FILE_TAG,
  9. FOT_ERR_FILE_DATA,
  10. FOT_ERR_MAC_SIZE,
  11. FOT_ERR_START,
  12. FOT_ERR_DOWN_START,
  13. FOT_ERR_HEAD2_START,
  14. FOT_ERR_DOWN_LAST,
  15. FOT_ERR_CRC_VERIFY,
  16. FOT_ERR_AREA_SIZE,
  17. /*以上err类型和库里面对应,通过fot_get_err()或ota_pack_get_err()获取到*/
  18. FOT_ERR_SEQ = 0x40,
  19. FOT_ERR_DATA_LEN,
  20. FOT_ERR_TWS_DISCONNECT = 0x80,
  21. FOT_UPDATE_PAUSE = 0xfd,
  22. FOT_UPDATE_CONTINUE = 0xfe,
  23. FOT_UPDATE_DONE = 0xff,
  24. } FOT_ERR_ENUM;
  25. //FOTA
  26. void fot_init(void);
  27. u32 fot_get_curaddr(void);
  28. bool fot_write(void *buf, u32 addr, u32 len);
  29. u8 fot_get_err(void);
  30. bool fot_breakpoint_info_read(void);
  31. bool is_fot_update_success(void);
  32. void fot_tws_done(void);
  33. void fot_tws_done_sync_err_deal(void);
  34. //OTA PACK
  35. void ota_pack_init(void);
  36. bool ota_pack_write(u8 *buf);
  37. u8 ota_pack_get_err(void);
  38. bool ota_pack_is_write_done(void);
  39. bool ota_pack_verify(void);
  40. void ota_pack_done(void);
  41. void ota_pack_run(void);
  42. bool ota_pack_breakpoint_info_read(void);
  43. u32 ota_pack_get_curaddr(void);
  44. void ota_pack_tws_done_sync_err_deal(void);
  45. //TEST BOX OTA
  46. int updatefile_init(const char *file); //初始化UPDATE模块
  47. void updateproc(void); //升级流程
  48. void ota_enter(void); //进入OTA流程
  49. void ota_exit(void); //退出OTA流程
  50. bool update_set_qcheck_code(void);
  51. //OTA Common
  52. void load_code_fota(void);
  53. void unlock_code_fota(void);
  54. #endif