iap.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef __IAP_H__
  2. #define __IAP_H__
  3. #include "main.h"
  4. #include "cmsis_os.h"
  5. #include "FreeRTOS.h"
  6. #include "task.h"
  7. #include "timers.h"
  8. #include "event_groups.h"
  9. /* Private includes ----------------------------------------------------------*/
  10. /* USER CODE BEGIN Includes */
  11. #include "string.h"
  12. #include "stdio.h"
  13. #include "usart.h"
  14. #include "config.h"
  15. #include "rkg.h"
  16. #include "cang.h"
  17. #include "kzq.h"
  18. #include "level.h"
  19. #include "tem.h"
  20. #include "angle.h"
  21. #include "xyf.h"
  22. #include "hdf.h"
  23. #include "bgy.h"
  24. #include "yqhs.h"
  25. //////////////////////////////////////////////////////////////////////////////////
  26. //??? 2022/01/11
  27. //All rights reserved
  28. //////////////////////////////////////////////////////////////////////////////////
  29. typedef void (*iapfun)(void); //???????????.
  30. #define FLASH_APP1_ADDR 0x08010000 //???????????(???FLASH)
  31. //??0X08000000~0X0800FFFF????IAP??
  32. /* ???? */
  33. #define Startup_Normal 0xBBBBBBBB ///< ???? ???APP1
  34. #define Startup_Update 0xAAAAAAAA ///< ?????
  35. #define Startup_Reset 0x5555AAAA ///< ***???? ?????***
  36. #define Startup_APP2 0x5555BBBB ///< ***???APP2***
  37. #define StartBytes_IAP ((uint32_t)0xA55A55AA) //?????????
  38. #define EndBytes_IAP ((uint32_t)0x5AA5AA55) //?????????
  39. void Process_CMD_IAP_Update(void);
  40. void Set_Update_Down(void);
  41. void Res_Update_Down(void);
  42. void Set_App2_Flag(void);
  43. void Start_BootLoader(void);
  44. void iap_load_app(uint32_t appxaddr); //??flash???app??
  45. void iap_load_appsram(uint32_t appxaddr); //??sram???app??
  46. void iap_write_appbin(uint32_t appxaddr,uint8_t *appbuf,uint32_t applen); //???????,??bin
  47. #endif