加入星計劃,您可以享受以下權(quán)益:

  • 創(chuàng)作內(nèi)容快速變現(xiàn)
  • 行業(yè)影響力擴散
  • 作品版權(quán)保護
  • 300W+ 專業(yè)用戶
  • 1.5W+ 優(yōu)質(zhì)創(chuàng)作者
  • 5000+ 長期合作伙伴
立即加入
  • 正文
    • 搭建Linux平臺交叉編譯環(huán)境
    • 編譯打包并運行應用程序
    • 新版AWTK SDK配置與編譯方式
    • 鏈接錯誤解決思路
  • 推薦器件
  • 相關推薦
  • 電子產(chǎn)業(yè)圖譜
申請入駐 產(chǎn)業(yè)圖譜

【從0開始創(chuàng)建AWTK應用程序】編譯應用到嵌入式Linux平臺運行

02/05 11:20
2962
閱讀需 8 分鐘
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

AWTK是基于C語言開發(fā)的跨平臺GUI框架。本系列文章介紹如何從0開始創(chuàng)建AWTK應用程序,包括搭建開發(fā)調(diào)試環(huán)境、使用AWTK創(chuàng)建Hello工程并在模擬器上運行、將AWTK應用程序移植到其它平臺。

搭建Linux平臺交叉編譯環(huán)境

在上一篇文章我們介紹了使用AWTK開發(fā)簡單的應用并在PC上模擬運行,本篇文章就來介紹一下怎么讓應用程序運行在嵌入式Linux平臺上。

1. 準備交叉編譯環(huán)境

交叉編譯通常在PC的Ubuntu上進行,準備對應板子的交叉編譯工具鏈、AWTK SDK(awtk與awtk-linux-fb)、應用工程(應用需提前在AWTK Designer上打包資源)。SDK版本需要配套,否則會出現(xiàn)編譯不通過或運行異常問題,具體根據(jù)AWTK應用程序所依賴的SDK版本選擇,獲取SDK有三種方式:

    AWStudio安裝目錄下的Installer文件夾自帶的SDK;(推薦)板子供應商提供的SDK,可能與應用依賴版本不兼容,需找供應商更新SDK;Github上最新版的SDK,要求應用使用最新版awtk開發(fā),但最新版SDK未經(jīng)測試,可能存在BUG。

第一種和第三種方式需要自行配置awtk_config.py,配置方法見下面小節(jié);第二種供應商一般會配置好,或者有專門的配置教程可以參考。

將工具鏈、SDK和應用拷貝到Ubuntu以下路徑,SDK與應用需放在同一級目錄:

工具鏈:/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/
SDK與應用:
/home/user/
|-- awtk/
|-- awtk-linux-fb/
|--?awtk-hello-demo/

2.配置交叉編譯工具鏈路徑

將交叉編譯工具解壓到Ubuntu環(huán)境內(nèi),接著打開awtk-linux-fb目錄的awtk_config.py,找到TOOLS_PREFIX參數(shù)配置工具鏈的路徑。配置tslib則需修改TSLIB_LIB_DIR與TSLIB_INC_DIR參數(shù)。# awtk_config.py
TSLIB_LIB_DIR='/opt/tslib/lib'
TSLIB_INC_DIR='/opt/tslib/include'
TOOLS_PREFIX='/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/bin/arm-linux-gnueabihf-'

配置設備可以到awtk-linux-fb/awtk-port/main_loop_linux.c修改,下圖分別對應著Framebuffer、觸摸屏、鍵盤和鼠標等設備配置。

我們可以通過?"hexdump ?/dev/input/xx" 命令識別正確的觸摸或鼠標設備文件名。

?圖1?配置設備名稱

編譯打包并運行應用程序

1. 編譯awtk

在Ubuntu打開awtk-linux-fb目錄并輸入scons命令編譯awtk。

2. 編譯應用程序

同樣在awtk-linux-fb目錄輸入命令scons APP=../awtk-hello-demo,“APP=”后面為應用程序相對路徑。

提示“scons: done building targets.”代表編譯成功,若編譯失敗考慮SDK版本不配套或awtk_config.py中工具鏈路徑設置不正確等情況。

3. 發(fā)布并運行應用程序

在提示編譯成功之后,還需要執(zhí)行下面命令生成realease文件夾。

./release.sh ../awtk-hello-demo/res demo

將release文件夾通過scp或其它工具將其拷貝到板子上,并在板子上運行命令:./release/bin/demo若提示can't load library 'xxx.so',需添加動態(tài)庫查找路徑,在板子控制臺輸入export LD_LIBRARY_PATH=so所在文件夾的路徑,再運行應用即可。

新版AWTK SDK配置與編譯方式

若使用Github最新版的SDK,可以使用另外一種配置與編譯方式,這種方式可以避免了在一堆配置里面尋找配置項的麻煩。

1. 配置交叉編譯工具鏈路徑

在awtk-linux-fb目錄創(chuàng)建名為awtk_config_define.py的文件,將TOOLS_PREFIX等參數(shù)及對應的路徑寫入該文件中。awtk_config_define.py還可以由腳本生成并支持修改其它參數(shù),具體可以看最新版awtk-linux-fb的README文檔。

2. 編譯awtk

在Ubuntu打開awtk-linux-fb目錄并輸入scons命令編譯awtk。

3. 編譯與發(fā)布應用

去到應用程序目錄下,使用scons LINUX_FB=true命令編譯應用。接著輸入python ./scripts/release.py生成release文件夾。

將release文件夾通過scp或其它工具將其拷貝到板子上,并在板子上運行命令:

./release/bin/demo

鏈接錯誤解決思路

若在編譯過程中遇到‘undefined symbol’錯誤提示,需檢查awtk_config.py腳本OS_LIBS是否添加鏈接庫,OS_CPPPATH與OS_LIBPATH是否包含頭文件與庫文件搜索路徑。

到這里,我們就完成了把AWTK應用程序應用部署到嵌入式Linux的操作,大家如果在移植過程中遇到了什么錯誤,可以在評論區(qū)或是加入官方交流群進行討論。

系列往期文章:【從0開始創(chuàng)建AWTK應用程序 】 創(chuàng)建應用程序并在模擬器運行

推薦器件

更多器件
器件型號 數(shù)量 器件廠商 器件描述 數(shù)據(jù)手冊 ECAD模型 風險等級 參考價格 更多信息
FM24CL64B-GTR 1 Cypress Semiconductor Memory Circuit, 8KX8, CMOS, PDSO8, SOIC-8
$3.16 查看
FODM8801CR2V 1 onsemi OptoHiT™ Series, High-Temperature Phototransistor, 2500-REEL

ECAD模型

下載ECAD模型
$2.13 查看
SST39VF3201C-70-4I-EKE 1 Microchip Technology Inc FLASH 2.7V PROM, PDSO48, 12 X 20 MM, ROHS COMPLIANT, MO-142DD, TSOP1-48
$3.14 查看
致遠電子

致遠電子

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術(shù)認證企業(yè),廣州市高端工控測量儀器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。

廣州致遠電子股份有限公司成立于2001年,注冊資金5000萬元,國家級高新技術(shù)認證企業(yè),廣州市高端工控測量儀器工程技術(shù)研究開發(fā)中心,Intel ECA全球合作伙伴和微軟嵌入式系統(tǒng)金牌合作伙伴。收起

查看更多

相關推薦

電子產(chǎn)業(yè)圖譜

ZLG官方賬號,一個匯聚500名工程師的研發(fā)測試分享平臺,為您提供電子世界領先的產(chǎn)品技術(shù)與行業(yè)解決方案.