一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

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

3天內(nèi)不再提示

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

ZLG致遠電子 ? 2023-12-07 12:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

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

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

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

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

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

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

工具鏈:/opt/gcc-linaro-arm-linux-gnueabihf-4.9-2014.09_linux/
SDK與應(yīng)用:
/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-'

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

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

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

圖1配置設(shè)備名稱

編譯打包并運行應(yīng)用程序

1. 編譯awtk

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

2. 編譯應(yīng)用程序

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

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

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

在提示編譯成功之后,還需要執(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所在文件夾的路徑,再運行應(yīng)用即可。

新版AWTK SDK配置與編譯方式

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

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

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

2. 編譯awtk

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

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

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

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

./release/bin/demo

鏈接錯誤解決思路

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

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5149

    文章

    19651

    瀏覽量

    317226
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11508

    瀏覽量

    213646
  • awtk
    +關(guān)注

    關(guān)注

    0

    文章

    50

    瀏覽量

    383
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    AWTK的特點

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

    嵌入式Linux應(yīng)用程序開發(fā)標準教程

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

    基于嵌入式Linux應(yīng)用程序開發(fā)詳解

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

    嵌入式Linux應(yīng)用程序例程

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

    嵌入式linux編譯 ko,嵌入式linux:編譯linux驅(qū)動模塊

    嵌入式系統(tǒng)應(yīng)用中,嵌入式linux是非常重要的一個方面,而linux驅(qū)動編譯又是嵌入式
    發(fā)表于 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>驅(qū)動模塊

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

    嵌入式linux一個簡單的hello程序編譯運行示例由于嵌入式的cpu速度比較慢,所以
    發(fā)表于 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>示例

    《從實踐中學(xué)嵌入式Linux應(yīng)用程序開發(fā)》pdf完整版資源分享

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

    嵌入式Linux應(yīng)用程序開發(fā)-(1)第一個嵌入式QT應(yīng)用程序

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

    如何用AWTK和AWPLC快速開發(fā)嵌入式應(yīng)用程序

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

    【產(chǎn)品應(yīng)用】用 AWTK 和 AWPLC 快速開發(fā)嵌入式應(yīng)用程序 (3)- 定時器

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

    0開始創(chuàng)建AWTK應(yīng)用程序】開發(fā)及調(diào)試環(huán)境搭建

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

    0開始創(chuàng)建AWTK應(yīng)用程序創(chuàng)建應(yīng)用程序并在模擬器運行

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

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

    本篇文章介紹一下AWTK開源智能串口屏方案的串口屏端(即HMI端)的編譯運行步驟,并介紹如何將HMI端移植到Linux或STM32平臺或RT
    的頭像 發(fā)表于 01-18 08:24 ?1442次閱讀
    【<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端開發(fā)方法,包括MCUSDK常用API的說明、使用流程及如何編譯Linux和STM32平臺。引言:AWTK
    的頭像 發(fā)表于 02-19 12:11 ?1798次閱讀
    【<b class='flag-5'>AWTK</b>開源智能串口屏方案】MCU SDK使用與<b class='flag-5'>編譯</b><b class='flag-5'>運行</b>

    0開始創(chuàng)建AWTK應(yīng)用程序編譯應(yīng)用到RTOS平臺

    AWTK是基于C語言開發(fā)的跨平臺GUI框架。本系列文章介紹如何0開始創(chuàng)建AWTK
    的頭像 發(fā)表于 03-21 08:23 ?1003次閱讀
    【<b class='flag-5'>從</b><b class='flag-5'>0</b><b class='flag-5'>開始創(chuàng)建</b><b class='flag-5'>AWTK</b><b class='flag-5'>應(yīng)用程序</b>】<b class='flag-5'>編譯</b><b class='flag-5'>應(yīng)用到</b>RTOS<b class='flag-5'>平臺</b>