发新帖本帖赏金 50.00元(功能说明)我要提问
返回列表
打印
[M7]

使用NXP官方的GUI Guider设计器在IMXRT1062开发板上移植其他屏幕

[复制链接]
3421|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wuxiubo|  楼主 | 2022-7-10 12:57 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
#申请原创#  @21小跑堂
一.GUI Guider介绍
GUI Guider是NXP在2021年推出的专门为LVGL开发设计打造的一款快速在NXP官方的开发板上进行图形化开发的方案,可以将上位机设计器里的设计方案完全一摸一样的跑在MCU中。

目前支持了其下的IMX-RT系列,和最新的LPC55XX系列,这些芯片也都是最近几年NXP新发布的芯片。
最新的安装包可以从下面链接获取:https://www.nxp.com/design/software/development-software/gui-guider:GUI-GUIDER
目前是支持到了LVGL8,同时也兼容之前的LVGL7的。如果我们不使用其官方的开发板,他也是可以单独生成代码,可以供我们进行替换,我们只需要掌握基础的LVGL移植,然后把其生成的代码进行替换,就能在别的平台上使用了,后期我们可以尝试下在STM32上进行移植测试。
二.IMX RT1062开发板介绍
本次我们开发选择其官方类似的板子,正好我们也测试下在其他板子上怎么修改。这次的开发板是由腾讯物联网团队联合NXP,和厚德物联网开发的。

这张是渲染图,我们这款选择的MCU是IMXRT1062。
开发板特性:

  • 内置TencentOS Tiny开源物联网操作系统。
  • 核心板采用的RT1062处理器属于i.MX RT 系列 MCU,是由 NXP 推出的跨界处理器,跨界是指该系列MCU的定位既非传统的微控制器、也非传统的微处理器,i.MX RT 系列 MCU 则综合了两者的优势,既具备高频率(最高主频600M)、高处理性能,也具备中断响应迅速、实时性高的特点。
  • 1M RAM 16M SDRAM 64MB     qspi flash 128MB spi flash
  • 板载Type-C接口CMSIS DAP仿真器。
  • 板载PCIE接口,可扩展4G类物联网模组。
  • 板载物联网俱乐部WAN Interface接口,可支持NB-IoTWiFi4G     cat1LoRa等模组。
  • 板载物联网俱乐部E53 Interface接口,可扩展全系E53传感器。
  • 板载标准24P DVP摄像头接口,可支持最高500万像素摄像头。
  • 板载RGB显示接口,可转换HDMI输出。
  • 板载高性能音频解码芯片,可做语音识别测试。
  • 预留SD卡、用户按键、SPI Flash
上述是其板载资源和IMXRT这款处理器的简单介绍,可以看到这款单片机的性能还是很强的,同时板载外设资源也是非常丰富的,其支持通过ESP8266联网传输数据,也支持外界其他模组进行通信,同时可以连接摄像头进行实时的显示,后期也可以利用NXP官方开发的EIQ平台进行识别测试。本次我们主要是外接了一款24位的RGB屏幕进行LVGL测试。
屏幕信息如下:

是一款800*480分辨率的,电容触摸屏,比官方的480*272分辨率要高出很多,所以我们也需要对生成代码进行修改才能更好的使用它。
三.使用GUI Guider生成的LVGL代码修改
我们先安装完成GUI Guider,然后打开软件进行代码生成。

打开后就直接弹出需要配置生成代码工程的界面,我们可以在右侧打开历史工程,也可以通过左侧进行选择开发板,然后底部配置我们的屏幕一些参数,当然对于官方的开发板,选在这些只是修改了设计器的分辨率,底层的东西是为修改的,还需要我们自己手动选择的。

我们先选择板子,我们选在MIMXRT1062XXXXA,然后右侧会出现信息,提示屏幕分辨率使用的操作系统,这里官方还是支持传统的OS,FreeRTOS。

然后我们重新定义分辨率。换成800*480。

生成之后就比较简单了,可以看到哦左侧是LVGL的一些控件,可以拖拽到中间,所见即所得的开发方式,同时这个是支持模拟的,可以在上位机上直接先模拟测试。右侧是控件一些属性等。


简单放置一个label,修改下内容后我们就可以进行运行模拟器,也可以导出平台工程,就是我们的IAR或者keil,还有其官方的mcux工具,这里我们选择keil把,这样我们开发起来比较方便。

导出他会自动编译,然后烧写,但是我们先不烧写,因为屏幕不是官方的,所以我们需要修改工程。然后再下载进去。

我们打开工程目录看下有什么东西,挨个解析下吧,首先,custom这里面是不需要进行修改的,接下来的deploy里面就是工程,你导出什么工程里面会有文件夹对应,下面的generated是比较重要的,LVGL运行的界面就是在这里面,如果移植就是把这个拉出来即可,下面的import是字体文件,lvgl和lvgl-simulator这个一个是官方源码,一个就是模拟器,temp就是一些头文件定义的地方,与lvgl配置有关。外部的文件一般是让你自己移植使用的,整个工程下是包含了这些内容的,所以我们直接打开工程修改即可。

我们需要修改里面的lvgl_support文件,这里主要进行屏幕初始化和一些配置,我们换屏就是在这边完成修改的。

我们修改屏幕配置参数,数据位修改成24位也就是RGB888的。

头文件中也修改下分辨率,这个我说了,在工程里配置是不管用的,必须还是自己手动修改才行。

屏幕改了,所以时钟也需要配置,换成我这样的就可以了。

接下来修改接口,我们是24位数据的,所以还需要增加几位管脚,直接在下面pin_mux文件中增加。

之后编译下,没问题烧写测试,看下效果吧,

可以看到烧录进去的效果和电脑端的效果是一致的,也完成了我们所见即所得的开发流程,这里面我们需要先了解屏幕接口知识,主要是屏幕是什么样的接口是RGB888还是RGB565的接口,还有就是一些管脚的配置都要自己提前掌握,最后修改的内容也都是按照屏幕来进行的。
四.附件工程
sdk.zip (2.45 MB)


这里我把我修改的工程传上来,大家可以根据屏幕进行修改即可。

使用特权

评论回复

打赏榜单

21小跑堂 打赏了 50.00 元 2022-07-11
理由:恭喜通过原创文章审核!请多多加油哦!

评论
21小跑堂 2022-7-11 18:03 回复TA
GUI Guider解放开发者,作者成功使用GUI Guider工具在IMXRT1062上移植了其他屏幕,对初识GUI Guider的朋友具有借鉴意义。 

相关帖子

发新帖 本帖赏金 50.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

53

主题

230

帖子

2

粉丝