zephyr/modules/lvgl/Kconfig.memory

116 lines
3.2 KiB
Plaintext

# Copyright (c) 2018-2019 Jan Van Winkel <jan.van_winkel@dxplore.eu>
# Copyright (c) 2020 Teslabs Engineering S.L.
# SPDX-License-Identifier: Apache-2.0
menu "Memory manager settings"
config LV_Z_BITS_PER_PIXEL
int "Bits per pixel"
default 32
range 1 32
depends on LV_Z_BUFFER_ALLOC_STATIC
help
Number of bits per pixel.
choice LV_Z_MEMORY_POOL
prompt "Memory pool"
default LV_Z_MEM_POOL_SYS_HEAP
help
Memory pool to use for lvgl allocated objects
config LV_Z_MEM_POOL_HEAP_LIB_C
bool "C library Heap"
depends on !MINIMAL_LIBC || (COMMON_LIBC_MALLOC_ARENA_SIZE != 0)
help
Use C library malloc and free to allocate objects on the C library heap
config LV_Z_MEM_POOL_SYS_HEAP
bool "User space lvgl pool"
select SYS_HEAP_INFO
help
Use a dedicated memory pool from a private sys heap.
endchoice
config LV_Z_MEM_POOL_SIZE
int "Memory pool size"
default 2048
depends on LV_Z_MEM_POOL_SYS_HEAP
help
Size of the memory pool in bytes
config LV_Z_MEMORY_POOL_CUSTOM_SECTION
bool "Link memory pool to custom section"
depends on LV_Z_MEM_POOL_SYS_HEAP
help
Place LVGL memory pool in custom section, with tag ".lvgl_heap".
This can be used by custom linker scripts to relocate the LVGL
memory pool to a custom location, such as tightly coupled or
external memory.
config LV_Z_VDB_SIZE
int "Rendering buffer size"
default 100 if LV_Z_FULL_REFRESH
default 10
range 1 100
help
Size of the buffer used for rendering screen content as a percentage
of total display size.
config LV_Z_DOUBLE_VDB
bool "Use two rendering buffers"
help
Use two buffers to render and flush data in parallel
config LV_Z_FULL_REFRESH
bool "Force full refresh mode"
help
Force full refresh of display on update. When combined with
LV_Z_VDB_SIZE, this setting can improve performance for display
controllers that require a framebuffer to be present in system memory,
since the controller can render the LVGL framebuffer directly
config LV_Z_VDB_ALIGN
int "Rending buffer alignment"
default 4
depends on LV_Z_BUFFER_ALLOC_STATIC
help
Rendering buffer alignment. Depending on chosen color depth,
buffer may be accessed as a uint8_t *, uint16_t *, or uint32_t *,
so buffer must be aligned to prevent unaligned memory access
config LV_Z_VBD_CUSTOM_SECTION
bool "Link rendering buffers to custom section"
depends on LV_Z_BUFFER_ALLOC_STATIC
help
Place LVGL rendering buffers in custom section, with tag ".lvgl_buf".
This can be used by custom linker scripts to relocate the LVGL
rendering buffers to a custom location, such as tightly coupled or
external memory.
choice LV_Z_RENDERING_BUFFER_ALLOCATION
prompt "Rendering Buffer Allocation"
default LV_Z_BUFFER_ALLOC_STATIC
help
Type of allocation that should be used for allocating rendering buffers
config LV_Z_BUFFER_ALLOC_STATIC
bool "Static"
help
Rendering buffers are statically allocated based on the following
configuration parameters:
* Horizontal screen resolution
* Vertical screen resolution
* Rendering buffer size
* Bytes per pixel
config LV_Z_BUFFER_ALLOC_DYNAMIC
bool "Dynamic"
help
Rendering buffers are dynamically allocated based on the actual
display parameters
endchoice
endmenu