在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

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

ZLG致遠電子 ? 2023-12-07 12:08 ? 次閱讀

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

搭建Linux平臺交叉編譯環境

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

1. 準備交叉編譯環境

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

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

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

將工具鏈、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環境內,接著打開awtk-linux-fb目錄的awtk_config.py,找到TOOLS_PREFIX參數配置工具鏈的路徑。配置tslib則需修改TSLIB_LIB_DIR與TSLIB_INC_DIR參數。# 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" 命令識別正確的觸摸或鼠標設備文件名。

394e3a26-94b6-11ee-9788-92fbcf53809c.png

圖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. 發布并運行應用程序

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

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

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

新版AWTK SDK配置與編譯方式

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

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

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

2. 編譯awtk

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

3. 編譯與發布應用

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

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

./release/bin/demo

鏈接錯誤解決思路

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

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 嵌入式
    +關注

    關注

    5082

    文章

    19126

    瀏覽量

    305198
  • Linux
    +關注

    關注

    87

    文章

    11304

    瀏覽量

    209498
  • awtk
    +關注

    關注

    0

    文章

    44

    瀏覽量

    234
收藏 人收藏

    評論

    相關推薦

    AWTK的特點

    能支持Linux、MacOS、iOS、Android操作系統,還能支持Windows操作系統、WEB以及各種小程序,可以說是一個全能的嵌入式GUI引擎。AWTK的跨
    發表于 11-04 07:57

    嵌入式Linux應用程序開發標準教程

    嵌入式Linux應用程序開發標準教程(第2版)》主要分為3個部分,包括Linux基礎、搭建嵌入式Lin
    發表于 09-29 17:02 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>應用程序</b>開發標準教程

    基于嵌入式Linux應用程序開發詳解

    基于嵌入式Linux應用程序開發詳解
    發表于 10-25 14:17 ?12次下載
    基于<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>應用程序</b>開發詳解

    嵌入式Linux應用程序例程

    嵌入式Linux應用程序例程(arm嵌入式開發步驟)-嵌入式Linux
    發表于 07-30 13:23 ?16次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>應用程序</b>例程

    嵌入式linux編譯 ko,嵌入式linux:編譯linux驅動模塊

    嵌入式系統應用中,嵌入式linux是非常重要的一個方面,而linux驅動編譯又是嵌入式
    發表于 11-01 16:31 ?9次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b><b class='flag-5'>編譯</b> ko,<b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>:<b class='flag-5'>編譯</b><b class='flag-5'>linux</b>驅動模塊

    嵌入式linux一個簡單的hello程序編譯運行示例

    嵌入式linux一個簡單的hello程序編譯運行示例由于嵌入式的cpu速度比較慢,所以
    發表于 11-01 16:56 ?9次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>一個簡單的hello<b class='flag-5'>程序</b><b class='flag-5'>編譯</b>及<b class='flag-5'>運行</b>示例

    《從實踐中學嵌入式Linux應用程序開發》pdf完整版資源分享

    《從實踐中學嵌入式Linux應用程序開發》內容簡介: 《從實踐中學嵌入式linux應用程序開發》
    發表于 11-01 17:07 ?0次下載
    《從實踐中學<b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>應用程序</b>開發》pdf完整版資源分享

    嵌入式Linux應用程序開發-(1)第一個嵌入式QT應用程序

    開發環境,請參考以下帖子: 嵌入式Linux開發環境搭建-(5)安裝和配置Qt Creator開發工具目標:了解 Qt Creator 如何構建和編譯工程,如何把應用程序...
    發表于 11-01 17:21 ?16次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b><b class='flag-5'>應用程序</b>開發-(1)第一個<b class='flag-5'>嵌入式</b>QT<b class='flag-5'>應用程序</b>

    如何用AWTK和AWPLC快速開發嵌入式應用程序

    AWPLC 是 ZLG 自主研發的 PLC 系統(兼容 IEC61131-3),本文用一個簡單的溫度控制系統,來演示如何用 AWTK 和 AWPLC 快速開發嵌入式應用程序
    的頭像 發表于 09-26 11:46 ?1402次閱讀

    【產品應用】用 AWTK 和 AWPLC 快速開發嵌入式應用程序 (3)- 定時器

    AWPLC是ZLG自主研發的PLC系統(兼容IEC61131-3),本文用一個用定時器實現的走馬燈程序,來演示如何用AWTK和AWPLC快速開發嵌入式應用程序。背景
    的頭像 發表于 11-02 10:02 ?747次閱讀
    【產品應用】用 <b class='flag-5'>AWTK</b> 和 AWPLC 快速開發<b class='flag-5'>嵌入式</b><b class='flag-5'>應用程序</b> (3)- 定時器

    0開始創建AWTK應用程序】開發及調試環境搭建

    AWTK是基于C語言開發的跨平臺GUI框架。本系列文章介紹如何0開始創建AWTK
    的頭像 發表于 11-11 10:00 ?681次閱讀
    【<b class='flag-5'>從</b><b class='flag-5'>0</b><b class='flag-5'>開始創建</b><b class='flag-5'>AWTK</b><b class='flag-5'>應用程序</b>】開發及調試環境搭建

    0開始創建AWTK應用程序創建應用程序并在模擬器運行

    AWTK是基于C語言開發的跨平臺GUI框架。本系列文章介紹如何0開始創建AWTK
    的頭像 發表于 12-01 08:24 ?518次閱讀
    【<b class='flag-5'>從</b><b class='flag-5'>0</b><b class='flag-5'>開始創建</b><b class='flag-5'>AWTK</b><b class='flag-5'>應用程序</b>】<b class='flag-5'>創建</b><b class='flag-5'>應用程序</b>并在模擬器<b class='flag-5'>運行</b>

    AWTK開源智能串口屏方案】HMI端程序移植編譯運行

    本篇文章介紹一下AWTK開源智能串口屏方案的串口屏端(即HMI端)的編譯運行步驟,并介紹如何將HMI端移植到Linux或STM32平臺或RT
    的頭像 發表于 01-18 08:24 ?932次閱讀
    【<b class='flag-5'>AWTK</b>開源智能串口屏方案】HMI端<b class='flag-5'>程序</b>移植<b class='flag-5'>編譯</b>及<b class='flag-5'>運行</b>

    AWTK開源智能串口屏方案】MCU SDK使用與編譯運行

    本篇文章將介紹AWTK-HMI中的MCU端開發方法,包括MCUSDK常用API的說明、使用流程及如何編譯Linux和STM32平臺。引言:AWTK
    的頭像 發表于 02-19 12:11 ?1214次閱讀
    【<b class='flag-5'>AWTK</b>開源智能串口屏方案】MCU SDK使用與<b class='flag-5'>編譯</b><b class='flag-5'>運行</b>

    0開始創建AWTK應用程序編譯應用到RTOS平臺

    AWTK是基于C語言開發的跨平臺GUI框架。本系列文章介紹如何0開始創建AWTK
    的頭像 發表于 03-21 08:23 ?618次閱讀
    【<b class='flag-5'>從</b><b class='flag-5'>0</b><b class='flag-5'>開始創建</b><b class='flag-5'>AWTK</b><b class='flag-5'>應用程序</b>】<b class='flag-5'>編譯</b><b class='flag-5'>應用到</b>RTOS<b class='flag-5'>平臺</b>
    主站蜘蛛池模板: 久久亚洲精品国产精品婷婷| 天天天天天操| 免费人成在线观看视频播放| 国产黄网站| 天堂网成人| 国产乱码精品一区二区| cum4k在线| 777欧美| 亚洲美国avcom| 国产精品视频你懂的| 国产高清a| 性色网址| a成人在线| 在线99热| 欧美三级视频| 欧美又黄又嫩大片a级| 国产主播一区二区| 黄色网址大全免费| 大学生一级特黄的免费大片视频| 亚洲激情视频| 91精品国产免费久久久久久青草| 欧美黑人性受xxxx喷水| 日韩卡1卡2卡三卡四卡二卡免| 一夜七次郎久久综合伊人| 亚洲一区毛片| 另类视频色综合| 国产精品影视| 色婷婷在线观看视频| 天天做夜夜爱| 91福利视频网站| 磁力bt种子搜索在线| 91大神免费视频| 美国一级毛片不卡无毒| 国产人人爱| 色视频在线播放| 欧美乱妇15p| 婷婷天堂| 手机看片福利视频| 性午夜影院| 特黄一级视频| 五月婷婷色丁香|