0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

移植NXP GUI Guider的界面到小安派SCP4.3

AIoT行业洞察 来源:AIoT行业洞察 作者:AIoT行业洞察 2024-11-06 11:29 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

wKgaomcq4omAb5T1AAEH9PDRG1Q878.jpg

https://www.bilibili.com/video/BV1UgSiY1EP9/?spm_id_from=333.999.0.0&vd_source=54c5db21948db2378659b7e8e42bafbf

安信可技术论坛官方B站账号来啦

提前关注不迷路

在这里优先预告各类活动、教程

以下作品由安信可社区用户

yuyy1989制作

小安派-SCP-4.3具有4.3寸液晶显示模块、按键模块、RS485接口Type-C供电模块。

小安派-SCP-4.3出厂适配了4.3屏幕驱动,作为码盘显示需要的信息,可通过按键改变屏幕显示的界面,适用于电动车或自行车等两轮车的应用

采用安信可M61无线模组为控制核心,通过M61芯片驱动4.3寸(480*272)RGB液晶屏,外接RS485通信接口,采用Tpye-C接口进行供电,将其余的IO口引出作为GPIO接口方便拓展。

wKgZomcq4omAKajCAAD_0QGQWjI613.jpg

本帖先介绍如何移植GUI Guider内置的模板界面到小安派SCP4.3,暂时不介绍如何使用GUI Guider设计界面。

GUI Guider是恩智浦提供的用户友好型图形用户界面开发工具,可通过开源LVGL图形库快速开发高品质的显示。GUI Guider的拖放编辑器可以轻松利用LVGL的众多特性,如小部件、动画和样式来创建GUI,而只需少量代码或根本无需任何代码。

使用时需要注意GUI Guider的版本和支持的LVGL版本绑定,小安派的LVGL版本是8.3.7,GUI Guider 1.6.1的LVGL版本是8.3.5,而1.7.0的LVGL版本是8.3.10,这里使用1.6.1的版本为小安派SCP4.3移植界面。

GUI Guider 下载地址,下载需要注册账号

https://www.nxp.com.cn/design/de ... i-guider:GUI-GUIDER

安装后打开

wKgaomcq4omAWhAOAABzdCKhbdg773.jpg

选择创建新项目进入LVGL版本选择

wKgZomcq4oqAE6d-AABful4SIjc563.jpg

选择v8.3.5,后点击下一步

wKgaomcq4oqAdUqNAACUGEwAnAY383.jpg

小安派没有在官方设备模板里,这里选择模拟器,然后点击下一步

https://www.nxp.com (二维码自动识别)

这里随便选个界面模板,点击下一步

wKgZomcq4o2AVTNWAACOoB21TnU037.jpg

输入工程名称,屏幕默认分辨率是480x272和小安派SCP4.3的屏幕分辨率一致不用修改,点击创建

wKgaomcq4o6ANsYEAAC73jM9BF4007.jpg

之后会打开工程姐界面

wKgZomcq4o6AWRZiAAApJgLEbL8698.jpg

如果是第一次使用到这里时页面都是英文的,可以点击右上角切换为中文

wKgaomcq4o6AZVNhAAAtiXtOFv8585.jpg

点击右上角的三角,选择C之后会自动生成这个界面的LVGL代码

wKgZomcq4o-AUitMAAA7-GnLyU8540.jpg

最后会弹出一个模拟器界面用来预览

chaijie_default.png

打开工程文件夹,这里的custom和generated是移植需要用到的

wKgaomcq4o-AaH-qAACJ26aDTRg986.jpg

打开SCP4.3的工程文件夹,删掉原来的UI文件夹,新建一个文件夹用来放刚才那两个文件夹

wKgZomcq4pCAVwQOAAAqzixUh1A870.jpg

把刚才那两个文件夹复制到新建的文件夹中,修改SCP4.3工程根目录下的CMakeLists.txt

include(proj.conf)
find_package(bouffalo_sdk REQUIRED HINTS $ENV{BL_SDK_BASE})
file(GLOB_RECURSE sources "${CMAKE_CURRENT_SOURCE_DIR}/guider_ui/*.c")
file(GLOB_RECURSE app "${CMAKE_CURRENT_SOURCE_DIR}/app/*.c")
# User
# sdk_add_compile_definitions(-DCONFIG_CLI_CMD_ENABLE)
sdk_add_compile_definitions(-DLV_LVGL_H_INCLUDE_SIMPLE)
sdk_add_include_directories(.)
sdk_add_include_directories(guider_ui)
sdk_add_include_directories(guider_ui/custom)
sdk_add_include_directories(guider_ui/generated)
sdk_add_include_directories(guider_ui/generated/guider_customer_fonts)
sdk_add_include_directories(guider_ui/generated/guider_fonts)
sdk_add_include_directories(guider_ui/generated/images)
sdk_add_include_directories(app)
target_sources(app PRIVATE ${sources} ${app})
sdk_set_main_file(main.c)
get_filename_component(PROJECT_NAME ${CMAKE_CURRENT_SOURCE_DIR} NAME)
project(${PROJECT_NAME})

修改lv_conf.h,增加2个宏定义

wKgaomcq4pCAe1LMAABAoelNgcg623.jpg

修改main.c,添加头文件并注释掉WAKE_UP_ENABLE这个宏定义

wKgZomcq4pCAI-nsAAAjFGsTFy4998.jpg

修改main函数

lv_ui guider_ui;
int main(void)
{
board_init();
// printf("HeapSize:%drn",xPortGetFreeHeapSize());
tcpip_init(NULL, NULL);
//wifi_start_firmware_task();
lwip_sntp_init();
bflb_mtd_init();
easyflash_init();
/* lvgl init */
lv_log_register_print_cb(lv_log_print_g_cb);
lv_init();
lv_port_disp_init();
//ui_init();
setup_ui(&guider_ui);
events_init(&guider_ui);
printf("lv_task_handlerrn");
printf("lvgl successrn");
xTaskCreate(lvgl_task, (char*)"lvgl", LVGL_STACK_SIZE, NULL, LVGL_TASK_PRIORITY, &lvgl_TaskHandle);
xTaskCreate(button_process_task, (char*)"button_proc_task", button_PROCESS_STACK_SIZE, NULL, button_PROCESS_PRIORITY, &button_process_task_hd);
// printf("HeapSize:%drn",xPortGetFreeHeapSize());
#ifdef WAKE_UP_ENABLE
xTaskCreate(app_ble_task, (char*)"app_ble_task", APPBLE_PROCESS_STACK_SIZE, NULL, APPBLE_PROCESS_PRIORITY, &app_ble_process_task_hd);
#endif
vTaskStartScheduler();
// while (1) {
// lv_task_handler();
// bflb_mtimer_delay_ms(1);
// }
while (1) {
}
}

这里不注释掉wifi_start_firmware_task()就无法运行,原版工程也一样

编译并烧录,运行效果如图

wKgaomcq4pGAZwyTAAEM5HfoRPU061.jpg

原贴地址:移植NXP GUI Guider的界面到小安派SCP4.3https://bbs.ai-thinker.com/foru

审核编辑 黄宇

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • NXP
    NXP
    +关注

    关注

    61

    文章

    1413

    浏览量

    199556
  • GUI
    GUI
    +关注

    关注

    3

    文章

    699

    浏览量

    43999
  • SCP
    SCP
    +关注

    关注

    0

    文章

    30

    浏览量

    9893
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    直播预告 | 开源软件包移植适配专题(第1期):SQLite 从入门精通

    移植与使用方法。第1期,我们从SQLite开始。4月29日(周三)晚8点,我们用一场直播,带你从零开始把SQLite移植睿擎,并实现完整的数据库操作。直播核心内
    的头像 发表于 04-24 18:05 539次阅读
    直播预告 | 开源软件包<b class='flag-5'>移植</b>适配专题(第1期):SQLite 从入门<b class='flag-5'>到</b>精通

    EsDA科普 | AWTK:打造流畅、开源、跨平台的嵌入式GUI

    工业GUI开发四大坑:界面卡、启动慢、跨平台难、版权贵。AWTK用纯C语言+自研算法破局,一套代码跑遍全平台,100%开源免费,拖拽即得工业级交互界面。你的GUI开发是否遇到这些坑?在
    的头像 发表于 04-09 11:35 439次阅读
    EsDA科普 | AWTK:打造流畅、开源、跨平台的嵌入式<b class='flag-5'>GUI</b>

    GUI Guider 如何控制字体生成的范围?

    比如大号的字体我只需要使用其中的某些字符,但是GUI Guider 默认生成全部的ASCII和FontAwesome图标,比较浪费Flash空间.
    发表于 03-16 07:48

    gui guider 1.9.1无法登录,白屏如何解决?

    gui guider 1.9.1 无法登录 急急急 白屏如何解决
    发表于 03-10 07:06

    无法在 MIMXRT1170-EVKB 上运行 GUI Guider 1.10.0 DemoAPP怎么解决?

    我正在尝试使用以下设置运行 ButtonCounter 演示应用程序: MIMXRT1170-EVKB + RK055AHD091 GUI Guider 1.10.0-GA MCUXpresso
    发表于 03-02 07:04

    GUI GUIDER中如何启用eSingle Buffer

    在嵌入式 GUI 开发中,“跑不快”“卡顿”“撕裂”几乎是所有工程师都踩过的坑。尤其是在 RGB LCD 这种持续扫描的显示接口下,当显存刷新与 LCD 扫描不同步时,画面撕裂几乎不可避免。为了规避
    的头像 发表于 02-09 09:43 1001次阅读
    在<b class='flag-5'>GUI</b> <b class='flag-5'>GUIDER</b>中如何启用eSingle Buffer

    恩智浦嵌入式HMI应用开发工具GUI Guider 1.10.1全新上线

    恩智浦嵌入式HMI应用开发工具GUI Guider 1.10.1全新上线啦!新版本重点聚焦性能提升、工具链升级、多点触控体验以及开发板适配,进一步优化IDE界面,增强功能稳定性,并完善文档体系。
    的头像 发表于 12-28 09:45 2170次阅读

    恩智浦GUI Guider 1.10.0正式上线

    GUI Guider 1.10.0正式上线啦!新版本软件带来了更智能的UI开发工具、更高效的图片资源性能优化,以及更广泛的开发板支持。
    的头像 发表于 10-27 09:18 1979次阅读

    ElfBoard技术贴|如何在【RK3588】ELF 2开发板移植LVGL8.2

    随着嵌入式设备对图形用户界面GUI)的需求不断提升,选择一款高效、轻量且易于移植GUI框架已成为项目开发中的关键环节。LVGL与Qt作为嵌入式领域广泛使用的两种
    的头像 发表于 10-15 08:52 6187次阅读
    ElfBoard技术贴|如何在【RK3588】ELF 2开发板<b class='flag-5'>移植</b>LVGL8.2

    小安立式桌摆外壳设计制作

    以下作品由安信可社区用户 1055173307 制作 欢迎大家来安信可论坛,笔者发布的原贴下一起交流讨论: 原贴地址 :开源】小安R2立式桌摆外壳设计制作 手里一直有一块去年在安信可论坛用积分兑换
    的头像 发表于 09-09 17:20 1076次阅读
    <b class='flag-5'>小安</b><b class='flag-5'>派</b>立式桌摆外壳设计制作

    基于RTThread nano的LVGL线程卡顿怎么解决?

    ;// LVGL的显示支持 #include \"lv_port_indev.h\" // LVGL的触屏支持 #include \"gui_guider.h\"
    发表于 09-09 06:04

    树莓操作系统:版本、特性及设置完整指南!

    桌面环境的版本和轻量级、仅用于命令行的最小安装版本。该操作系统设计高效且资源友好,是树莓设备的理想选择。树莓操作系统的优势√轻量高效该操作系统设计精简,占用资源
    的头像 发表于 07-28 18:26 2024次阅读
    树莓<b class='flag-5'>派</b>操作系统:版本、特性及设置完整指南!

    GUI Guider全新优化方案GUI xTurbo-VeloRender初体验:基于i.MX RT平台的LVGL渲染能力突破

    引言 在嵌入式GUI开发领域,图形界面的渲染性能直接决定了用户体验的流畅度与产品竞争力。针对i.MX RT系列的开发需求,恩智浦在2025年隆重推出全新的性能优化方案 - GUI xTurbo技术
    的头像 发表于 07-10 09:21 4119次阅读
    <b class='flag-5'>GUI</b> <b class='flag-5'>Guider</b>全新优化方案<b class='flag-5'>GUI</b> xTurbo-VeloRender初体验:基于i.MX RT平台的LVGL渲染能力突破

    【PCA9958HN-ARD】GUI工具的使用

    一、说明 PCA9958HN-ARD评估板是可以通过NXP官方的GUI上位机来进行控制的,但是需要使用另外的官方指定的MCU开发板。 例如下图就是通过LPC55S69-EVKMCU板来演示
    发表于 06-29 10:07

    10分钟上手睿擎平台GUI开发:第一个LVGL图形应用

    LVGL开源图形库为嵌入式系统提供了高效的GUI设计解决方案,为开发者提供了直观且易于使用的界面设计环境。LVGL不仅资源占用低,更拥有全面的功能和丰富的文档资料,使得GUI设计变得简单而高效。此外
    的头像 发表于 06-06 18:41 3113次阅读
    10分钟上手睿擎平台<b class='flag-5'>GUI</b>开发:第一个LVGL图形应用