在 i.MX RT1052开发板上搭建PersimM环境
在i.MX RT1052开发板上运行PersimM,首先需要一份PersimM的固件。因为整体是一体化的,这份固件分成了两部分:
- bootloader
- firmware
bootloader会用于后续的firmware固件升级,而firmware是后续真正需要执行,并展示UI的固件。OTA的过程实际上也是如此,先本地有保存需要更新的固件;然后重启,重新启动时,bootloader才会去把要更新的固件更新/展开到flash上,覆盖要运行的固件。
获取PersimM :
下载地址: https://pan.baidu.com/s/1SNzEE3aGrOtTQQCzvxwAxA
软件资料包含内容如下:
- ConfigTools : 即PersimmonMod,柿饼配置工具,需要安装.Net Framework 4.5,资料包内已提供。
- Demo : 《带你进入绚丽多彩的柿饼M》系列中每个示例工程,直接用PersimmonUI打开.rtprj文件即可。
- Firmware :固件之一 Firmware
- PersimM_imxrt_Fire_Bootloader :固件之一 Bootloader
- PersimmonUI :上位机设计器
- Persim_IMRT_Win7_drvier :win7系统下所需要安装的Win_RTT_driver驱动包
- NetFramework : .Net Framework 4.5安装包
硬件环境搭建
下面我们以野火的i.MXRT1052开发板为例,说明如何搭建好PersimM的硬件环境。在连接好板子与屏幕后,还需要连接3个接口: USB转串口
、USB-OTG1
和仿真器
。
为了确保硬件已连接上PC,打开设备管理器,查看是否有对应串口和RTT Win USB
。RTT Win USB
在Win10环境下是免驱的,但在Win7环境下要安装RT-Thread提供的指定驱动包。
当硬件环境搭建完毕后,接下来我们就可以开始烧写bootloader和firmware了
烧写bootloader
请使用bootloader的工程,用Keil MDK打开,然后直接点击烧写按钮(不是编译然后再烧写),bootloader固件就会被烧写到开发板flash中。
-
选择正确的烧写算法:点击
菜单栏->Flash->Configure Flash Tools...
,在弹出框中点击Debug->Setting
,在后续弹出框中的Flash Download
栏中,选择Erase full chip
,并选择指定算法文件。 -
开始烧写工程,点击
菜单栏->Flash->Download
。 -
在
Build Output
栏中确认工程是否烧写完毕。
bootloader烧写完毕后,可以通过putty或者其他串口助手打开USB串口(Connection Type设为Serial,Speed设为115200),串口会输出如下信息:
烧写firmware
当开发板中已经烧写了bootloader就可以按照OTA升级固件的模式来升级固件,过程如下:
-
重启开发板,在串口终端中会显示出bootloader的启动信息,并有倒计时的计数,在倒计时计数跳到0之前,在串口中随意输入一个按键,bootloader会停下来等待命令。
-
此时在PC上,我们打开 配置工具,然后在
固件更新
中,选择具体要升级的固件,点击升级。它就会把固件推送到开发板上,自动重启,然后完成bootloader更新固件的工作。 -
升级的过程可以在串口终端上看到更新固件的进度。
-
因为这个固件主要是针对屏的,所以当固件烧写完毕后,还需要配置下屏参数。配置参数时,需要设备运行firmware,不能停留在bootloader。打开配置工具,修改
LCD参数
,配置请与下表保持一致。配置完成后,点击更新数据
。选项 参数 LCD水平方向上的像素(X) 800 LCD垂直方向上的像素(Y) 480 LCD数据时钟频率(DCLK Freq) 55 LCD水平后沿(HBP) 8 LCD垂直后沿(VBP) 2 LCD水平前沿(HFP) 4 LCD垂直前沿(VFP) 4 LCD水平同步脉宽(HSPW) 40 LCD垂直同步脉宽(VSPW) 10
烧写firmware完毕后,屏幕上就会显示出RT-Thread的logo,之后我们就可以开始使用Persimmon UI了。
上位机设计器介绍
从PersimM开始,我们有了一份专用于UI界面设计的设计工具。在PersimmonUI文件夹下,双击执行PersimmonUI.exe可执行文件,点击菜单文件->新建->新建工程
,会询问你的工程名称,路径以及分辨率大小等信息,例如按照下述填写的:
例如这里的分辨率,野火开发板上的是800x480,我们选择800x480。创建出工程后,它会迅速询问是否创建一个页面(page1),默认选择确认
,将会展现第一个设计页面。
当第一个设计页面创建后,整个PersimmonUI工具显示具体如下:
设计器各区域说明:
- 工具箱:内含基本控件,可通过鼠标操作,在page中新增对应的基本控件。
- 资源库:可添加字体和图片资源。
- 布局工具栏:辅助设定page中所有控件的布局。
- UI设计区域:显示并设定UI的整体布局。
- 工程管理器:通过树状结构图显示当前工程内所含所有文件
- 控件属性栏:显示或设定控件的基本属性。
在这第一个设计页面上,我们简单的拖动一些控件,例如最简单的:"Hello World" 以及 "OK" 按钮:
其中,选中Button,在布局工具栏中点击了水平居中和垂直居中,它自动对齐到屏幕中心。选中Label,可以在属性栏—“文本对齐”中选择MiddleCenter
以中间对齐的方式,同时在布局工具栏中选择水平居中。
上位机设计器下载
当我们制作完工程后,可以通过下述方法把这个界面下载到板子上运行,看看效果如何。
- 查看设备连接状态,确保通过下图中
设备连接状态
栏中显示设备已连接, - 点击菜单 "下载—>下载",把工程下载至设备中。可以通过
输出
栏,查看下载状态。 - 重启设备:按下设备上的重启按钮。
当设备重启后,设备未更新界面,请确认配置启动时的资源目标路径与PersimmonUI下载路径是否一致。下载路径可以在PersimmonUI的输出
栏中查看。
当资源目标路径与PersimmonUI下载路径不一致时,请修正配置工具中资源配置
的设定或PersimmonUI中下载->下载选项
的设定,使配置启动时的资源目标路径与PersimmonUI下载路径保持一致。
实际效果
常见问题及解决方法
-
Persimmon Mod 打开后崩溃。
答:Windows需要安装 .NET Framework 4.5(必须4.5)。
-
高分屏下,Persimmon UI视图文字不完整。
答:右键点击PersimmonUI.exe,并禁选高分屏下缩放。