1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/zlgopen-awtk

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
how_to_support_multi_mem_block.md 1.1 КБ
Копировать Редактировать Web IDE Исходные данные Просмотреть построчно История
lixianjing Отправлено 22.04.2021 09:52 bec68c3

AWTK 内存分配器支持多块不连续的内存。

在嵌入式系统中,可能有多块不连续的内存。AWTK 最新版本支持管理多个不连续的内存块。使用方法如下:

  • 定义内存块数目

在 awtk_config.h 中定义:

#define TK_MAX_MEM_BLOCK_NR 3
  • 初始化内存

需要使用 tk_mem_init_ex 代替 tk_mem_init 初始化内存。一般将大块放到前面,小块放到后面。也可以将速度快的内存放到前面,将速度慢的放到后面。

/**
 * @method tk_mem_init_ex
 * @export none
 * 初始化内存,支持多块不连续的内存。
 * >最后一个参数必须为NULL。
 *
 * 示例:
 * ```c
 * tk_mem_init_ex(mem1, sizeof(mem1), mem2, sizeof(mem2), mem3, sizeof(mem3), NULL);
 * ```
 *
 * @param {void*} buffer 内存地址。
 * @param {uint32_t} size 内存长度。
 *
 * @return {ret_t} 返回RET_OK表示成功,否则表示失败。
 */
ret_t tk_mem_init_ex(void* buffer, uint32_t size, ...);

示例:

 tk_mem_init_ex(mem1, sizeof(mem1), mem2, sizeof(mem2), mem3, sizeof(mem3), NULL);

Опубликовать ( 0 )

Вы можете оставить комментарий после Вход в систему

1
https://api.gitlife.ru/oschina-mirror/zlgopen-awtk.git
git@api.gitlife.ru:oschina-mirror/zlgopen-awtk.git
oschina-mirror
zlgopen-awtk
zlgopen-awtk
master