Этот репозиторий использует методы управления памятью из freeRTOS и имеет следующие характеристики:
xmake b # Компиляция
xmake r xf_heap # Запуск примера
xmake r xf_heap_test # Запуск юнит-тестов
Результаты запуска примера
free_size = 12256
free_size = 12236
p = 0x556abe3dc0b0, *p = 123
min_stack_size = 12256
free_size = 12256
```**Результаты запуска юнит-тестов**
```bash
Unity test run 1 of 1
.......
-----------------------
6 Тестов 0 Ошибок 0 Игнорированных
OK
/**
* @brief Запрос памяти
*
* @param size Размер запрашиваемой памяти
* @return void* Адрес запрошенной памяти
*/
void *xf_malloc(size_t size);
/**
* @brief Освобождение памяти
*
* @param pv Адрес освобождаемой памяти
*
* @note При освобождении памяти необходимо установить указатель в NULL, чтобы избежать доступа к неосвобожденной памяти
*/
void xf_free(void *pv);
/**
* @brief Перезагрузка интерфейсов управления памятью
*
* @param api Интерфейсы управления памятью
* @return int
* - XF_HEAP_FAIL Ошибка в определении параметров
* - XF_HEAP_OK Успешная перезагрузка
*/
int xf_heap_api_redirect(const xf_heap_api_t *api);
/**
* @brief Размонтирование управления памятью
*
* @return int 0 Успешное размонтирование, -1 Неудачное размонтирование
*/
int xf_heap_uninit(void);
/**
* @brief Получение общего размера свободной памяти
*
* @return size_t Общий размер свободной памяти
*/
size_t xf_heap_get_free_size(void);
/**
* @brief Получение минимального размера свободной памяти, который когда-либо был доступен
*
* @return size_t Размер свободной памяти в байтах
*/
size_t xf_heap_get_min_ever_free_size(void);
Перенос требует копирования файлов из папки src. Необходимо предоставить файл конфигурации xf_heap_config.h (если он пуст, используются все значения по умолчанию). Конфигурируемые параметры и значения по умолчанию можно найти в файле xf_heap_internal_config.h.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )