
- 移植说明
- 移植及配置
- 编译说明
- 功能模块配置
- lvgl初始化配置
下载源码:
lvgl v7.11.0.
- 复制到指定目录 lvgl_v7
- 在该目录下新建两个文件夹”layout“,“api”
- 其中layout文件中用于创建功能逻辑代码,api下用于创建模块功能
- 解压压缩包: tar -zxvf lvlg-7.11.0.tar.gz,并且将解压后的文件夹重新命名“lvgl”
- 进入lvgl目录下,将lv_conf_template.h重新命名lv_conf.h并且打开将#if 0修改位#if 1
- 在lvgl_v7目录下创建文件 :CMakeLists.txt,并且编辑
cmake_minimum_required (VERSION 2.8)
#cmake最低使用版本
#编译工具链的路径
set(CMAKE_C_COMPILER "/opt/arm-anykav500-linux-uclibcgnueabi/usr/bin/arm-anykav500-linux-uclibcgnueabi-gcc")
set(CMAKE_CXX_COMPILER "/opt/arm-anykav500-linux-uclibcgnueabi/usr/bin/arm-anykav500-linux-uclibcgnueabi-g++")
#执行文件命名
SET(leo_proj ANYKA37EOS)
#add_definitions(-DLV_CONF_INCLUDE_SIMPLE )
project(${leo_proj})
#工程名
SET(CMAKE_BUILD_TYPE "Release")
SET(CMAKE_C_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall -std=gnu11")
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall -std=c++1y")
find_package(Threads)
aux_source_directory(./layout DIR_SRCS)
include_directories(./)
#添加目录
add_subdirectory(lvgl)
#add_subdirectory(layout)
add_subdirectory(api)
set(VAR ${VAR} lvgl)
set(VAR ${VAR} api)
add_executable(${leo_proj} ${DIR_SRCS})
message("VAR : ${VAR}")
target_link_libraries(${leo_proj} ${VAR})
- 在api目录下新建”CMakeLists.txt“
file(GLOB_RECURSE SOURCES . #define LV_COLOR_DEPTH 16 #define LV_COLOR_16_SWAP 0 #define LV_COLOR_SCREEN_TRANSP 0 #define LV_DISP_DEF_REFR_PERIOD 30lvgl初始化配置
- 系统初始化.
static void* lvlg_titck_task(void* arg)
{
struct ak_timeval tv1,tv2;
while(1)
{
ak_get_ostime(&tv1);
lv_tick_inc(tv1.sec*1000 + tv1.usec/1000 - tv2.sec*1000 - tv2.usec/1000);
ak_get_ostime(&tv2);
ak_sleep_ms(1);
}
}
int main(int argc,char** argv)
{
lv_init();
lv_port_disp_init();
lv_port_indev_int();
goto_layout(pLayout(home));
ak_ptrhread_t thread_id;
ak_thread_create(&thread_id,lvlg_titck_task,NULL,lvlg_titck_task);
while(1)
{
lv_task_handler();
ak_sleep_ms(1);
}
return 0;
}
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)