历史上的今天
返回首页

历史上的今天

今天是:2025年03月25日(星期二)

正在发生

2020年03月25日 | 如何将AWTK应用部署到嵌入式开发环境中

2020-03-25 来源:EEworld

摘要:AWTK是ZLG开发的可在各类操作系统运行的通用 GUI 引擎,自发布以来受到越来越多开发者和用户的青睐。AWTK适用于嵌入式领域,本文将简述如何将AWTK应用部署到嵌入式开发环境中。

 

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

 

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

 

把应用部署到嵌入式Linux

 

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

 

安装交叉编译器(Ubuntu16 x64)

 

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

 

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

 

下载AWTK整合包

 

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

 

修改编译工具链

 

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

 

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

 

 

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

 

 

编译应用程序

 

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

 

cd  /home/user/awtk-linux-fb

 

scons  APP=../user_apps/HelloDesigner-Demo

 

打包应用程序

 

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

 

cd  /home/user/awtk-linux-fb

 

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

 

运行应用程序

 

把 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目录,然后按下面步骤操作:

 

打开m1052_awtk工程

 

屏蔽demos示例

 

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

 

 

把应用加入工程

 

将HelloDesigner-Demo复制到:

 

aw_m1052_disk-2.0.0-testexamplesapplicationapp_awtk_demosrcuser_apps目录下,再刷新工程,显示如下图所示。然后就可以编译和调试工程了。

 

 

使用Keil构建应用

 

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

 

打开easy_arm_rt1052.uvprojx工程

 

屏蔽awtk-demo示例

 

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

 

 

把应用加入工程

 

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

 

 

把应用部署到其他平台

 

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

 

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

 

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

 

RT1052裸系统Keil工程

 

获取awtk-easyarm-rt1052-raw源码

 

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

 

打开awtk_gui_demo.uvprojx工程

 

屏蔽Chart-Demo示例

 

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

 

  

 

把应用加入工程

 

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

 

 

STM32裸系统Keil工程

 

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

 

获取STM32f429igtx源码

 

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

 

获取AWTK源码

 

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

 

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

 

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

 

方式二:

 

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

 

cd awtk-stm32f429igtx-raw

 

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

 

打开awtk.uvprojx工程

 

屏蔽AWTK-DEMO示例

 

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

 

  

 

把应用加入工程

 

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

 


推荐阅读

史海拾趣

Corning Cable Systems公司的发展小趣事

在深海光缆领域,Corning Cable Systems公司也展现出了强大的实力。公司成功研发出适用于深海环境的光缆产品,并在多个国际项目中得到了广泛应用。这些深海光缆不仅具有优异的传输性能,还能够在极端恶劣的海底环境下保持长期稳定运行,为跨洋通信提供了可靠的保障。

FINISAR公司的发展小趣事

随着业务的不断扩展,FINISAR开始在全球范围内布局。公司在中国、马来西亚、美国、澳大利亚、以色列、新加坡、印度、韩国等多个国家设立了子公司和研发中心,形成了全球化的生产和服务网络。这一战略布局不仅增强了FINISAR的市场竞争力,还为公司带来了更多的发展机遇。特别是在中国市场,FINISAR凭借其先进的技术和优质的产品,赢得了众多知名企业的青睐,如思科、IBM、华为等。

台湾丰宾(CapXon)公司的发展小趣事

台湾丰宾(CapXon)公司创立于1980年,起初是一家专注于电容器研发与生产的小型电子元件制造商。在创始人的带领下,公司凭借对技术的执着追求和对品质的严格把控,逐渐在电子行业中崭露头角。通过不断的技术创新和产品优化,CapXon的电容器产品在市场上获得了良好的口碑,为公司的发展奠定了坚实的基础。

Cembre SPA公司的发展小趣事

随着技术的不断进步,Cembre SPA不断加大对研发的投入,推出了一系列创新产品。其中,公司的电缆接头技术取得了重大突破,不仅提高了接头的可靠性和安全性,还降低了安装和维护的成本。这些技术创新使得Cembre SPA在市场中脱颖而出,成为行业的领导者。

Elite Semiconductor Products Inc公司的发展小趣事

随着技术的不断进步和市场的不断变化,Elite意识到单一市场已经无法满足公司的发展需求。因此,公司开始积极拓展国际市场,寻求更广阔的发展空间。在海外市场拓展过程中,Elite注重了解当地市场的需求和文化特点,制定针对性的市场策略。同时,公司还积极与当地企业建立合作关系,共同开拓市场。这些努力让Elite在国际市场上取得了不俗的成绩,也为公司的持续发展注入了新的动力。

Advanced Thermal Products Inc公司的发展小趣事

ATP公司深知品质是企业生存和发展的基石。因此,他们建立了严格的质量管理体系,从原材料采购到产品出厂的每一个环节都进行严格把控。同时,公司注重品牌建设,通过广告宣传、参加展会等方式提升品牌知名度和美誉度。这些举措使得ATP公司在市场上逐渐树立了良好的品牌形象。

问答坊 | AI 解惑

arm9处理器at91rm9200调试心得

硬件环境:1>自制at91rm9200开发板 2>Multi ICE仿真器 软件环境:1>集成开发环境ADS1.2 2>仿真工具AXD 首先将BMS下拉,让CPU执行flash中的程序;假如BMS上拉执行跳\'C\'xmodem内部程序,那么程序中在ice仿真时PLL设置第一次将无效,重装axd之后才能正 ...…

查看全部问答>

求购《VHDL入门·解惑·经典实例·经验总结》这本书!!

求购《VHDL入门·解惑·经典实例·经验总结》这本书,一手二手电子版皆可,原价求购且本人承担运费,有意者请联系QQ:764269222…

查看全部问答>

在SPI驱动里面接收SPI数据,怎么及时处理SPI数据缓冲区才不会让一帧数据跟下一帧数据起冲突。

在SPI驱动里面接收SPI数据,怎么及时处理SPI数据缓冲区才不会让一帧数据跟下一帧数据起冲突。…

查看全部问答>

关于通过无线局域网连接控制器的问题

有一台控制器设备,有LAN接口,IP地址是200.200.200.* 直接通过网线连接到电脑上,电脑的IP地址设为200.200.200.*,DNS是255.255.255.0网关设为192.168.1.1则可以连接到控制器,若把IP地址和网关设为其他的却不行,控制器软件只有一个IP地址,把IP ...…

查看全部问答>

什么是656信号

我想问一下656信号是什么意思,能详细说明一下吗,谢谢!…

查看全部问答>

帮实验室老是转让一些他项目剩余的芯片开发工具等

  芯片有:名称           数量 AT89C52        50       每片3元ATmega16L       11 ...…

查看全部问答>

未定义指令

                                 买的是北京微芯力科的开发板,付带了St公司的软件函数库,把这些函数库添加到应用程序文件,编译没问题,但仿真的 ...…

查看全部问答>

求一字模提取软件

今天在网上找了10几个, 没一个满意的, 其实我的要求非常简单, 自己能输入文字, 并能编辑此文字, 按行排或按列排, 可编辑分辨率, 可随意转换二进制码, 十六进制码, 共阴或共阳码!   以上要求8x8点阵字模提取软件, pctolcd2002, Zimo221软件等 ...…

查看全部问答>

自主产品研发需要哪些必备仪器仪表呢

比如搞个小公司研发产品,但是资金不充裕,如此情况下,请问下,哪些仪器仪表是必须购买的呢?…

查看全部问答>