赞
踩
【启明智显】,作为一家专注于HMI和AIoT解决方案的公司,我们致力于为用户提供创新、可靠且高效的产品和解决方案。近日我们推出了高性能及高性价比的HMI芯片——Model3A。芯片搭载了强大的2D图形加速引擎,能够提供高达720P分辨率下的60FPS刷新率,确保流畅的动态画面表现。此外,它内置了8MB的psram,为复杂的图形处理提供了充足的缓冲空间。
随着这款芯片的推出,启明智显还搭配发布了一款7寸1024*600分辨率的一体黑高清触控智能屏。支持多种接口CAN/RS485/TTL等,工业级品质,智能触控新体验!
为了最大化利用Model3A芯片的性能优势,同时考虑到开发效率和成本效益,启明智显开源了基于LVGL的屏幕驱动,选择LVGL进行用户界面的开发主要是LVGL是一个流行的开源图形库,它以轻量级著称,特别适合嵌入式系统。它可以使得用户界面运行更加流畅,且不会对系统性能产生较大负担。
选择LVGL的另一个重要因素是其开源生态系统。拥有一个活跃的社区和广泛的文档支持,开发者可以迅速上手学习并掌握LVGL的使用。这不仅可以加快开发进度,还能促进知识的交流和技术的创新。
LVGL是一款最受欢迎的免费开源的嵌入式图形库,用于为任何MCU、MPU和显示器创建漂亮的用户界面。它得到了业界领先的供应商和项目的支持,如Arm、STM32、NXP、Espressif、Nuvoton、Arduino、RT-Thread、Zephyr、NuttX、Adafruit等。
LVGL的架构非常灵活和可配置。它采用了模块化设计,可以根据需求通过添加或删除功能模块来定制库的大小。LVGL内置了丰富的组件,包括按钮、标签、列表、滑动条等,还支持动画、图像、字体、颜色等各种属性的自定义。
LVGL可以与各种嵌入式系统、MCU和显示器一起使用,如NXP、ESP32及启明智显的Model3A系列等。它提供了针对不同平台的适配层和驱动程序,可以与各种显示器技术(如TFT、OLED、LCD等)和操作系统(如FREERTOS、RT-Thread)无缝集成。
烧录到7寸触控屏(ZX7D00CM21S)的真实效果呈现
LVGL因其丰富的功能和灵活性而成为嵌入式系统开发的理想选择,它能够帮助开发者在不牺牲性能的前提下创造出具有吸引力的用户界面,同时降低开发难度和加快市场上市时间。
烧录到3.5寸触控屏(SC01PLUS)的真实效果呈现
LVGL(Light and Versatile Graphics Library)由于其轻量级、高性能和易于使用的特点,在各种嵌入式系统中有着广泛的应用。
在 ZX-RTT根目录下执行 scons --menuconfig
,进入 menuconfig 的功能配置界面,配置如下:
- Application options --->
- *** Filesystem related ***
- [*] Using File System Image 0 --->
- --- Using File System Image 0
- Select File System Type (FATFS) --->
- (application/os/custdemo/assets/fatfs/) Data Directory
- (app.fatfs) Image Name
- [*] auto calcuate image size
- [*] Using File System Image 1 ----
- Select File System Type (LittleFS) --->
- (application/os/custdemo/assets/littlefs/) Data Directory
- (data.lfs) Image Name
- (4096) Erase block size
- (256) Page size
- [ ] ZX lvgl benchmark demo ----
- [ ] ZX freetype demo ----
- [ ] ZX 3D95 demo ----
- [ ] ZX CUST demo ----
- [*] ZX lvgl widgets demo ----
lvgl benchmark demo和lvgl widgets demo为LVGL官方demo,主要用作性能测试;
freetype demo为字库文件取模演示,当选中的时候,需要修改Using File System Image 0中的图片资源文件路径为: application/os/freetype/res/font;
3D95 demo为86盒演示demo,需要修改Using File System Image 0中的图片资源文件路径为: application/os/ZX3D95/assets;
CUST demo为用作demo替换,简化UI移植过程
- /ram --ramfs文件系统,对应Using File System Image 0中Data Directory中的资源文件
- /data --挂载nor/nand文件系统,对应Using File System Image 1中Data Directory中的资源文件文件
- /sdcard --挂载SD卡
- /udisk --挂载U盘
lvgl demo可以通过设置宏定义来修改读取文件的目录
- #define LVGL_DATA_PATH "L:/data/" // 从/data目录读取资源图片
- #define LVGL_DATA_PATH "L:/sdcard/" // 从/sdcard目录读取资源图片
- #define LVGL_DATA_PATH "L:/udisk/" // 从/udisk目录读取资源图片
图片缓存, 通过宏定义CACHE_IMG_NUM配置, 配置定义于 zx-rtt-sdk/packages/third-party/lvgl/Kconfig, 也可在zx-rtt-sdk/packages/third-party/lvgl/lvgl-8.3.10/zx/zx_gui.c文件中修改
- #define CACHE_IMG_NUM 15
-
- lv_init();
- zx_port_disp_init();
- zx_port_indev_init();
- lv_img_cache_set_size(CACHE_IMG_NUM);
- aic_dec_create();
带屏的设备
USB Type-C数据线,用于设备供电,以及烧写固件
调试串口
PC端串口终端软件,用于串口通信
PanelLanDownloader烧写工具,用于烧写固件
请见 VE 参数配置
请见 MPP 参数配置
请见 DE 参数配置
配置编译任意一个lvgl demo(使能LVGL库和LVGL demo)
在zx-rtt/application/os/$app/main.c中会调用INIT_APP_EXPORT开机自动运行
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。