• 正文
    • 安裝編譯環(huán)境
    • 安裝源碼包
    • 編譯測試
    • Qt 開發(fā)環(huán)境搭建及使用
    • 使用 UUU 工具燒寫鏡像
    • 燒寫 TF 卡的制作與使用
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

研發(fā)課堂丨OKMX8MQ-C開發(fā)板SDK安裝指南

2020/12/04
269
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點(diǎn)資訊討論

您已經(jīng)對嵌入式開發(fā)非常了解的話,可以按照自己的需求來搭建環(huán)境。如果和本手冊環(huán)境不一樣而產(chǎn)生報(bào)錯(cuò),您可以從國內(nèi)一些知名 Linux 論壇和網(wǎng)站搜索相關(guān)的信息來解決。本冊介紹的環(huán)境經(jīng)過飛凌的測試,如果對嵌入式開發(fā)不是非常熟悉的朋友,希望您按照飛凌提供的方法來搭建環(huán)境。

注意:飛凌默認(rèn)提供的開發(fā)環(huán)境中已經(jīng)默認(rèn)安裝交叉編譯工具鏈及 Qtcreator 桌面應(yīng)用程序,可以直接跳轉(zhuǎn)到第二部分,無需重新安裝。

版本說明?操作系統(tǒng):Ubuntu18.0464 位版?交叉工具鏈:aarch64-poky-linux-gcc

飛凌 OKMX8MQ-linux-sdk 包括兩部分,第一部分為編譯環(huán)境包,里面包含了交叉編譯器和 sysroot,第二部分為源碼包,包括 Linux 內(nèi)核、文件系統(tǒng)、測試程序源碼以及一些工具等。

編譯之前,請執(zhí)行一下命令安裝必要的工具包。

$?sudo apt-get update

$?sudo apt-get install openssh-server vim git fakeroot make

automake autoconf libtool libssl-dev bc

dosfstools mtools parted iproute2 gcc?kmod

安裝編譯環(huán)境

編譯環(huán)境是我們開發(fā)過程中的基礎(chǔ),首先我們來安裝編譯環(huán)境。

創(chuàng)建工作目錄$ mkdir -p /home/forlinx/imx8mq

并將用戶資料:

路徑:OKMX8MQ-C(Linux)用戶資料 工具 交叉編譯工具 fsl-imx-xwayland-glibc-x86_64-meta-toolchain-qt5-aarch64-toolchain-5.4-zeus.sh

拷貝到虛擬機(jī)?/home/forlinx/imx8mq?目錄

$ cd /home/forlinx/imx8mq

$./fsl-imx-xwayland-glibc-x86_64-meta-toolchain-qt5-aarch64-toolchain-5.4-zeus.sh

將安裝路徑設(shè)置保持默認(rèn),敲回車。

輸入“Y”進(jìn)行確認(rèn),等待安裝完成。

安裝完成后執(zhí)行

$. /opt/fsl-imx-xwayland/5.4-zeus/environment-setup-aarch64-poky-linux

設(shè)置環(huán)境變量。

并輸入

$ aarch64-poky-linux-gcc -v

檢查安裝是否成功。出現(xiàn)如下信息代表安裝成功。

注意:每當(dāng)重啟虛擬機(jī)或者打開新的 shell 窗口都需要重新執(zhí)行設(shè)置環(huán)境變量。

安裝源碼包

源碼包中包含了飛凌提供的 OKMX8MQ 平臺的需要用到的源代碼,包括 Linux 內(nèi)核源碼、測試程序源碼、文件系統(tǒng)等,您可以在此基礎(chǔ)上進(jìn)行二次開發(fā)。

將用戶資料:

路徑:OKMX8MQ-C(Linux)用戶資料 Linux 源碼 OK8MQ-linux-sdk.tar.bz2

拷貝到虛擬機(jī)?/home/forlinx/imx8mq 目錄

$ cd /home/forlinx/imx8mq

$ tar xvf OK8MQ-linux-sdk.tar.bz2

編譯測試

進(jìn)入源碼目錄

$ cd /home/forlinx/imx8mq/OK8MQ-linux-sdk

??全編譯測試

通過設(shè)置環(huán)境變量選擇編譯 2GB 內(nèi)存鏡像或 4GB 內(nèi)存鏡像

2GB 內(nèi)存:

$ . environment-setup-sourcetree

4GB 內(nèi)存:

$ . environment-4gddr-setup-sourcetree

然后,編譯:

$ make

?

編譯完成后,將在 images 生成鏡像文件。

?

??單獨(dú)編譯內(nèi)核

編譯:$ make linux

注意:編譯時(shí),系統(tǒng)會自動拷貝配置文件 arch/arm64/configs/imx_v8_defconfig 覆蓋內(nèi)核根目錄的 .config 文件。

清除:$ make linux_clean

清除編譯 linux 內(nèi)核生成的文件

?

??單獨(dú)編譯命令行測試程序

編譯:$ make cmd-examples

安裝:$ make cmd-examples_install

執(zhí)行完會將命令行測試程序安裝到文件系統(tǒng)?/usr/bin/cmd 目錄

清除:$ make cmd-examples_clean

?

? 單獨(dú)編譯 Qt 測試程序

編譯:$makeqt-examples

安裝:$ make qt-examples_install

執(zhí)行完會將 qt?測試程序安裝到文件系統(tǒng)?/home/forlinx/qt? B 目錄

清除:$ make qt-examples_clean

Qt 開發(fā)環(huán)境搭建及使用

飛凌提供的 SDK 中提供了 Qt5.13.2 的完整開發(fā)環(huán)境(包含 Qt Quick)。

?

??手動編譯

設(shè)置編譯環(huán)境變量:

$. /opt/fsl-imx-xwayland/5.4-zeus/environment-setup-aarch64-poky-linux

以飛凌提供的 Qt 官方串口測試程序?yàn)槔?,演示命令?Qt 程序編譯方法:

$ cd /home/forlinx/imx8mq/appsrc/qt/

$ qmake

$ make

?

?? Qt creator 環(huán)境搭建

注意:飛凌默認(rèn)提供的開發(fā)環(huán)境中已經(jīng)默認(rèn)安裝交叉編譯工具鏈及 Qt creator 桌面應(yīng)用程序,可以直接跳轉(zhuǎn)到下一環(huán)節(jié),無需重新安裝。

路徑:OKMX8MQ-C(Linux)用戶資料 工具 qt-creator-opensource-linux-x86_64-4.7.0.run

將 qt-creator-opensource-linux-x86_64-4.1.0.run 拷貝至當(dāng)前用戶家目錄下的任意目錄下,執(zhí)行:

$ ./qt-creator-opensource-linux-x86_64-4.7.0.run

將會彈出如下界面,點(diǎn)擊“Next”進(jìn)入下一步:

在如下界面中,點(diǎn)擊“Skip”進(jìn)入下一步(若虛擬機(jī)壓縮):

在如下界面中,點(diǎn)擊“Next”進(jìn)入下一步:

在如下界面中,點(diǎn)擊“Browse…”選擇 Qtcreator 的安裝路徑,選擇完成后,點(diǎn)擊“Next”進(jìn)入下一步:

在如下界面中,選中第一項(xiàng),點(diǎn)擊“Next”進(jìn)入下一步:

保持默認(rèn)設(shè)置,點(diǎn)擊“Next”:

點(diǎn)擊 Install 安裝:

安裝完成后,顯示如下界面,取消選項(xiàng)“Launch Qt Creator”的勾選,點(diǎn)擊“Finish”完成 Qtcreator 的安裝步驟:

執(zhí)行 :

$ cd /home/forlinx/qtcreator-4.7.0/bin/

$ ./qtcreator

啟動 Qt creator 程序,點(diǎn)擊 Tools->options 選項(xiàng)

進(jìn)入到 Options 界面,點(diǎn)擊左側(cè)“Kits”,然后點(diǎn)擊中部上方的“Compilers”選項(xiàng)卡,點(diǎn)擊右側(cè)“Add->GCC->C++”,如圖所示:

彈出如下窗口,Compiler path 選項(xiàng)點(diǎn) Browser 在 SDK 包中找到 /opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/ 下找到“aarch64-poky-linux-g++”,選中后點(diǎn)擊 Open,并將 Name 修改為“G++”。

按照同樣的方法添加 GCC 編譯器,點(diǎn)擊右側(cè)“Add->GCC->C”,如圖所示:

在 SDK 包中找到 /opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc/ 下找到“aarch64-poky-linux-gcc”,選中后點(diǎn)擊 Open,并將 Name 修改為“GCC”。

點(diǎn)擊 Debuggers 選項(xiàng)卡,點(diǎn)擊 Add 彈出如下界面:

彈出如下窗口,在 SDK 包中找到 /opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux 下找到“aarch64-poky-linux-gdb”,選中后點(diǎn)擊 Open,并將 Name 修改為“debuggers”。

點(diǎn)擊 Qt Versions 選項(xiàng)卡,點(diǎn)擊 Add:

在 /opt/fsl-imx-wayland/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin 的目錄下找到 qmake,選中后點(diǎn)擊 Open,添加后顯示如下,點(diǎn)擊 Apply。

點(diǎn)擊 Kits 選項(xiàng)卡,點(diǎn)擊右側(cè) Add,添加一個(gè)新的 Kits,按照下圖的內(nèi)容進(jìn)行修改點(diǎn)擊 Apply。

?

??Qt creator 開發(fā)示例

執(zhí)行

$ cd /home/forlinx/qtcreator-4.7.0/bin/

$ ./qtcreator

啟動 Qt creator 程序,進(jìn)入到 qtcreator 界面,點(diǎn)擊“New Project”新建一個(gè)工程:

選擇“Application”->“Qt Widgets Application”,然后點(diǎn)擊右下角的“Choose”:

在如下界面中為新建的工程修改名字為“HelloWorld”,選擇安裝路徑選擇 /home/forlinx,然后點(diǎn)擊“Next”:

在如下界面中,選擇之前已添加過的“8mq”作為當(dāng)前工程的 kit,然后點(diǎn)擊“Next”:

?

在如下界面中,修改類名“Class name”為“helloworld”,將基類“Base class”選擇為 QMainWindow,然后點(diǎn)擊“Next”:

在如下界面中,點(diǎn)擊“Finish”,完成工程的新建:

新建工程創(chuàng)建完成,即可顯示如下窗口:

當(dāng)程序編寫完成后,點(diǎn)擊左下角的錘子圖標(biāo),即可進(jìn)行交叉編譯,將編譯好的可執(zhí)行程序 HelloWorld 拷貝到開發(fā)板,即可進(jìn)行應(yīng)用的測試。

使用 UUU 工具燒寫鏡像

UUU 是一個(gè)命令行工具,可以用于在 Linux 或者 Windows 下燒寫鏡像到 OKMX8MQ 開發(fā)板,下面分別介紹 Linux 和 Windows 下 UUU 工具的使用。

?

?? Linux 下 UUU 工具的使用

路徑:OKMX8MQ-C(Linux)用戶資料 Linux 工具 uuu

將下載好的用戶資料中的可執(zhí)行文件 uuu 拷貝到?/usr/bin/?目錄下并添加可執(zhí)行權(quán)限。將 OTG 線插入 Linux 主機(jī)的 USB 接口中。將撥碼開關(guān)設(shè)置為 OTG 啟動,啟動開發(fā)板。

切換到 images?目錄

$?cd /home/forlinx/imx8mq/OK8MQ-linux-sdk/images

燒寫完整鏡像(u-boot、內(nèi)核和文件系統(tǒng))到 eMMC:

$?sudo uuu -b emmc_all flash_sd_emmc.bin rootfs.sdcard

uuu 其他指令使用示例:

單獨(dú)燒寫 u-boot 到 eMMC:

$?sudo uuu -b emmc flash_sd_emmc.bin

注意:燒寫 uboot 的命令不能清除環(huán)境變量,要恢復(fù)默認(rèn)環(huán)境變量在 uboot 命令行輸入。

注意:2GB 和 4GB 內(nèi)存燒寫的方法相同,將按照核心板的內(nèi)存大小編譯對應(yīng)的的鏡像

?

?? Windows 下 UUU 工具的使用

路徑:OKMX8MQ-C(Linux)用戶資料 Linux 工具 uuu.exe

將用戶資料中的 uuu.exe 拷貝到 C:WindowsSystem32 目錄。將 OTG 線插入 Windows 主機(jī)的 USB 接口中。

將對應(yīng)的鏡像(2GB 內(nèi)存或 4GB 內(nèi)存)rootfs.sdcard 拷貝到 D 盤 uuu 目錄,在 Windows 下運(yùn)行 cmd 程序,進(jìn)入鏡像文件所在的目錄,輸入如下命令即可燒錄完整鏡像:

D:uuu> uuu.exe -b emmc_all flash_sd_emmc.bin rootfs.sdcard

uuu 其他指令使用示例:

單獨(dú)燒寫 u-boot 到 eMMC:

D:uuu> uuu.exe -b emmc flash_sd_emmc.bin

注意 1:

燒寫 uboot 的命令不能清除環(huán)境變量,要恢復(fù)默認(rèn)環(huán)境變量在 uboot 命令行輸入:

$ env default –a

$ savenv

注意 2:第一次在 windows 平臺燒寫時(shí)由于 windows 沒有安裝相應(yīng)的驅(qū)動程序可能會出現(xiàn)下圖的失敗情況:

一般情況下 windows 可以自動搜索驅(qū)動并安裝,等待驅(qū)動安裝完成重新執(zhí)行燒寫命令即可,如果出現(xiàn)驅(qū)動安裝失敗的情況,請按照下列步驟手動安裝驅(qū)動。

將用戶資料工具目錄的 latest_usb_driver_windows.zip?拷貝到桌面并解壓。打開 windows 設(shè)備管理器。

在“USB download gadget”上點(diǎn)擊鼠標(biāo)右鍵選擇“更新驅(qū)動程序軟件”。

選擇“瀏覽計(jì)算機(jī)以查找驅(qū)動程序軟件”,找到剛才在桌面解壓的驅(qū)動程序文件夾。

點(diǎn)擊“下一步”

選擇“始終安裝此驅(qū)動程序軟件”,等待安裝完成。

燒寫 TF 卡的制作與使用

??制作 TF 燒寫卡

OKMX8MQ 平臺支持 TF 卡燒寫,首先需要制作用于燒寫的 TF 卡,請使用 8G 及以上容量的正品 TF 卡來測試。

將 TF 卡插入 PC 機(jī)并在虛擬機(jī)中打開,將 TF 卡燒錄工具 sdfuse.tar.bz2 復(fù)制到虛擬機(jī)中:

$?cp. /sdfuse.tar.bz2?/home/forlinx/imx8mq/

將編譯過程中產(chǎn)生的 u-boot 鏡像拷貝到當(dāng)前目錄,并進(jìn)入到目錄中:

$?tar -jxvf sdfuse.tar.bz2

$?cd sdfuse

開始制作燒寫 TF 卡

$?sudo ./mksdcard8mq.sh

選擇 TF 卡設(shè)備,這里以“1”為例。

輸入“y”進(jìn)行確認(rèn)。

制作完成。

?

??拷貝燒寫鏡像到 TF 燒寫卡

將燒寫鏡像 rootfs.sdcard 文件拷貝到 TF 卡的根目錄中。

下邊列舉出燒錄的文件含義:

文件

說明

config.ini

燒寫配置文件(默認(rèn)燒寫工具已經(jīng)添加)

update.itb

燒寫工具(默認(rèn)燒寫工具已經(jīng)添加)

env.ini

將額外的環(huán)境變量寫入 uboot(可選)

rootfs.sdcard

鏡像包(必選,需客戶自行拷貝,拷貝時(shí)注意內(nèi)存配置是 2GB 還是 4GB)

注意:env.ini 編寫方法見附錄 2

? TF 卡燒寫測試

關(guān)閉開發(fā)板電源,將 TF 卡插入 TF 卡座中,并將啟動撥碼設(shè)置到 TF 卡啟動狀態(tài)。打開電源開關(guān),開發(fā)板將自動啟動進(jìn)入燒寫程序,可以在 uboot 選擇顯示:

Press SPACE to abort autoboot in 1 seconds

## forlinx params set menu ...

--------------------------

0:reboot

1:exit to shell

2:MIPI7-lcdif

3:MIPI7-dcss

4:HDMI

--------------------------

可以選擇 2 或 4,分別顯示在 7 寸 mipi 或者 hdmi 顯示器上,選擇完成后,以后再進(jìn)行燒寫都會將燒寫結(jié)果顯示在所選擇的顯示上。

開始燒寫后,觀察寫進(jìn)度請留意 LCD 上的打印信息,界面會提示燒寫完成。

也可以通過觀察底板上的 LED 燈來確認(rèn)燒寫進(jìn)度,開始燒寫時(shí) LED1-4 循環(huán)閃爍,燒寫完成后 LED1-4 同步閃爍。

飛凌嵌入式

飛凌嵌入式

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國家和地區(qū)擁有國際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測等諸多領(lǐng)域。

保定飛凌嵌入式技術(shù)有限公司,創(chuàng)建于2006年,是一家專注嵌入式核心控制系統(tǒng)研發(fā)、設(shè)計(jì)和生產(chǎn)的高新技術(shù)企業(yè),是國內(nèi)較早專業(yè)從事嵌入式技術(shù)的企業(yè)之一。 經(jīng)過十幾年的發(fā)展與積累,公司擁有業(yè)內(nèi)優(yōu)秀的軟硬件研發(fā)團(tuán)隊(duì),在北京及保定建立兩大研發(fā)基地,在蘇州、深圳設(shè)有華東、華南技術(shù)服務(wù)中心,并在北美、歐洲以及亞太等其他國家和地區(qū)擁有國際業(yè)務(wù)網(wǎng)絡(luò)。公司研發(fā)的智能設(shè)備核心平臺廣泛應(yīng)用于物聯(lián)網(wǎng)、工控、軌道交通、醫(yī)療、電力、商業(yè)電子、智能家居、安防、機(jī)器人、環(huán)境監(jiān)測等諸多領(lǐng)域。收起

查看更多

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設(shè)計(jì)資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄

秉承專業(yè)態(tài)度,專注智能設(shè)備核心平臺研發(fā)與制造,以技術(shù)研發(fā)創(chuàng)新為主導(dǎo),以客戶實(shí)用化,產(chǎn)品化為目標(biāo),把握嵌入式行業(yè)的前沿發(fā)展需求,利用核心技術(shù)為客戶提供穩(wěn)定、可靠、功能優(yōu)異的高品質(zhì)產(chǎn)品。合作聯(lián)系:17713286011