tag 标签: LVGL

相关博文
  • 2025-4-2 18:13
    43 次阅读|
    0 个评论
    在如今工业智能化快速发展的时代,工业HMI的响应速度、显示效果与系统稳定性已成为设备竞争力的核心要素。 触觉智能RK3506核心板 59元售价,深度融合LVGL开源图形框架,以2.5秒极速启动、20ms超低触控延时、400MB/s显示带宽的硬核性能,为工业HMI、智能终端等场景提供低成本、高可靠性的解决方案。 LVGL图形界面库 LVGL是什么 LVGL(Light and Versatile Graphics Library)是一个免费的轻量级开源图形库。具有丰富部件与高级图形特性,支持多种输入设备和多国语言,独立于硬件之外的开源图形库。 LVGL优势 除了免费开源的优势,LVGL可以在占用很少资源的前提下,实现丝滑的动画效果和平滑滚动的高级图形,具有轻量化、跨平台可用性、易于移植、操作友等诸多优势。 RK3506与LVGL结合特性 2.5秒极速启动 通过全链路启动优化(Bootloader加载、内核裁剪、LVGL UI预加载),相较传统方案启动速度提升300%。 丝滑交互与高精度显示 LVGL框架+电容触控优化算法,实现“指尖触达即响应”,满足工业设备高频操作需求,并支持高达1280×1280分辨率的显示输出。 低功耗模式 屏幕休眠时功耗低至0.1W,满载不超过0.7W! LVGL应用场景落地 工业HMI人机界面 数控机床控制面板,可通过LVGL动态图表实时显示8轴位置、加工进度,触控操作丝滑流畅,支持可视化编辑。 产线状态监控大屏 多窗口分屏显示设备运行参数、报警日志,支持滑动翻页与手势缩放,最高输出1280×1280分辨率展示设备运行实况。 充电桩交互界面 扫码支付、充电进度动画、故障代码可视化,在 触觉智能RK3506核心板 59元售价情况下,成本骤降约40%! 便携式检测设备 低功耗模式下续航长达72小时,LVGL界面支持多语言切换,满足各类检测设备需求。 触觉智能RK3506核心板 视频: 图文:
  • 热度 2
    2025-1-16 13:15
    569 次阅读|
    0 个评论
    一个易用且轻量化的UI可以大大提高用户的使用效率和满意度——通过快速启动、直观操作和及时反馈,帮助用户快速上手并高效完成任务;轻量化设计则可以减少资源占用,提升启动和运行速度,增强产品竞争力。 LVGL(Light and Versatile Graphics Library)是一个免费开源的图形库,专为嵌入式系统设计。它以轻量级、高效和易于使用而著称,支持多种屏幕分辨率和硬件配置,并提供了丰富的GUI组件,能够帮助开发者轻松构建出美观且功能强大的用户界面。 近期,飞凌嵌入式为基于NXP i.MX93系列处理器打造的OK-MX9352-C开发板成功移植了LVGL v8.3,不仅界面美观精致,启动速度也大幅提升,仅需3.1s。 下面,我们将通过Ebike Screen Demo来展示LVGL v8.3在OK-MX9352-C开发板上的实际运行效果。 在OK-MX9352-C开发板上运行的LVGL v8.3版本中,飞凌嵌入式移植了一个Ebike Screen Demo,用于模拟电助力自行车屏幕界面。它充分利用了LVGL的组件和特性,展示了一个既美观又实用的仪表盘。 01 自定义背景图片 Demo使用了自定义绘制的背景图片,不仅美观,还通过LVGL的图像处理功能被完美地嵌入到界面中,使得整个仪表盘看起来更为美观。 02 基本组件的灵活应用 Demo中使用了按钮、页面跳转等基本组件,提供了丰富的交互功能。用户可以通过点击按钮来切换不同的页面,查看不同的信息。这些组件的灵活应用使得Demo的界面更加直观和易用。 03 丰富的信息显示 Ebike Screen Demo中展示了包括速度、电池、时间、地图和设置在内的多种信息,这些信息通过LVGL的图表和文本组件被清晰地呈现在屏幕上,使用户能够一目了然地了解电助力自行车的当前状态。 通过Ebike Screen Demo的展示,我们可以看到LVGL在OK-MX9352-C开发板上运行的优势——快速启动、功能丰富、界面美观,这对于正在寻找轻量化、易集成GUI解决方案的开发者来说,是一个非常具有优势的选择。 相信在未来,LVGL的图形界面将会更加多样化和智能化。飞凌嵌入式也将有更多产品适配LVGL,为嵌入式设备带来更加丰富和高效的交互体验,大家敬请期待。
  • 热度 1
    2025-1-10 10:57
    304 次阅读|
    0 个评论
    LVGL(Light and Versatile Graphics Library)是一个免费的开源图形库,旨在为各种微控制器(MCU)和微处理器(MPU)创建美观的用户界面(UI)。LVGL可以在占用很少资源的前提下,实现丝滑的动画效果和平滑滚动的高级图形,具有轻量化、跨平台可用性、易于移植、操作友好以及免费使用等诸多优势。 近期,飞凌嵌入式为OK3506J-S开发板移植了最新9.2版本的LVGL,支持多种屏幕构件以及鼠标、键盘、触摸等多种输入方式, 能够带来更加友好的操作界面;同时,启动速度也大幅提升,经过Demo测试,启动时间仅需2秒左右,CPU占用为8%~17%。 1、OK3506J-S开发板介绍 飞凌嵌入式OK3506J-S开发板基于瑞芯微RK3506J处理器开发设计,采用ARM 3*Cortex-A7+Cortex-M0架构,具有低成本、低功耗、高效能的特点,专为智能语音交互、音频输入/输出处理、图像输出处理等数字多媒体应用而设计。 值得注意的是,飞凌嵌入式FET3506J-S核心板也是业内首个搭载RK3506J处理器的SoM方案。 2、LVGL简介 (1) LVGL数据流 我们可以为每个屏幕创建一个显示盘(lv_display),在其上创建屏幕小部件,将小部件添加到这些屏幕上。如果要处理触摸、鼠标、键盘等输入时间,需要为它们创建一个Input Device;Tick接口告诉LVGL现在是什么时间;计时器处理器驱动LVGL的计时器,依次执行LVGL所有与时间相关的任务。 (2) LVGL数据流支持的显示后端 (3) 常用的显示控件 (4) 常用的组件 (5) 常用的布局 3、LVGL案例展示 飞凌嵌入式在OK3506J-S开发板上移植了一套Ebike screem的Demo,使用按钮、页面跳转等基本组件配合自定义绘制的背景图片制作出炫酷的仪表盘,可以逼真地模拟电助力自行车的屏幕界面,并展示出速度Speed、电池Battery、时间Time、地图Map等丰富的信息。 骑行信息界面 设置界面 电池信息界面 地图信息界面 以上就是飞凌嵌入式OK3506J-S开发板的LVGL使用示例,希望能够对屏幕前的工程师朋友有所帮助。OK3506J-S开发板即将上市,请您持续关注。
  • 热度 4
    2024-7-7 18:20
    531 次阅读|
    0 个评论
    【D133CBS RISC-V KunLun Pi】LVGL探索与体验
    开发板配备一块480*272分辨率RGB565显示屏,带触摸功能。此篇讲述SDK LVGL功能。 首先,控制台使用scons --menuconfig命令,进入配置界面,选择LVGL showcase demo,保存后退出。 图1:图形界面LVGL配置 开发板硬件UART0配置为系统调试串口,可以作日志使用,也可以进入命令模式辅助开发调试。 图2:串口日志调试 SDK使用的是RT-Thread系统,已经移植了LVGL框架。在kernel/rt-thread/src/components.c里rtthread_startup作为系统main启动函数,对系统板级初始化、系统定时器初始化,初始化任务,启动调度器等。 lvgl_thread_init创建了LVGL任务,在lvgl_thread_entry任务里,实现了LVGL功能,包含lvgl初始化,LCD屏配置,触摸配置以及用户UI界面设计。用户界面在lv_user_gui_init里设计。 图3:LVGL任务 这里做一下旋转屏方面的试验。在lv_port_disp.c里voidlv_port_disp_init()函数增加屏幕旋转配置参数,在lv_fbdev.h配置USE_DRAW_BUF是能及匹配调整屏的像素大小。如下图所示。 图4-1:屏幕旋转显示配置 图4_2:旋转配置使能及像素匹配 scons编译后AiBurn烧录。进入烧录方式:上电后按住UBOOT键不放,按一下RESET键,然后松开UBOOT键,进入烧录模式,加载编译后镜像,点击“开始”进行烧录. 图5:烧录固件 较修改前,屏幕旋转了180°,旋转屏显示效果如下: 图6:LCD屏旋转效果 至此,对SDK LVGL功能有进一步的了解与使用。
  • 热度 5
    2024-4-29 15:32
    684 次阅读|
    0 个评论
    By Toradex胡珊逢 简介 LVGL 是一个免费、开源的图形库,能够在嵌入式设备如上使用 C/C++ 语言轻松绘制图形。由于这是一轻量级图形库,最初广泛被 MCU 处理器使用。随着功能完善,在性能和资源更充裕的 MPU 上也逐渐被使用。文章将介绍如何在 Verdin AM62 计算机模块上移植 LVGL。 硬件介绍 Verdin AM62是一款基于TI AM623/625 SoC 的 Arm 计算机模块,提供多达 4 个 Cortex-A53 内核和一个 Cortex-M4 处理器。最高 RAM 和 Flash 分别为 2GB 和 16GB。支持常见的 I2C、SPI、CAN 和 双路以太网等。模块可选配板载 WIFI/BT 模块。 软件说明 Verdin AM62 提供使用Yocto Project生成的 Linux 镜像。该系统使用 wayland 作为底层图形框架。而 LVGL 目前也已经能够支持 wayland。无需移植硬件显示控制器驱动。如果在 MCU 上使用 LVGL,通常选择所使用的控制器,如 ILI9341。相关内容可以参考我们之前发布的文章。 LVGL 移植 LVGL 的编译需要用到 Linux SDK。可以参考该页面,使用Yocto Project 生成 SDK 文件后进行安装。 首先,使用下面命令下载LVGL v8.1。 gitclone--recursivehttps://github.com/lvgl/lv_port_pc_eclipse.git cdlv_port_pc_eclipse/ gitcheckout-bWORKINGorigin/release/v8.1 gitsubmoduleinit gitsubmoduleupdate 在lv_port_pc_eclipse 目录中,打上补丁文件。 gitapply-p1lvgl_v8.1_verdin_am62.patch LVGL 使用 cmake 编译。在 CMakeLists.txt 中添加了 Linux SDK 的安装目录,以及相关的头文件在 SDK 中对应的位置。 +set(SDK_ROOT "$ENV{SDKPATH}") +include_directories(${PROJECT_SOURCE_DIR}) +include_directories(${SDK_ROOT}/sysroots/aarch64-tdx-linux/usr/include/libdrm) LVGL 包含三部分代码,lvgl 图形库实现代码,lv_drivers 显示驱动,以及演示用的 lv_demos 代码。在 CMakeLists.txt 中定义编译目标。 + target_compile_definitions(lvgl + target_compile_definitions(lv_drivers + target_compile_definitions(lv_demos 关于lvgl 自身功能和属性的配置在 lv_conf.h 中管理。对于资源有限的 MCU 这非常有用。禁用不需要的的功能,能够有效减少编译后二进制文件的大小,并降低 RAM 开销。在 Arm Linux 则没有这样的限制,还可以充分利用 Linux 资源。例如 lvgl 使用 Linux 平台中 glibc 提供的内存管理 API。 # define LV_MEM_CUSTOM_INCLUDE # define LV_MEM_CUSTOM_ALLOC malloc # define LV_MEM_CUSTOM_FREE free # define LV_MEM_CUSTOM_REALLOC realloc lv_drv_conf.h 主要配置 lvgl 输出所需的显示驱动属性。Verdin AM62 的 Linux 中已经实现了显示硬件驱动的配置,lvgl 只需要在 wayland 完成渲染显示即可,在 lv_drv_conf.h 不需要太多的设置,这里只设定了显示窗口大小。 +/* Demo Resolution */ +# define SDL_HOR_RES 800 +# define SDL_VER_RES 400 文章使用lvgl 自带的 demo 作为演示,lv_demo_conf.h 中 demo 外观。 #define LV_USE_DEMO_MUSIC 1 #if LV_USE_DEMO_MUSIC -# define LV_DEMO_MUSIC_LANDSCAPE 0 +# define LV_DEMO_MUSIC_SQUARE 0 +# define LV_DEMO_MUSIC_LANDSCAPE 1 +# define LV_DEMO_MUSIC_ROUND 0 main.c 中初始化 lvgl 相关的 API,并利用 SDL 线程每隔 5ms 调用 lv_tick_inc() 为 lvgl 提供计时。 staticinttick_thread(void*data) { (void)data; while(1) { SDL_Delay(5); lv_tick_inc(5); } return0; } 通过SDL 把触摸屏作为 lvgl 的输入设备。 indev_drv_1.read_cb = sdl_mouse_read; lv_indev_t*mouse_indev =lv_indev_drv_register(&indev_drv_1); 最后,使用Linux SDK 中的 environment-setup-aarch64-tdx-linux 初始化编译环境后完成编译。 source~/LinuxSDK/v6-am62/environment-setup-aarch64-tdx-linux cmake. make 将生成的main 二进制文件复制到 Verdin AM62 上运行即可。 总结 文章介绍了如何将LVGL 移植到 Verdin AM62 模块上,由于底层显示驱动已经在 Linux 中配置,移植过程并不涉及硬件驱动,该方法同样也适用于除了 AM62 以外的其他模块。 参考 ·How to build LVGL applications using STM32CubeIDE ·LVGL Set up a project
相关资源