lvgl仿真

LVGL仿真

Linux

一、基于SDL2

  1. SDL2安装 安装地址URL
    1
    2
    3
    4
    url:http://www.libsdl.org/download-2.0.php
    ./configure
    make
    sudo make install
    或者
    1
    sudo apt-get update && sudo apt-get install -y build-essential libsdl2-dev
  2. 下载基于SDL2编译的包
    1
    git clone --recursive https://github.com/lvgl/lv_sim_vscode_sdl
  3. 编译运行
    1
    ./bulid/bin/demo
    提示error while loading shared libraries libSDL-1.2.so.0
    没找到库,需重新安装
    1
    sudo apt-get install --reinstall libsdl1.2debian
    旧的仿真环境删除,由lv_port_pc_eclipse替换
    1
    https://github.com/lvgl/lv_port_pc_eclipse.git
    1
    2
    CFLAGS ?= -O3 -I$(LVGL_DIR)/ $(WARNINGS) -I../SDL2-2.0.14/_instal/include
    LDFLAGS ?= -L../SDL2-2.0.14/_instal/lib -lSDL2 -lm -lpthread
    运行
    1
    ./demo

二、基于framebuffer

下载源码

1
git clone --recursive https://github.com/lvgl/lv_port_linux_frame_buffer

编译后 打开命令行终端

1
ctrl+alt+F2     #(1234)退出F7

Windows

同linux基于SDL2

  • 下载windows SDL2

  • mingw32安装SDL2
    i686-w64-mingw32复制到环境路径

    1
    where g++

    若提示_beginthreadex _endthreadex错误,则因为mingw32版本不够,需改动main.c

1
2
3
#include <windows.h>
// SDL_CreateThread(tick_thread, "tick", NULL);
CreateThread(NULL,0,tick_thread,0,0,0);

使用lv_port_pc_eclipse

lib/libSDL2.dll.a和include/SDL2放入对应文件夹,删除makefile多余规则

WSL

最简洁

  • 安装SDL2库
    1
    sudo apt install libsdl2-dev
  • 使用lv_port_pc_vscode
    1
    git clone --recursive https://github.com/lvgl/lv_port_pc_vscode
  • 编译运行
    1
    cmake -B build

字体仿真

修改取字库文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
static uint8_t *__user_font_getdata(int offset, int size){
//如字模保存在SPI FLASH, SPIFLASH_Read(__g_font_buf,offset,size);
//如字模已加载到SDRAM,直接返回偏移地址即可(sdram_fontddr+offset);
FILE *fp;
fp=fopen("/d/myFont2.bin","rb");
if (fp == 0)
{
LV_LOG_WARN("open error");
}
else
{
// LV_LOG_WARN("open OK");
fseek(fp,offset,SEEK_SET);
fread(__g_font_buf,size,1,fp);
fclose(fp);
}
return __g_font_buf;
}

-->

请我喝杯咖啡吧~

支付宝
微信