AWTK是基于C語(yǔ)言開(kāi)發(fā)的跨平臺(tái)GUI框架。本系列文章介紹如何從0開(kāi)始創(chuàng)建AWTK應(yīng)用程序,包括搭建開(kāi)發(fā)調(diào)試環(huán)境、使用AWTK創(chuàng)建Hello工程并在模擬器上運(yùn)行、將AWTK應(yīng)用程序移植到其它平臺(tái)。
在AWStudio上編寫好AWTK應(yīng)用程序后,部署到RTOS平臺(tái)(如STM32)是很方便的,下面就以STM32F429型號(hào)為例子來(lái)介紹如何編譯AWTK應(yīng)用到RTOS平臺(tái)運(yùn)行。
搭建RTOS平臺(tái)編譯環(huán)境
1. 下載Keil5與配置芯片包由于將AWTK應(yīng)用移植到STM32平臺(tái)需要用到Keil5,所以需要做一些準(zhǔn)備工作,包括下載Keil5以及對(duì)應(yīng)板子型號(hào)的芯片包,Keil5以及芯片包的下載地址分別可以從下面兩個(gè)網(wǎng)址下載。Keil5:www.keil.com/download/product芯片包:www.keil.arm.com/devices
2. 下載移植工程
在官方GitHub(github.com/zlgopen)上有實(shí)現(xiàn)STM32幾個(gè)型號(hào)的移植工程,其中包括STM32F429的工程(awtk-stm32f429igtx-raw)。接下來(lái)的移植工作需要在這些工程上操作,因此這里下載并解壓。其它型號(hào)如STM32F103、STM32F767的移植工程均可從官方GitHub下載。
圖?1?awtk-stm32f429igtx-raw移植工程目錄結(jié)構(gòu)這些工程已經(jīng)對(duì)接好了硬件設(shè)備,用戶只需要添加應(yīng)用到工程中編譯即可。如果想要從空白工程從零開(kāi)始移植,可以參考官方的《AWTK移植及移植裁剪指南》文檔:
https://awstudio.zlg.cn/docs/awtk_docs/AWTK_Porting_Tailoring/
另外,還需要將AWTK SDK(上圖中awtk文件夾)復(fù)制到移植工程目錄下,最終移植工程目錄結(jié)構(gòu)如上圖所示:
編譯移植工程并下載到嵌入式設(shè)備
1. 編譯AWTK-DEMO
使用Keil打開(kāi)awtk-stm32f429igtx-raw/USER/awtk.uvprojx文件即可打開(kāi)移植工程,工程中默認(rèn)帶有一個(gè)AWTK-DEMO應(yīng)用,可以直接點(diǎn)擊Keil菜單欄的“Build”按鈕編譯工程。
2. 編譯自己的應(yīng)用
如果想在移植工程中編譯在PC上調(diào)試好的AWTK應(yīng)用,需要先屏蔽AWTK-DEMO:
- 在Keil的“Project”中右鍵awtk-demo文件夾 - “Options fro Group ‘AWTK-DEMO’”;取消勾選“Include in Target Build”;點(diǎn)擊“OK”保存。
圖?2?在Keil中屏蔽AWTK-DEMO接著再往移植工程中加入自己應(yīng)用的代碼文件,這里拿我們先前編寫的MyHelloWorld-Demo舉例:
點(diǎn)擊Keil菜單欄的“Manage Project Items”按鈕,彈出設(shè)置窗口;
在“Groups”點(diǎn)擊添加組按鈕,并輸入“MyHelloWorld-Demo”;選中新建的組并點(diǎn)擊“Add Files”按鈕,在文件對(duì)話框中選擇并添加MyHelloWorld-Demo的代碼文件;保存設(shè)置后再點(diǎn)擊Keil菜單欄的“Rebuild”按鈕重新編譯工程即可。
圖?3?在Keil中添加MyHelloWorld-Demo代碼文件
3. 下載應(yīng)用到嵌入式設(shè)備
編譯好移植工程后,使用仿真器(如:ST-Link)連接嵌入式板子和電腦,連接成功后在Keil上點(diǎn)擊菜單欄的“Download”按鈕即可將應(yīng)用下載到板子上。
圖?4?下載應(yīng)用到板子上其它型號(hào)的RTOS平臺(tái)移植方法也是大同小異,可以從官方的GitHub下載對(duì)應(yīng)的移植工程,先屏蔽工程中自帶的示例代碼文件(一般組名是AWTK-DEMO),然后往工程中添加用戶自己的應(yīng)用代碼及資源文件,最后編譯應(yīng)用并下載到設(shè)備即可。
圖?5?實(shí)際板子運(yùn)行效果
移植注意事項(xiàng)
在官方GitHub下載的移植工程默認(rèn)配置好了宏,如果想要自定義開(kāi)關(guān)一些宏可以修改awtk_config.h文件里面的代碼,注意使用這個(gè)頭文件前提是需要在工程中定義HAS_AWTK_CONFIG宏。還有一些需要注意的事項(xiàng)如下:
若要加載PNG/JPG格式的圖片,StackSize不可小于32K,可以在platform.c中調(diào)整Heap大小;
在使用Keil編譯時(shí),要在C/C++ -> Misc Controls 中加上 --gnu;
如果系統(tǒng)有 FPU,初始化時(shí)一定要開(kāi)啟 FPU;
如果想自定義添加AWTK代碼文件,可以參考下面文檔的第二、三章節(jié)內(nèi)容awstudio.zlg.cn/docs/awtk_docs/HowTo/porting_common.html。