dataHandling.h 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. #ifndef __DATAHANDLING_H__
  2. #define __DATAHANDLING_H__
  3. #include "main.h"
  4. #include "string.h"
  5. #include "stdio.h"
  6. #include "usart.h"
  7. #include "stmflash.h"
  8. #include "iap.h"
  9. #define STM32_FLASH_SIZE 512 //所选STM32的FLASH容量大小(单位为K)
  10. #define STM32_FLASH_WREN 1 //使能FLASH写入(0,不是能;1,使能)
  11. #define FLASH_WAITETIME 50000 //FLASH等待超时时间
  12. extern uint32_t flash_addr;
  13. extern uint16_t iapversion[5];
  14. extern uint16_t iapmd5[10];
  15. // 定义一个长度为16的字符数组,用于存储MD5摘要
  16. extern unsigned char digest[16];
  17. //FLASH起始地址
  18. #define STM32_FLASH_BASE 0x08000000 //STM32 FLASH的起始地址
  19. void Flash_ReadBytes(uint16_t* sorBuf,uint32_t FlashAddr,uint16_t len);
  20. int App2_MD5_Check(uint32_t addr,unsigned int all_len);
  21. void Flash_WriteBytes(uint16_t* sorBuf,uint32_t FlashAddr,uint16_t len);
  22. void Set_App2_Flag(void);
  23. void delay_sys_us(uint32_t Delay);//1个delay,大概1.5us
  24. void search_seat(const uint8_t* hexData);
  25. uint16_t crc16_xmodem(uint8_t *data, uint16_t length);
  26. void Set_Update_Down(void);
  27. void iap_write_appbin(uint32_t appxaddr, uint32_t appbuf, uint32_t appsize);
  28. void Set_jump_Flag(void);
  29. void convertHexToAscii(uint16_t version[4], uint32_t* System_version);
  30. void readFlashToArr(uint8_t *arr, uint32_t addr);
  31. void Set_normal_Flag(void);
  32. #endif