CMD0x06_Request_RegisterAppStartTime.c 910 B

12345678910111213141516171819202122232425262728293031323334
  1. #include "iap.h"
  2. #include "CommandsDefine.h"
  3. #include "ProjectConfig.h"
  4. #include "usart.h"
  5. #include "Helper.h"
  6. #include "sys.h"
  7. /* 发起开始更新
  8. 正确的响应:从App跳转到Boot.如果已经在Boot中,返回错误Error0x03_AlreadyAtBoot
  9. 发送格式:
  10. 包起始标识
  11. +CMD0x05_Request_UpdateStart
  12. +[2字节的数据长度,=00]
  13. +包尾标识
  14. 返回:无。在发起此命令后,应用端应该在稍后检查是否运行在Boot,然后才开始更新
  15. */
  16. void CMD0x06_Request_RegisterAppStartTime_process(u8 *pData,u16 dataLen,u8 bIsContentBitInverted_Recv,u8 bIsContentBitInverted_SendBack)
  17. {
  18. u16 validBytes=dataLen;
  19. if (bIsContentBitInverted_Recv)
  20. {
  21. if (!Helper_CheckInvertBytesIsRegist(pData,dataLen))
  22. {
  23. return;
  24. }
  25. validBytes=dataLen/2;
  26. }
  27. if (validBytes<BYTES_MASTER_STARTTIME)
  28. {
  29. for(int i=0;i<validBytes;i++)
  30. RegisteredMatserStartTime[i]=pData[i];
  31. }
  32. }