本篇文章介绍一下AWTK开源智能串口屏方案的串口屏端(即HMI端)的编译运行步骤,并介绍如何将HMI端移植到Linux或STM32平台或RTOS平台,以及如何配置资源文件。
引言:AWTK-HMI是基于AWTK与AWTK-MVVM开发的低代码智能串口屏方案,本系列文章介绍如何从零开发HMI程序,包括搭建开发环境、创建HMI运行时工程、修改应用界面以及开发MCU程序。
上一篇文章《【AWTK开源智能串口屏方案】方案介绍和工作原理》介绍到HMI端工程(又称为运行时)运行在串口屏硬件上,负责界面显示和人机交互,用户可替换里面的资源文件切换为不同的应用。它是支持跨平台且不受硬件和系统限制的,本篇文章就来介绍一下如何将HMI端分别编译到Windows、Linux平台和STM32中。
图1 AWTK-HMI工作原理
在Windows上编译HMI端程序
编译串口屏程序很简单,只需几个步骤即可。首先确保电脑上安装好了AWTK的开发环境,若没有可以看往期文章教程《【从0开始创建AWTK应用程序】开发及调试环境搭建》。
从官方的Gitee(网址:gitee.com/zlgopen/awtk-hmi)下载awtk-hmi仓库到本地目录,并根据README.md文档内的使用说明运行“prepare.bat”下载awtk与awtk-mvvm代码文件。
图2执行prepare.bat后的目录结构
接着进入hmi/demo_home2目录,输入scons命令编译HMI端的demo程序,并输入下面的命令打包资源文件:
python ./scripts/update_res.py all
此时demo_hom2目录下分别新增了bin和res两个文件夹:bin目录下是存放HMI端存放编译后的可执行文件与动态库;res则是存放运行时的资源文件,后期可以通过AWStudio设计新的界面替换res目录的资源文件达到更新运行时UI界面的效果。
进入到bin目录下运行demo.exe即可启动编译好的HMI端程序。
图3 HMI端demo程序运行效果
移植HMI端程序到嵌入式Linux平台
将Windows下载好的awtk-hmi目录复制到Ubuntu交叉编译环境中,并且在awtk-hmi目录下载awtk-linux-fb移植层文件,最终awtk-hmi目录结构如下图:
图4 awtk-hmi交叉编译目录结构
首先进入到awtk-linux-fb配置好交叉编译工具链路径(具体配置教程可以看往期文章介绍《【从0开始创建AWTK应用程序】编译应用到嵌入式Linux平台运行》),配置好后输入scons命令进行编译。接着进入awtk-mvvm目录,输入下面的命令进行编译。
scons LINUX_FB=true WITH_JERRYSCRIPT=false
回到awtk-linux-fb目录并输入下面第一条scons命令编译HMI应用程序,编译完成后接着输入下面第二条命令发布应用。
scons APP=../demo_home2sh release.sh ../demo_home2/res demo
此时awtk-linux-fb目录下会生成一个release文件夹,里面同样包含了可执行文件目录bin和资源文件目录assets,后期可以通过AWStudio设计新的界面替换assets目录文件达到更新运行时UI界面效果。最后,只需要将release文件夹拷贝到板子上并运行release/bin目录下的demo程序即可。
移植HMI端程序到STM32平台
这里以stm32h743开发为例子来介绍如何将HMI程序移植到STM32平台,awtk-hmi自带了一个stm32h743移植工程,所以整个移植流程比较方便。首先同样需要将awtk、awtk-mvvm放到awtk-hmi目录中,另外还需要运行下面两条git命令下载awtk-fs-adapter和awtk-sqlite3。
图 5 AWTK-HMI移植STM32的目录结构
接着使用keil打开hmi/awtk-stm32h743iitx-freertos/USER/awtk.uvprojx,点击Build按钮并等待编译完成,可以看到以下信息。图6 stm32h743移植工程在keil上编译成功的信息
一般HMI端代码和资源文件是分开的,因此还需要将资源文件目录assets放到SD卡或U盘等形式,插入板子上使用文件系统来读取。后期也能通过AWStudio设计新的界面替换该目录达到更新运行时UI界面效果。
如果资源文件想要存放在SD卡中,需要让 AWTK 支持 FATFS,并且通过awtk_config.h配置资源文件路径,详细操作可以阅读下面目录的移植文档说明:
awtk-hmi/mcu/stm32/stm32h743-freertos/docs/stm32h743iitx_port.md
图7 awtk_config.h配置资源文件路径
其它硬件平台和RTOS移植方法也是大同小异的,可以从官方的Github下载对应的移植工程,参照stm32h743的移植工程在keil中添加所需的代码文件(awtk、awtk-mvvm、hmi等)并配置awtk_config.h。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
开源
+关注
关注
3文章
2985浏览量
41718 -
编译
+关注
关注
0文章
615浏览量
32392 -
串口屏
+关注
关注
8文章
473浏览量
36617
发布评论请先 登录
相关推荐
浅析USART HMI智能串口屏
概要:USART HMI智能串口屏,该显示屏的介绍、GUI界面的设计、通讯方式和修改控件参数的相关指令等。一开始我们项目组在显示上用的是12
发表于 07-16 06:19
AWTK的寓意
一、介绍AWTK全称Toolkit AnyWhere,是ZLG开发的开源GUI引擎,旨在为嵌入式系统、WEB、各种小程序、手机和PC打造的通用GUI引擎,为用户提供一个功能强大、高效可靠、简单易用
发表于 08-20 08:12
基于AWTK推出的ZMP110x串口屏应用方案
串口屏广泛应用于工业自动化、智能家电、医疗设备、共享设备等各个显示领域。立功科技基于AWTK推出的ZMP110x串口屏应用方案,真正实现秒开
发表于 07-25 17:16
•1037次阅读
基于AWTK开发应用程序需要遵循的规范和方法
AWTK 是 ZLG 开源的跨平台 GUI 引擎,本文介绍一下基于 AWTK 开发应用程序需要遵循的规范和方法,以保证应用程序也能跨平台
【从0开始创建AWTK应用程序】创建应用程序并在模拟器运行
AWTK是基于C语言开发的跨平台GUI框架。本系列文章介绍如何从0开始创建AWTK应用程序,包括搭建开发调试环境、使用AWTK创建Hello工程并在模拟器上
【从0开始创建AWTK应用程序】编译应用到嵌入式Linux平台运行
AWTK是基于C语言开发的跨平台GUI框架。本系列文章介绍如何从0开始创建AWTK应用程序,包括搭建开发调试环境、使用AWTK创建Hello工程并在模拟器上
AWTK 开源串口屏开发(6) - 定时器的用法
定时器是个常用的功能,AWTK串口屏提供了丰富的定时器函数,用于定时器的启动、停止、暂停、恢复、修改和重置等功能,本文以计时器的例子来介绍定时器的基本用法。定时器也是一个常用的功能,在AWTK
【AWTK开源智能串口屏方案】设计UI界面并上传到串口屏
本篇文章将介绍如何使用AWStudio设计串口屏端的UI界面和添加绑定规则,以及怎么将资源文件上传到串口屏端。引言:AWTK-HMI是基于AWTK与
【从0开始创建AWTK应用程序】编译应用到RTOS平台
AWTK是基于C语言开发的跨平台GUI框架。本系列文章介绍如何从0开始创建AWTK应用程序,包括搭建开发调试环境、使用AWTK创建Hello工程并在模拟器上
评论