摘要:AWTK是ZLG開(kāi)發(fā)的可在各類(lèi)操作系統(tǒng)運(yùn)行的通用?GUI?引擎,自發(fā)布以來(lái)受到越來(lái)越多開(kāi)發(fā)者和用戶(hù)的青睞。AWTK適用于嵌入式領(lǐng)域,本文將簡(jiǎn)述如何將AWTK應(yīng)用部署到嵌入式開(kāi)發(fā)環(huán)境中。
AWTK已經(jīng)在多個(gè)嵌入式平臺(tái)做好了移植,并提供了相應(yīng)的模板工程,如:嵌入式Linux、AWorksOS、RT1052裸系統(tǒng)以及STM32裸系統(tǒng)等。AWTK應(yīng)用程序在Windows調(diào)試好之后,部署到這些嵌入式開(kāi)發(fā)環(huán)境非常方便,只需要簡(jiǎn)單的幾個(gè)步驟就可以了,具體的內(nèi)容請(qǐng)看下文。
下面我們就以HelloDesigner-Demo為例,說(shuō)明如何將應(yīng)用部署到嵌入式開(kāi)發(fā)環(huán)境中。
把應(yīng)用部署到嵌入式Linux
下面以ZLG周立功Linux開(kāi)發(fā)套件M6708-T(Cortex-A9)為載體,如何將應(yīng)用部署到嵌入式Linux中,操作步驟如下:
?。?)安裝交叉編譯器(Ubuntu16 x64)
在M6708-T開(kāi)發(fā)套件光盤(pán)資料中,找到 arm-poky-linux-gnueabi編譯器的安裝腳本并執(zhí)行,默認(rèn)安裝在類(lèi)似如下的目錄:
/opt/poky/1.7/sysroots/x86_64-pokysdk-linux/usr/bin/arm-poky-linux-gnueabi
(2)下載AWTK整合包
在AWTK官網(wǎng)下載整合發(fā)布包,將整合包其解壓到Linux系統(tǒng)目錄中(如:/home/user):
?。?)修改編譯工具鏈
修改awtk-linux-fb/awtk_config.py文件:
n設(shè)置TOOLS_PREFIX為arm-poky-linux-gnueabi編譯器的路徑,如下圖所示:
n如果CPU支持硬浮點(diǎn),則開(kāi)啟“-mfloat-abi=hard ”,如下圖所示:
?。?)編譯應(yīng)用程序
將HelloDesigner-Demo復(fù)制到user_apps目錄下。執(zhí)行下面的命令,目標(biāo)文件將輸出到awtk-linux-fb/build/bin:
cd /home/user/awtk-linux-fb
scons APP=../user_apps/HelloDesigner-Demo
?。?)打包應(yīng)用程序
編譯完成后,還需要把應(yīng)用程序和資源文件打包在一起,才能下載到板子上運(yùn)行,執(zhí)行下面的命令,生成壓縮包release.tar.gz:
cd /home/user/awtk-linux-fb
./release.sh ../user_apps/HelloDesigner-Demo/res
(6)運(yùn)行應(yīng)用程序
把 release.tar.gz 上傳到開(kāi)發(fā)板并解壓,然后通過(guò)ssh或串口調(diào)助手讓板子運(yùn)行:
./release/bin/demo
把應(yīng)用部署到AWorksOS
下面以RT1052平臺(tái)為例,介紹如何將自己的應(yīng)用移植到AWorksOS平臺(tái)上。從ZLG官網(wǎng)下載最新的RT1052光盤(pán)資料,里面包含自帶移植好的AWTK Eclipse工程和AWTK Keil工程。只需屏蔽工程中自帶的示例代碼文件(通常名字是xxx_demo),然后往工程中添加用戶(hù)自己的應(yīng)用代碼就可以了。
使用Eclipse構(gòu)建應(yīng)用
找到AWorksOS SDK開(kāi)發(fā)包下的aw_m1052_disk-2.0.0目錄,然后按下面步驟操作:
?。?)打開(kāi)m1052_awtk工程
?。?)屏蔽demos示例
屏蔽m1052_awtk工程自帶demos應(yīng)用示例,可按下圖所示操作:
(3)把應(yīng)用加入工程
將HelloDesigner-Demo復(fù)制到:
aw_m1052_disk-2.0.0-test\examples\application\app_awtk_demo\src\user_apps目錄下,再刷新工程,顯示如下圖所示。然后就可以編譯和調(diào)試工程了。
使用Keil構(gòu)建應(yīng)用
找到aw_easyarmrt1052_disk-2.0.1目錄(AWorksOS SDK中),然后按下面步驟操作:
?。?)打開(kāi)easy_arm_rt1052.uvprojx工程
?。?)屏蔽awtk-demo示例
在easy_arm_rt1052工程中,默認(rèn)提供了一個(gè)awtk-demo示例。如果需要將自己的應(yīng)用添加到該工程,先屏蔽awtk-demo文件夾,可按下圖所示操作:
(3)把應(yīng)用加入工程
將HelloDesigner-Demo中的源代碼(通常在src目錄下),添加到這個(gè)Keil工程中,可按下圖所示操作。然后就可以編譯和調(diào)試工程了。
把應(yīng)用部署到其他平臺(tái)
用于RT1052裸系統(tǒng)的awtk-easyarm-rt1052-raw工程
用于STM32裸系統(tǒng)的awtk-stm32f429igtx-raw工程
以上這些工程都可以在AWTK的官網(wǎng)或者GitHub找到。如果想把自己的應(yīng)用添加到這些Keil工程上編譯運(yùn)行,方法都大同小異,即先屏蔽工程中自帶的示例代碼文件(通常名字是xxx_demo),然后往工程中添加用戶(hù)自己的應(yīng)用代碼。
RT1052裸系統(tǒng)Keil工程
?。?)獲取awtk-easyarm-rt1052-raw源碼
git clone https://github.com/zlgopen/awtk-easyarm-rt1052-raw.git
(2)打開(kāi)awtk_gui_demo.uvprojx工程
?。?)屏蔽Chart-Demo示例
在awtk_gui_demo工程中,默認(rèn)提供了一個(gè)Chart-Demo示例。如果需要將自己的應(yīng)用添加到該工程,先屏蔽Chart-Demo文件夾,可按下圖所示操作:
?。?)把應(yīng)用加入工程
將HelloDesigner-Demo的源代碼(通常在src目錄下),添加到這個(gè)Keil工程中,可按下圖所示操作。然后就可以編譯和調(diào)試工程了。
STM32裸系統(tǒng)Keil工程
下面以STM32F429為例,說(shuō)明如何在工程中添加自己的應(yīng)用,步驟如下:
?。?)獲取STM32f429igtx源碼
git clone https://github.com/zlgopen/awtk-easyarm-rt1052-raw.git
?。?)獲取AWTK源碼
我們要把AWTK的源碼放到工程目錄中一起參與編譯,并要需確保AWTK SDK版本與應(yīng)用的一致性。獲取AWTK源碼的方式有下面兩種:
方式一(推薦使用該方式):
找到Designer的安裝目錄,將AWTK\SDK\awtk整個(gè)目錄復(fù)制到awtk-stm32f429igtx-raw目錄下。
方式二:
按照下面命令從GitHub上下載最新的AWTK源碼。
cd awtk-stm32f429igtx-raw
git clonehttps://github.com/zlgopen/awtk-easyarm-rt1052-raw.git
(3)打開(kāi)awtk.uvprojx工程
?。?)屏蔽AWTK-DEMO示例
在awtk工程中,默認(rèn)提供了一個(gè)AWTK-DEMO示例。如果需要將自己的應(yīng)用添加到該工程,先屏蔽AWTK-DEMO文件夾,可按下圖所示操作:
(5)把應(yīng)用加入工程
將HelloDesigner-Demo的源代碼(通常在src目錄下),添加到這個(gè)Keil工程中,可按下圖所示操作。然后就可以編譯和調(diào)試工程了。
本文的詳細(xì)內(nèi)容請(qǐng)看:《AWTK開(kāi)發(fā)實(shí)踐》中的“第11章 把應(yīng)用部署到嵌入式開(kāi)發(fā)環(huán)境”。