大数跨境
0
0

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

移植NXP GUI Guider的界面到小安派SCP4.3 安信可科技
2024-11-04
2
导读:更多教程请移步安信可社区



安信可技术论坛官方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接口方便拓展


本帖先介绍如何移植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

安装后打开

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


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

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

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

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

之后会打开工程姐界面


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

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

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

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

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

把刚才那两个文件夹复制到新建的文件夹中,修改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个宏定义

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

修改main函数

lv_ui guider_ui;int main(void){    board_init();

// printf("HeapSize:%d\r\n",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_handler\r\n"); printf("lvgl success\r\n"); 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:%d\r\n",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()就无法运行,原版工程也一样
编译并烧录,运行效果如图




原贴地址: 移植NXP GUI Guider的界面到小安派SCP4.3


微信改版,容易错过最新资讯和福利?

快将“安信可科技”设为星标

可以第一时间接收小安的推送!







往期回顾

低能耗、低时延、快速度,星闪开发板 Ai-BS21-32S-Kit 

10公里!超远距离传输的LoRa模块上架

0.1毫安!超超超超超低功耗雷达模组Rd-03L





安信可更多产品信息可进入以下链接查阅:

●开发资料:https://docs.ai-thinker.com/

●官方教程:https://blog.csdn.net/Boantong_

●安信可官网:www.ai-thinker.com

●安信可社区:https://bbs.ai-thinker.com

●业务咨询请联系:18022036575


【声明】内容源于网络
0
0
安信可科技
全球领先的联网模组、智能家居等物联网硬件方案提供商。
内容 393
粉丝 0
安信可科技 全球领先的联网模组、智能家居等物联网硬件方案提供商。
总阅读94
粉丝0
内容393