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

原創(chuàng) 2020-12-07 11:01:00 iMX8MQ imx8 i.mx8

開(kāi)發(fā)環(huán)境是開(kāi)發(fā)人員在開(kāi)發(fā)過(guò)程當(dāng)中,所需的軟硬件平臺(tái)。開(kāi)發(fā)環(huán)境并不是一個(gè)固定的樣式,在本文中,我們將詳細(xì)講解一個(gè)嵌入式Linux開(kāi)發(fā)環(huán)境搭建的方法。溫馨提示:本文正文字?jǐn)?shù)3820,可提前收藏再做閱讀

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

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

 

版本說(shuō)明 

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

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

編譯之前,請(qǐ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 


 NO.1 、安裝編譯環(huán)境

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

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

并將iMX8MQ用戶資料:

 

路徑:OKMX8MQ-C(Linux)用戶資料\工具\(yùn)交叉編譯工具\(yùn)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ī)或者打開(kāi)新的shell窗口都需要重新執(zhí)行設(shè)置環(huán)境變量。


NO.2、安裝源碼包

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

iMX8MQ用戶資料:

 

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

 

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

$ cd /home/forlinx/imx8mq

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

 

 

編譯測(cè)試

 

NO.3、進(jìn)入iMX8MQ開(kāi)發(fā)板源碼目錄

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

? 全編譯測(cè)試

通過(guò)設(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)會(huì)自動(dòng)拷貝配置文件arch/arm64/configs/imx_v8_defconfig 覆蓋內(nèi)核根目錄的 .config 文件。

清除:$ make linux_clean

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

 

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

編譯:$ make cmd-examples

 

安裝:$ make cmd-examples_install

 

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

清除:$ make cmd-examples_clean

 

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

編譯:$makeqt-examples

 

安裝:$ make qt-examples_install

 

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

清除:$ make qt-examples_clean

 

NO.4、iMX8MQ開(kāi)發(fā)板Qt 開(kāi)發(fā)環(huán)境搭建及使用

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

? 手動(dòng)編譯

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

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

以飛凌提供的Qt官方串口測(cè)試程序?yàn)槔菔久钚?/span>Qt程序編譯方法:

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

$ qmake

$ make

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

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

 

路徑:OKMX8MQ-C(Linux)用戶資料\工具\(yùn)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

將會(huì)彈出如下界面,點(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

啟動(dòng)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)BrowserSDK包中找到/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 開(kāi)發(fā)示例

執(zhí)行

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

$ ./qtcreator

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

 

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

 

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

 

在如下界面中,選擇之前已添加過(guò)的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拷貝到開(kāi)發(fā)板,即可進(jìn)行應(yīng)用的測(cè)試。


NO.5、使用UUU工具燒寫鏡像

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

?  LinuxUUU工具的使用

 

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

 

將下載好的用戶資料中的可執(zhí)行文件uuu拷貝到 /usr/bin/ 目錄下并添加可執(zhí)行權(quán)限。將OTG線插入Linux主機(jī)的USB接口中。將撥碼開(kāi)關(guān)設(shè)置為OTG啟動(dòng),啟動(dòng)開(kāi)發(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-booteMMC:

$ sudo uuu -b emmc flash_sd_emmc.bin

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

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

?  WindowsUUU工具的使用

 

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

 

iMX8MQ 開(kāi)發(fā)板用戶資料中的uuu.exe拷貝到C:\Windows\System32目錄。將OTG線插入Windows主機(jī)的USB接口中。

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

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

 

uuu其他指令使用示例:

單獨(dú)燒寫u-booteMMC:

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平臺(tái)燒寫時(shí)由于windows沒(méi)有安裝相應(yīng)的驅(qū)動(dòng)程序可能會(huì)出現(xiàn)下圖的失敗情況:

 

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

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

 

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

 

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

 

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

 

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

 


NO.6、燒寫TF卡的制作與使用


? 制作TF燒寫卡

OKMX8MQ 平臺(tái)支持TF卡燒寫,首先需要制作用于燒寫的TF卡,請(qǐng)使用8G及以上容量的正品TF卡來(lái)測(cè)試。

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

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

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

$ tar -jxvf sdfuse.tar.bz2

$ cd sdfuse

開(kāi)始制作燒寫TF

$ sudo ./mksdcard8mq.sh

 

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

 

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

 

制作完成。

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

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

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

 

文件

說(shuō)明

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編寫方法見(jiàn)附錄2

? TF卡燒寫測(cè)試

關(guān)閉開(kāi)發(fā)板電源,將TF卡插入TF卡座中,并將啟動(dòng)撥碼設(shè)置到TF卡啟動(dòng)狀態(tài)。打開(kāi)電源開(kāi)關(guān),iMX8MQ開(kāi)發(fā)板將自動(dòng)啟動(dòng)進(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

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

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

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

 

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

點(diǎn)擊此處進(jìn)入飛凌嵌入式官網(wǎng)>>,了解關(guān)于FETMX8MQ-C核心板的更多信息。

相關(guān)產(chǎn)品 >

  • OKMX8MQ-C開(kāi)發(fā)板

    飛凌嵌入式提供基于 NXP/Freescale iMX8、i.MX 8MQ處理器設(shè)計(jì)ARM核心板FETMX8MQ-C。i.MX8M處理器具有音頻、語(yǔ)音和視頻處理功能,飛凌iMX8核心板充分發(fā)揮NXP iMX8 系列 ARM 處理器性能,對(duì)功能做了優(yōu)化。提供10~15年產(chǎn)品長(zhǎng)期供貨計(jì)劃。工作環(huán)境溫度為-40℃~85℃,滿足工業(yè)及泛工業(yè)場(chǎng)景應(yīng)用。 了解詳情
    OKMX8MQ-C開(kāi)發(fā)板
  • FETMX8MQ-C核心板

    基于 NXP/Freescale iMX8、 iMX8X、i.MX 8MQ處理器的ARM核心板。 四核ARM Cortex-A53 ,主頻最高1.3GHz,板載2GB RAM,8GB ROM;工作環(huán)境溫度為-40℃~85℃,滿足工業(yè)及泛工業(yè)場(chǎng)景應(yīng)用。i.MX8M處理器具有音頻、語(yǔ)音和視頻處理功能,提供高水平的音頻保真度,適用于無(wú)風(fēng)扇運(yùn)行,散熱系統(tǒng)成本低、電池壽命長(zhǎng)。具有高速接口可提供靈活連接等優(yōu)勢(shì),并且提供10~15年產(chǎn)品長(zhǎng)期供貨計(jì)劃。
    了解詳情
    FETMX8MQ-C核心板
  • OKMX8MP-C開(kāi)發(fā)板

    內(nèi)置NPU、ISP,AI計(jì)算能力高達(dá)2.3TOPS|飛凌嵌入式i.MX8MP 系列-NXP iMX8M Plus 開(kāi)發(fā)板 基于高性能低功耗工業(yè)級(jí)iMX8MP核心板設(shè)計(jì),支持多種多種高速通信接口。iMX8MP開(kāi)發(fā)板內(nèi)置NPU,AI計(jì)算能力2.3TOPS,支持4K,支持雙圖像信號(hào)處理器(ISP),是一款支持LinuxQT/android操作系統(tǒng)的iMX8MP開(kāi)發(fā)板。

    了解詳情
    OKMX8MP-C開(kāi)發(fā)板
  • FETMX8MP-C核心板

    iMX8MP核心板基于 NXP  i.MX 8M Plus 處理器設(shè)計(jì),  采用4核Cortex-A53 和 Cortex-M7架構(gòu)。支持雙千兆網(wǎng)口,iMX8MP性能強(qiáng)勁最高運(yùn)行速率可達(dá)2.3TOPS,并且i.MX8MP功耗更低≤2W 。iMX 8M Plus系列專注于機(jī)器學(xué)習(xí)和視覺(jué)、高級(jí)多媒體以及具有高可靠性的工業(yè)自動(dòng)化。它旨在滿足智慧家庭、樓宇、城市和工業(yè)4.0應(yīng)用的需求。飛凌iMX8MP核心板提供用戶手冊(cè),iMX8MP原理圖,引腳定義等。
    了解詳情
    FETMX8MP-C核心板

推薦閱讀 換一批 換一批