使用NXP GUI GUIDER生成的GUI移植到雅特力MCU平台过程详解(ST/GD/国民/极海通用)

好记性不如烂笔头,既然不够聪明,就乖乖的做笔记,温故而知新。

本文档用于本人对知识点的梳理和记录

一、前言

上一篇我们有介绍NXP GUI Guider工具如何制作和调试GUI,GUI神器 NXP GUI GUIDER开发工具入门教程https://blog.csdn.net/weixin_38933763/article/details/132311269GUI制作好后,如何移植到硬件平台呢?这篇文档会详细介绍如何移植到雅特力AT32F403A平台。文档最后有实际效果视频。

雅特力科技AT32F403A系列MCU,搭载32位ARM® Cortex®-M4内核,达240MHz的运算速度。支持单精度浮点运算单元(FPU)及数字信号处理器(DSP),最高可支持1MB闪存存储器(Flash)及224KB随机存取存储器(SRAM)。适用于工业自动化 (industrial automation),电机控制 (motor control),物联网 (IoT) 及消费性电子 (consumer electronics) 等各种成本敏感及高运算需求的设计。

二、移植

2.1 工具

AT32F403A开发板:AT-START-F403A

8080接口LCD屏一块 240x320 分辨率

软件工具:KEIL,GUI Guider

2.2 移植过程

1、将GUI工程复制到MCU工程,建议放在根目录,便于后面添加头文件和C文件

2、将GUI目录下"custom"和"generated"两个目录下的所有文件和头文件路径添加到KEIL工程中

其中注意,新建一个"gui_main.c"作为初始化GUI的接口函数;

在主函数main初始化阶段,初始化LVGL后调用 gui_main()

cpp 复制代码
lv_ui guider_ui;

void gui_main(void)
{
    /*Create a GUI-Guider app */
	setup_ui(&guider_ui);
    events_init(&guider_ui);
    custom_init(&guider_ui);
}

3、至此,工程文件添加已完成,编译工程可能会有一些 "#include /lvgl/lvgl.h" 的报错,根据实际路径修改即可,比如我的工程需要修改为 "#include ../lvgl/lvgl.h",亦或者其他头文件修改方式均可

4、因工程带触屏,这里有个地方需要特别注意

NXP GUI Guider的X和Y坐标方向可能与LVGL的X、Y坐标方向不符,如果存在这种情况,需要在 "lv_port_indev_template.c " 中找到 lv_port_indev_init ,然后找到注册的"read_cb"函数,进入该函数对应的修改X、Y的坐标参数;

如上图,我的工程中,read_cb 函数是 touchpad_read,我需要在 touchpad_read 中将Y轴的坐标倒置,GUI的X、Y才和屏幕的X、Y对应

cpp 复制代码
//      last_y = 240-(240 * touch_dev_struct.x_p[1]) / (0xe10);
//      last_x= (320 * touch_dev_struct.y_p[1]) / (0xe10);
        last_y = 240 - (240 * touch_dev_struct.x_p[1]) / (TOUCH_AD_RIGHT);
        last_x = (320 * touch_dev_struct.y_p[1]) / (TOUCH_AD_RIGHT);

5、工程编译并下载到 AT32-START-F403A 开发板,实际验证是否达到预期效果,是否和PC模拟器效果一致

GUI效果演示

三、总结

该移植步骤比较简单,开发难点在于GUI界面制作,欢迎指出不足之处,共同进步

相关推荐
深圳市九鼎创展科技3 小时前
瑞芯微 RK3399 开发板 X3399 评测:高性能 ARM 平台的多面手
linux·arm开发·人工智能·单片机·嵌入式硬件·边缘计算
辰哥单片机设计3 小时前
STM32项目分享:车辆防盗报警系统
stm32·单片机·嵌入式硬件
小龙报4 小时前
【51单片机】从 0 到 1 玩转 51 蜂鸣器:分清有源无源,轻松驱动它奏响新年旋律
c语言·数据结构·c++·stm32·单片机·嵌入式硬件·51单片机
范纹杉想快点毕业4 小时前
嵌入式与单片机开发核心学习指南——从思维转变到第一性原理的深度实践
单片机·嵌入式硬件
Industio_触觉智能4 小时前
瑞芯微RK3566开发板规格书,详细参数配置,型号EVB3566-V1,基于RK3566核心板SOM3566邮票孔封装
嵌入式硬件·开发板·rk3568·rk3566·核心板·瑞芯微
czwxkn4 小时前
4STM32(stdl)TIM定时器
stm32·单片机·嵌入式硬件
Love Song残响5 小时前
NVIDIA显卡终极优化指南
stm32·单片机·嵌入式硬件
qq_672592755 小时前
电源芯片为什么发热
单片机·嵌入式硬件
天天爱吃肉82185 小时前
【跨界封神|周杰伦×王传福(陶晶莹主持):音乐创作与新能源NVH测试,底层逻辑竟完全同源!(新人必看入行指南)】
python·嵌入式硬件·算法·汽车
国科安芯6 小时前
抗辐照MCU在精密时频系统中的单粒子效应评估与可靠性验证
单片机·嵌入式硬件·架构·制造·安全性测试