act_log_mem.c 582 B

1234567891011121314151617181920212223242526
  1. #include "act_log_inner.h"
  2. /* Memory pool for log use */
  3. #ifdef CONFIG_ACTLOG_USE_NANOLOG
  4. K_MEM_SLAB_DEFINE(log_slab, sizeof(nano_log_message_t),
  5. CONFIG_ACTLOG_NANO_LOG_NUM, 4);
  6. #else
  7. K_MEM_SLAB_DEFINE(log_slab, sizeof(hexdump_log_message_t),
  8. CONFIG_ACTLOG_NORMAL_LOG_NUM, 4);
  9. #endif
  10. void *log_memory_alloc(uint32_t size)
  11. {
  12. void *ptr = NULL;
  13. if (k_mem_slab_alloc(&log_slab, (void **) &ptr, K_NO_WAIT) == 0) {
  14. (void) memset(ptr, 0, size);
  15. }
  16. return ptr;
  17. }
  18. void log_memory_free(void *ptr)
  19. {
  20. k_mem_slab_free(&log_slab, (void *) &ptr);
  21. }