当前位置:首页 > 单片机 > 致远电子
[导读]摘要:AWTK是ZLG开发的可在各类操作系统运行的通用 GUI 引擎,自发布以来受到越来越多开发者和用户的青睐。AWTK适用于嵌入式领域,本文将简述如何将AWTK应用部署到嵌入式开发环境中。

AWTK已经在多个嵌入式平台做好了移植,并提供了相应的模板工程,如:嵌入式Linux、AWorksOS、RT1052裸系统以及STM32裸系统等。AWTK应用程序在Windows调试好之后,部署到这些嵌入式开发环境非常方便,只需要简单的几个步骤就可以了,具体的内容请看下文。

下面我们就以HelloDesigner-Demo为例,说明如何将应用部署到嵌入式开发环境中。

把应用部署到嵌入式Linux

下面以ZLG周立功Linux开发套件M6708-T(Cortex-A9)为载体,如何将应用部署到嵌入式Linux中,操作步骤如下:

(1)安装交叉编译器(Ubuntu16 x64)

在M6708-T开发套件光盘资料中,找到 arm-poky-linux-gnueabi编译器的安装脚本并执行,默认安装在类似如下的目录:

/opt/poky/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi

(2)下载AWTK整合包

在AWTK官网下载整合发布包,将整合包其解压到Linux系统目录中(如:/home/user):

(3)修改编译工具链

修改awtk-linux-fb/awtk_config.py文件:

·设置TOOLS_PREFIX为arm-poky-linux-gnueabi编译器的路径,如下图所示:

如何将AWTK应用部署到嵌入式开发环境中

·如果CPU支持硬浮点,则开启“-mfloat-abi=hard ”,如下图所示:

如何将AWTK应用部署到嵌入式开发环境中

(4)编译应用程序

将HelloDesigner-Demo复制到user_apps目录下。执行下面的命令,目标文件将输出到awtk-linux-fb/build/bin:

cd /home/user/awtk-linux-fb

scons APP=../user_apps/HelloDesigner-Demo

(5)打包应用程序

编译完成后,还需要把应用程序和资源文件打包在一起,才能下载到板子上运行,执行下面的命令,生成压缩包release.tar.gz:

cd /home/user/awtk-linux-fb

./release.sh ../user_apps/HelloDesigner-Demo/res

(6)运行应用程序

把 release.tar.gz 上传到开发板并解压,然后通过ssh或串口调助手让板子运行:

./release/bin/demo

把应用部署到AWorksOS

下面以RT1052平台为例,介绍如何将自己的应用移植到AWorksOS平台上。从ZLG官网下载最新的RT1052光盘资料,里面包含自带移植好的AWTK Eclipse工程和AWTK Keil工程。只需屏蔽工程中自带的示例代码文件(通常名字是xxx_demo),然后往工程中添加用户自己的应用代码就可以了。

使用Eclipse构建应用

找到AWorksOS SDK开发包下的aw_m1052_disk-2.0.0目录,然后按下面步骤操作:

(1)打开m1052_awtk工程

(2)屏蔽demos示例

屏蔽m1052_awtk工程自带demos应用示例,可按下图所示操作:

如何将AWTK应用部署到嵌入式开发环境中

(3)把应用加入工程

将HelloDesigner-Demo复制到:

aw_m1052_disk-2.0.0-test\examples\application\app_awtk_demo\src\user_apps目录下,再刷新工程,显示如下图所示。然后就可以编译和调试工程了。

如何将AWTK应用部署到嵌入式开发环境中

使用Keil构建应用

找到aw_easyarmrt1052_disk-2.0.1目录(AWorksOS SDK中),然后按下面步骤操作:

(1)打开easy_arm_rt1052.uvprojx工程

(2)屏蔽awtk-demo示例

在easy_arm_rt1052工程中,默认提供了一个awtk-demo示例。如果需要将自己的应用添加到该工程,先屏蔽awtk-demo文件夹,可按下图所示操作:

如何将AWTK应用部署到嵌入式开发环境中

(3)把应用加入工程

将HelloDesigner-Demo中的源代码(通常在src目录下),添加到这个Keil工程中,可按下图所示操作。然后就可以编译和调试工程了。

如何将AWTK应用部署到嵌入式开发环境中

把应用部署到其他平台

·用于RT1052裸系统的awtk-easyarm-rt1052-raw工程

·用于STM32裸系统的awtk-stm32f429igtx-raw工程

以上这些工程都可以在AWTK的官网或者GitHub找到。如果想把自己的应用添加到这些Keil工程上编译运行,方法都大同小异,即先屏蔽工程中自带的示例代码文件(通常名字是xxx_demo),然后往工程中添加用户自己的应用代码。

RT1052裸系统Keil工程

(1)获取awtk-easyarm-rt1052-raw源码

git clone https://github.com/zlgopen/awtk-easyarm-rt1052-raw.git

(2)打开awtk_gui_demo.uvprojx工程

(3)屏蔽Chart-Demo示例

在awtk_gui_demo工程中,默认提供了一个Chart-Demo示例。如果需要将自己的应用添加到该工程,先屏蔽Chart-Demo文件夹,可按下图所示操作:

如何将AWTK应用部署到嵌入式开发环境中

(4)把应用加入工程

将HelloDesigner-Demo的源代码(通常在src目录下),添加到这个Keil工程中,可按下图所示操作。然后就可以编译和调试工程了。

如何将AWTK应用部署到嵌入式开发环境中

STM32裸系统Keil工程

下面以STM32F429为例,说明如何在工程中添加自己的应用,步骤如下:

(1)获取STM32f429igtx源码

git clone https://github.com/zlgopen/awtk-stm32f429igtx-raw.git

(2)获取AWTK源码

我们要把AWTK的源码放到工程目录中一起参与编译,并要需确保AWTK SDK版本与应用的一致性。获取AWTK源码的方式有下面两种:

·方式一(推荐使用该方式):

找到Designer的安装目录,将AWTK\SDK\awtk整个目录复制到awtk-stm32f429igtx-raw目录下。

·方式二:

按照下面命令从GitHub上下载最新的AWTK源码。

cd awtk-stm32f429igtx-raw

git clone https://github.com/zlgopen/awtk.git

(3)打开awtk.uvprojx工程

(4)屏蔽AWTK-DEMO示例

在awtk工程中,默认提供了一个AWTK-DEMO示例。如果需要将自己的应用添加到该工程,先屏蔽AWTK-DEMO文件夹,可按下图所示操作:

如何将AWTK应用部署到嵌入式开发环境中

(5)把应用加入工程

将HelloDesigner-Demo的源代码(通常在src目录下),添加到这个Keil工程中,可按下图所示操作。然后就可以编译和调试工程了。

如何将AWTK应用部署到嵌入式开发环境中

本文的详细内容请看:《AWTK开发实践》中的“第11章 把应用部署到嵌入式开发环境”。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭