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

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

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

3天內不再提示

在Linux開發板上跑一個qt程序的基本步驟

大魚機器人 ? 來源:果果小師弟 ? 作者:智果君 ? 2022-10-24 11:44 ? 次閱讀

01

前言

Linux不難,難的是沒有找對教程,沒有人快速的帶你。開發板買了之后就放在那里吃灰,看視頻也看不下去,看文檔又看不懂,太難了!

本文以通俗易懂的方式講一下在正點原子Linux開發板上跑一個qt程序的基本步驟,爭取讓初學者能夠在半天的時間跑通第一個程序。


硬件:正點原子 Linux mini開發板 軟件:win10,vmware,ubuntu,qtcreator 運行效果如下圖所示,就是在正點原子默認的UI界面基礎上,運行了一個serialport例程。

c05008d2-51dd-11ed-a3b6-dac502259ad0.png

先說一下初學Linux嵌入式開發的感受,學習STM32時 ,熟悉了Keil或IAR這個集成開發環境,也可以用簡單的寄存器來控制某一個引腳。

手做Linux開發之后,首先被幾十個G的安裝鏡像嚇住了,感覺Linux編譯起來特別復雜很難。還有就是密密麻麻的動輒上百個字符的命令,對于習慣圖形化開發的我們來說,實在是感到太難了。

還有賣家那動不動就幾十個小時的視頻,視頻還分好幾期:驅動開發、應用開發、Qt開發等。

每個視頻都又長又硬,我本開買個板子是想玩一下,結果要看這么多視頻,瞬間就不想學了,結果從入門到放棄,板子放那里吃灰。

本文的目的就是讓大家拋開視頻,把這個十幾小時的視頻濃縮成一篇文章,讓你快速體驗嵌入式Linux的開發樂趣!當然我建議官方也出一個快速把玩教程,讓開發者快速體驗樂趣,這樣我想效果會更好!

02

下載資料

首先去正點原子論壇下載資料,注意不要下載視頻,視頻你可以在B站隨時隨地看,沒人會這么無聊把視頻下載下來吧!

c42ff548-51dd-11ed-a3b6-dac502259ad0.png

資料大多是百度網盤,如果不開會員的話會很慢,建議下載資料時買個臨時的會員下載,資料下載完了進行下一步。

二、安裝虛擬機

安裝虛擬機基本在正點原子的大多數PDF教程里面都有,這里就不需要在多說了。如果看文章不清楚,也可以去B站看視頻。 c4ce2f92-51dd-11ed-a3b6-dac502259ad0.png

建議初學者仔細的看一遍,如果裝錯了,沒事大不了刪了在再裝一次。 在安裝ubuntu這個步驟中,強烈建議直接下載正點原子已經打包好qtcreator的鏡像,將這個鏡像安裝完畢后,就不用再一步步配置了。

對于需要快速跑通第一個linux程序的同學來說,可以避免學的越細越糊涂的陷阱。跳過這些繁瑣的步驟,可以讓我們快速站在全局高度理解整個開發過程。

這是啥意思呢?就是你新安裝的ubuntu不是啥環境啥軟件都沒有嘛,你需要自己安裝一遍,比較麻煩。

但是你可以用別人的正點原子的他們電腦里面的那個ubuntu系統,他把這個系統打包好了給你,你只需要把他的打包好的系統安裝你的虛擬機就可以了,怎么樣? 是不是很神奇,你還可以在你的電腦安裝別人的電腦系統。這個系統在哪里呢?

c501e3c8-51dd-11ed-a3b6-dac502259ad0.png

下載下來是這樣

c5376b60-51dd-11ed-a3b6-dac502259ad0.png

然后按照這里的說明就可以安裝正點原子給你打包好的系統了。

c562f26c-51dd-11ed-a3b6-dac502259ad0.png

文件名:【正點原子】I.MX6U 虛擬機使用參考手冊V1.3.pdf

03

配置網絡環境

你安裝完ubuntu后很可能不能上網,這個問題每個人遇到的都不一樣,建議按照正點原子的教程把你的windows、ubuntu、開發板讓他們網絡連接都正常。

可以參考:【正點原子】I.MX6U網絡環境TFTP&NFS搭建手冊V1.3.1.pdf

c65472e0-51dd-11ed-a3b6-dac502259ad0.png

如果文檔看不明白也有視頻,對照著視頻一步一步也可以。

c6777178-51dd-11ed-a3b6-dac502259ad0.png

所以網絡這一塊你也不需要擔心了。

04

安裝qtcreator

同樣安裝qtcreator軟件可以參考:【正點原子】I.MX6U嵌入式Qt開發指南V1.1.pdf

c6b4c456-51dd-11ed-a3b6-dac502259ad0.png

在ubuntu安裝完qtcreator軟件后,你就可以像windows下編寫程序,然后在ubuntu下面運行了。但是我們的目的是讓qt軟件運行在我們的arm開發板下面對吧!

這時我們自然想到在ubuntu下面安裝一個編譯工具把程序編譯成可以在arm開發板運行的代碼吧!這個就叫做“交叉編譯鏈”

交叉編譯器中“交叉”的意思就是在一個架構上編譯另外一個架構的代碼,相當于兩種架構“交叉”起來了,我們的電腦是x86架構,開發板是ARM架構。

05

安裝qt交叉編譯器

可以參考:【正點原子】I.MX6U 出廠系統Qt交叉編譯環境搭建V1.6.pdf

第一章的內容,安裝交叉編譯器。

你只有安裝了這個,你才能在ubuntu中編譯出可以在ARM開發板上運行的代碼,這一步必須做,而且還要按照她的教程一步一步來。

c70cd196-51dd-11ed-a3b6-dac502259ad0.png


5.1 編譯器拷貝

把開發板光盤 A-基礎資料->5、開發工具->1、交叉編譯器->fsl-imx-x11-glibc-x86_64-meta- toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh 拷貝到 Ubuntu 虛擬機。

拷貝軟件可以用MobaXterm軟件,這個軟件的使用可以參考這篇文章:2022第一篇文,全能終端神器MobaXterm

c81f089c-51dd-11ed-a3b6-dac502259ad0.png

如下圖本文已經把交叉編譯工具拷貝到了Ubuntu虛擬機。

c86cacc8-51dd-11ed-a3b6-dac502259ad0.png

執行下面的指令修改腳本的權限,修改權限后可以看到此腳本顏色顯示改變,說明修改成功。


chmodu+xfsl-imx-x11-glibc-x86_64-meta-toolchain-qt5-cortexa7hf-neon-toolchain-4.1.15-2.1.0.sh 直接執行腳本安裝交叉編譯工具,連續敲下兩次回車鍵確認,再輸入用戶密碼即可。本次安裝的目錄為腳本所指定的默認安裝的目錄,后面的內核編譯環境的交叉編譯都是按這個安裝目錄去操作。

c8856920-51dd-11ed-a3b6-dac502259ad0.png

5.2 配置環境變量

我們知道,在linux下,如果運行一個可執行文件,需要在對應目錄下右鍵打開終端,然后./指令運行它,那么我們在其他文件夾下運行一個指定的程序呢? 當然可以,就是用到“環境變量”。沒錯,在Linux下也需要環境變量!其作用跟windows下一模一樣。就是相當于省略了一個非常長的目錄。沒有環境變量之前,我們需要輸入的指令是:


/aaa/bbb/ccc/ddd/eee/fff/hhh/xxx.sh 有了環境變量之后,我們輸入的指令是,這就是區別。環境變量讓系統知道,無論你在任何位置調用xxx.sh指令,都是調用的特定的文件夾下的某個程序。

xxx.sh 環境變量的設置方法是source /opt......我們在工程目錄下右鍵打開終端,然后運行環境變量。

source/opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

c8b3093e-51dd-11ed-a3b6-dac502259ad0.png

接下來使用env指令查看環境變量,出現這些字樣的配置選項之后,就可以了。它表示我們已經將剛安裝的“交叉編譯工具鏈”設置到環境變量了。

c8c51fa2-51dd-11ed-a3b6-dac502259ad0.png

使用arm-poky-linux-gnueabi-gcc -v指令可以查看 gcc 版本,表明環境變量已經生效。

c8e93d88-51dd-11ed-a3b6-dac502259ad0.png

OK,至此你的qt交叉編譯器就安裝好了。

5.3 安裝交叉編譯環境

上面你只是在ubuntu下你裝了交叉編譯器器,想編譯 Qt 應用程序在開發板上運行起來,那么還需要搭建交叉編譯環境,使用 ARM平臺的交叉編譯器編譯的程序才能在I.MX6U 開發板上運行起來。

主要就是在 配置 Qt Creator中配置Kits,Kit 譯作套件,也就是開發編譯環境套件,可以搭建不同平臺的套件,以不同的套件編譯出不同平臺的應用程序,也驗證了 Qt 跨平臺的特性!如果你安裝了Android的套件,你還可以在你的手機上運行qt程序。

這里我們需要在腳本里寫入設置使能環境變量的指令,首先打開此腳本。


sudovi/opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator.sh 在qtcreator.sh里的第一行插入如下指令,如下圖所示。

source/opt/fsl-imx-x11/4.1.15-2.1.0/environment-setup-cortexa7hf-neon-poky-linux-gnueabi

c9088abc-51dd-11ed-a3b6-dac502259ad0.png

保存腳本文件(ESC : wq)。使用如下指令打開Qt Creator。“&”的作用是后臺運行

/opt/Qt5.12.9/Tools/QtCreator/bin/qtcreator.sh&

c918ddcc-51dd-11ed-a3b6-dac502259ad0.png

5.4 安裝kits

在你安裝qtcreater軟件后默認只有這一個kits,然后按照教程搭建另外兩個kits,其中ATK-I.MX6U是用來大imx6ull ARM平臺運行的套件。IMX6U-rsync是用來網絡調試下載程序到開發板的套件,就是你在qtcreater上面編譯好后,點擊運行,就會直接在開發板上面顯示你的程序效果。

c940481c-51dd-11ed-a3b6-dac502259ad0.png

在 Qt Creator 中默認情況下,會使用 sftp 或 rsync 發送程序到板卡。由于正點原子 I.MX6U 出廠 Qt 文件系統(文件系統 V1.9 及之后的)里有 rsync 指令,因此可以很方便地使用此方式進行 Qt 遠程調試。首先我們要確認下當前出廠文件系統版本號,在出廠系統執行以下指令。


cat/etc/version

c95fcf84-51dd-11ed-a3b6-dac502259ad0.png

如果文件系統不是 V1.9 的,或者不支持 rsync 指令,請去網盤下載最新的出廠系統,使用最新的系統來進行。

設置開發板靜態 ip 由于LAN8720PHY 網絡芯片沒有MAC地址,系統啟動時會生成隨機MAC地址給網絡使用。每次都生成一個MAC地址,導致每次開機網絡獲取的ip不是固定的。(v2.3 版本文件系統已固定一個隨機MAC地址,不會因每次開機改變,請更新到最新文件系統)所以我們要設置給它一個靜態的ip,不因MAC地址的改變而改變,設置固定ip方法調試。

開發板啟動時會自動獲取ip,最簡單的方法是直接設置一個ip給它。這樣我們就在出廠文件系統里/etc/rc.local 文件里如圖位置添加以下文件。

vi/etc/rc.local 添加以下內容,請根據個人使用的路由器,設置相應網段的ip地址。下圖為設置 eth0 的靜態ip地址。請注意這個 ip 與其他設備的ip沖突!

PATH=/sbin:/bin:/usr/sbin:/usr/bin ifconfigeth0192.168.1.115netmask255.255.255.0 routeadddefaultgw192.168.1.1 echo"nameserver114.114.114.114">/etc/resolv.conf

c99ce82e-51dd-11ed-a3b6-dac502259ad0.png

這樣之后沒每次開發板連接網線上電后,開發板的IP地址就為192.168.1.115。 加下來參考 【正點原子】I.MX6U 出廠系統Qt交叉編譯環境搭建V1.6.pdf 2.5.1小節,完成rsync方式Qt遠程調試kits安裝。

c9d3b2d2-51dd-11ed-a3b6-dac502259ad0.png

06

實戰開搞

我們打開正點原子自帶的例程,這里以Qt/03/03_serialport為例。雙擊03_serialport.pro。

c9ef3778-51dd-11ed-a3b6-dac502259ad0.png

打開后選擇IMX6U-rsync套件

ca060cbe-51dd-11ed-a3b6-dac502259ad0.png

打開后軟件會自動編譯,一般是沒有錯誤的,直接點擊左下角的綠色三角號編譯運行。

ca2a0cb8-51dd-11ed-a3b6-dac502259ad0.png

然后你就可以在開發板上面看到神奇的一幕,你的上位機跑到開發板上面了,之后你連接開發板上面的串口就可以愉快的玩耍了。

:因為開發板有正點原子的開機qt桌面,你可以禁止它不讓他顯示,參考如下:

cb08b7ce-51dd-11ed-a3b6-dac502259ad0.png

最終效果:

cb8cdedc-51dd-11ed-a3b6-dac502259ad0.jpg





審核編輯:劉清

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

    關注

    18

    文章

    1033

    瀏覽量

    47631
  • Linux開發板
    +關注

    關注

    0

    文章

    27

    瀏覽量

    11452
  • qt程序
    +關注

    關注

    0

    文章

    3

    瀏覽量

    1769

原文標題:我在Linux開發板上跑的第一個Qt程序

文章出處:【微信號:All_best_xiaolong,微信公眾號:大魚機器人】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    嵌入式Linux-Qt環境搭建 Qt程序運行測試

    本編介紹如何在嵌入式Linux開發板配置Qt運行環境,并進行Qt程序運行測試。
    的頭像 發表于 06-01 09:07 ?7534次閱讀
    嵌入式<b class='flag-5'>Linux-Qt</b>環境搭建 <b class='flag-5'>Qt</b><b class='flag-5'>程序</b>運行測試

    如何在嵌入式Linux開發板配置Qt運行環境

    本文基于I.MX6ULL芯片的Linux開發板,介紹如何在嵌入式Linux開發板配置Qt運行環
    發表于 10-10 09:56 ?2641次閱讀

    Linux系統中搭建Qt Creator開發環境

    Linux開發板中配置Qt運行環境文中介紹了如何將Qt移植到Linux
    發表于 11-29 14:06 ?2643次閱讀

    PCQT怎樣控制開發板的LED

    請問如何用電腦QT界面控制S3C2440的驅動程序,使得LED燈亮?我PC機上用QT編寫
    發表于 09-02 10:32

    如何快速上手開發板,并且HarmonyOS簡單程序

    如何快速上手開發板,并且HarmonyOS簡單
    發表于 09-10 14:36

    如何用QT開發軟件放在板子

    您好,我現在想用QT開發軟件放在板子,但是
    發表于 01-04 07:28

    Arm linux開發環境下運行主機中編譯好的QT程序

    的,這個時候我們可以考慮不在開發板搭建Qtopia環境,只將Qte移植過去即可,只要版本OK,QT程序即可在開發板的終端界面直接運行!完成
    發表于 06-27 15:47

    如何將Qt程序移植到Arm開發板

    各位大俠,我現在在Linux Red Hat 9.0下用Qt編寫了簡單的程序,如何將該程序
    發表于 07-13 11:51

    文詳解RK3308開發板Qt開發的流程

    應用程序,而無需下載編譯 SDK 代碼。SDK中編譯QT工具鏈準備工作:Ubuntu系統RK3308 Linux SDKQt Creator開發
    發表于 08-16 16:58

    【米爾-全志T113-S3開發板- 極致雙核A7國產處理器-試用體驗】從零開始開發板QT程序

    : source /etc/file 之后如果順利,你就能把你ubutunqt程序傳到開發板進行通了。 但是第
    發表于 09-07 21:48

    Linux Qt 及Arm開發板漢字顯示

    問題,今天我把種NB的方法介紹給大家,請豎起耳朵。 先說開發環境: Linux : 使用 虛擬機 安裝的 Ubuntu 14.04 Qt
    發表于 01-24 11:33 ?596次閱讀

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

    一個嵌入式QT應用程序成功安裝 Qt Creator 開發環境后,我們通過
    發表于 11-01 17:21 ?16次下載
    嵌入式<b class='flag-5'>Linux</b>應用<b class='flag-5'>程序</b><b class='flag-5'>開發</b>-(1)第<b class='flag-5'>一個</b>嵌入式<b class='flag-5'>QT</b>應用<b class='flag-5'>程序</b>

    使用Qt Creator遠程調試部署應用到嵌入式linux開發板

    開發環境后,使用Qt Creator加載交叉編譯好的的Qt SDK包,般完成編譯后生成可執行程序然后拷貝到
    發表于 11-01 17:38 ?23次下載
    使用<b class='flag-5'>Qt</b> Creator遠程調試部署應用到嵌入式<b class='flag-5'>linux</b><b class='flag-5'>開發板</b>

    如何配置和操作Linux驅動程序開發板

    本文檔概述了利用Linux開發板Linux 內核開發驅動程序的基礎知識,并簡單介紹了如何配置和操作
    的頭像 發表于 02-15 13:36 ?3086次閱讀
    如何配置和操作<b class='flag-5'>Linux</b>驅動<b class='flag-5'>程序</b><b class='flag-5'>開發板</b>

    linux開發板如何編譯curl

    Linux開發板編譯 curl 庫通常涉及到幾個步驟,包括準備開發環境、下載源代碼、配置編譯
    的頭像 發表于 08-30 15:33 ?724次閱讀
    主站蜘蛛池模板: 在线a人片免费观看不卡| www.色妞| 国产性夜夜性夜夜爽91| 国模在线视频| 国产手机免费视频| 免费黄色大片| 四虎影院一区二区| 日本一区二区免费在线观看| 久操视屏| 天天色综合1| 爱爱免费网址| 狠狠色丁香婷婷综合久久片| 欧美高清一级片| 日韩一二三级| 香港三级理论在线影院| 四虎影库网址| 亚洲高清色| 国产成人精品三级在线| 亚洲国产成人精品女人久久久| 五月天激情综合网| 性欧美视频| 三级毛片在线| 激情爱爱的免费视频| 久久女人网| 免费黄色的视频| 国产经典三级| 国产乱码1卡一卡二卡| 好男人午夜| 午夜精品久久久久久影视riav| 亚洲第一成网站| 午夜韩国理论片在线播放| 奇米影视第四色7777| 777欧美午夜精品影院| 亚洲小便| 国产午夜视频在线观看网站| 国产亚洲自在精品久久| 色综合天天综合网国产成人| 色丁香婷婷| 国产农村妇女毛片精品久久久| 天天舔天天色| 手机精品视频在线观看免费|