util.c 872 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. #include "util.h"
  2. #include <stdlib.h>
  3. #include <string.h>
  4. #include "gd32e23x.h"
  5. //BUFF_PACK buff_pack_create(uint8_t *data, uint32_t len)
  6. //{
  7. // BUFF_PACK res;
  8. // res.len = len;
  9. // res.data = xmalloc(len);
  10. // memcpy(res.data, data, len);
  11. // return res;
  12. //}
  13. //void buff_pack_delete(BUFF_PACK p)
  14. //{
  15. // p.len = 0;
  16. // xfree(p.data);
  17. // p.data = 0;
  18. //}
  19. void HWM_mark(uint8_t *d, TaskHandle_t task)
  20. {
  21. uint32_t hwm = uxTaskGetStackHighWaterMark(task);
  22. d[0] = hwm >> 24;
  23. d[1] = hwm >> 16;
  24. d[2] = hwm >> 8;
  25. d[3] = (uint8_t)hwm;
  26. }
  27. void HWM_FreeSize(uint8_t *d)
  28. {
  29. uint32_t hwm = xPortGetFreeHeapSize();
  30. d[0] = hwm >> 24;
  31. d[1] = hwm >> 16;
  32. d[2] = hwm >> 8;
  33. d[3] = (uint8_t)hwm;
  34. }
  35. void util_enable_int()
  36. {
  37. __set_PRIMASK(0); // 开启总中断
  38. }
  39. void util_disable_int()
  40. {
  41. __set_PRIMASK(1); // 关闭总中断
  42. }