研发课堂丨OKMX8MQ-C开发板SDK安装指南

原创 2020-12-07 11:01:00 iMX8MQ imx8 i.mx8

开发环境是开发人员在开发过程当中,所需的软硬件平台。开发环境并不是一个固定的样式,在本文中,我们将详细讲解一个嵌入式Linux开发环境搭建的方法。温馨提示:本文正文字数3820,可提前收藏再做阅读

您已经对嵌入式开发非常了解的话,可以按照自己的需求来搭建环境。如果和本手册环境不一样而产生报错,您可以从国内一些知名Linux论坛和网站搜索相关的信息来解决。本册介绍的环境经过飞凌的测试,如果对嵌入式开发不是非常熟悉的朋友,希望您按照飞凌提供的方法来搭建环境。

注意:飞凌默认提供的开发环境中已经默认安装交叉编译工具链及Qtcreator桌面应用程序,可以直接跳转到第二部分,无需重新安装。

 

版本说明 

操作系统:Ubuntu18.0464位版 交叉工具链:aarch64-poky-linux-gcc

飞凌OKMX8MQ-linux-sdk包括两部分,第一部分为编译环境包,里面包含了交叉编译器和sysroot第二部分为源码包,包括Linux内核、文件系统、测试程序源码以及一些工具等。

编译之前,请执行一下命令安装必要的工具包。

$ 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 、安装编译环境

编译环境是我们开发过程中的基础,首先我们来安装编译环境。

创建工作目录$ mkdir -p /home/forlinx/imx8mq

并将iMX8MQ用户资料:

 

路径:OKMX8MQ-C(Linux)用户资料\工具\交叉编译工具\fsl-imx-xwayland-glibc-x86_64-meta-toolchain-qt5-aarch64-toolchain-5.4-zeus.sh

 

拷贝到虚拟机 /home/forlinx/imx8mq 目录

$ cd /home/forlinx/imx8mq

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

将安装路径设置保持默认,敲回车。

 

输入Y”进行确认,等待安装完成。

 

安装完成后执行

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

设置环境变量。

并输入

$ aarch64-poky-linux-gcc -v

检查安装是否成功。出现如下信息代表安装成功。

 

注意:每当重启虚拟机或者打开新的shell窗口都需要重新执行设置环境变量。


NO.2、安装源码包

源码包中包含了飞凌提供的iMX8MQ平台的需要用到的源代码,包括Linux内核源码、测试程序源码、文件系统等,您可以在此基础上进行二次开发。

iMX8MQ用户资料:

 

路径:OKMX8MQ-C(Linux)用户资料\Linux\源码\OK8MQ-linux-sdk.tar.bz2

 

拷贝到虚拟机 /home/forlinx/imx8mq 目录

$ cd /home/forlinx/imx8mq

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

 

 

编译测试

 

NO.3、进入iMX8MQ开发板源码目录

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

 全编译测试

通过设置环境变量选择编译2GB内存镜像或4GB内存镜像

2GB内存:

$ . environment-setup-sourcetree

4GB内存:

$ . environment-4gddr-setup-sourcetree

然后,编译:

$ make

 

 

编译完成后,将在images生成镜像文件。

 

 单独编译内核

编译:$ make linux

 

注意:编译时,系统会自动拷贝配置文件arch/arm64/configs/imx_v8_defconfig 覆盖内核根目录的 .config 文件。

清除:$ make linux_clean

清除编译linux内核生成的文件

 

 单独编译命令行测试程序

编译:$ make cmd-examples

 

安装:$ make cmd-examples_install

 

执行完会将命令行测试程序安装到文件系统 /usr/bin/cmd 目录

清除:$ make cmd-examples_clean

 

❹ 单独编译Qt测试程序

编译:$makeqt-examples

 

安装:$ make qt-examples_install

 

执行完会将qt 测试程序安装到文件系统 /home/forlinx/qt  B目录

清除:$ make qt-examples_clean

 

NO.4、iMX8MQ开发板Qt 开发环境搭建及使用

飞凌提供的SDK中提供了Qt5.13.2的完整开发环境(包含Qt Quick)

 手动编译

设置编译环境变量:

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

以飞凌提供的Qt官方串口测试程序为例,演示命令行Qt程序编译方法:

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

$ qmake

$ make

  Qt creator 环境搭建

注意:飞凌默认提供的开发环境中已经默认安装交叉编译工具链及Qt creator桌面应用程序,可以直接跳转到下一环节,无需重新安装。

 

路径:OKMX8MQ-C(Linux)用户资料\工具\qt-creator-opensource-linux-x86_64-4.7.0.run

 

qt-creator-opensource-linux-x86_64-4.1.0.run拷贝至当前用户家目录下的任意目录下,执行:

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

将会弹出如下界面,点击Next”进入下一步:

 

在如下界面中,点击Skip”进入下一步(若虚拟机压缩):

 

在如下界面中,点击Next”进入下一步:

 

在如下界面中,点击Browse…”选择Qtcreator的安装路径,选择完成后,点击“Next”进入下一步:

 

在如下界面中,选中第一项,点击Next”进入下一步:

 

保持默认设置,点击Next”:

 

点击Install安装:

 

安装完成后,显示如下界面,取消选项Launch Qt Creator”的勾选,点击“Finish”完成Qtcreator的安装步骤:

 

执行

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

$ ./qtcreator

启动Qt creator 程序,点击Tools->options选项

 

进入到Options界面,点击左侧“Kits”,然后点击中部上方的“Compilers”选项卡,点击右侧“Add->GCC->C++”,如图所示:

 

弹出如下窗口,Compiler path选项点BrowserSDK包中找到/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/下找到aarch64-poky-linux-g++”,选中后点击Open,并将Name修改为“G++”。

按照同样的方法添加GCC编译器,点击右侧“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”,选中后点击Open,并将Name修改为“GCC”。

 

点击Debuggers选项卡,点击Add弹出如下界面:

 

弹出如下窗口,在SDK包中找到/opt/fsl-imx-xwayland/5.4-zeus/sysroots/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux下找到“aarch64-poky-linux-gdb”,选中后点击Open,并将Name修改为“debuggers”。

 

点击Qt Versions选项卡,点击Add

 

在/opt/fsl-imx-wayland/4.14-sumo/sysroots/x86_64-pokysdk-linux/usr/bin的目录下找到qmake,选中后点击Open,添加后显示如下,点击Apply

点击Kits选项卡,点击右侧Add,添加一个新的Kits,按照下图的内容进行修改点击Apply

 

 Qt creator 开发示例

执行

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

$ ./qtcreator

启动Qt creator 程序,进入到qtcreator界面,点击“New Project”新建一个工程:

 

选择“Application”->Qt Widgets Application”,然后点击右下角的“Choose”:

 

在如下界面中为新建的工程修改名字为HelloWorld”,选择安装路径选择/home/forlinx,然后点击Next”:

 

在如下界面中,选择之前已添加过的8mq”作为当前工程的kit,然后点击“Next”:

 

在如下界面中,修改类名Class name”为“helloworld”,将基类“Base class”选择为QMainWindow,然后点击“Next”:

 

在如下界面中,点击Finish”,完成工程的新建:

 

新建工程创建完成,即可显示如下窗口:

 

当程序编写完成后,点击左下角的锤子图标,即可进行交叉编译,将编译好的可执行程序HelloWorld拷贝到开发板,即可进行应用的测试。


NO.5、使用UUU工具烧写镜像

UUU是一个命令行工具,可以用于在Linux或者Windows下烧写镜像到OKMX8MQ开发板,下面分别介绍LinuxWindowsUUU工具的使用。

  LinuxUUU工具的使用

 

路径:OKMX8MQ-C(Linux)用户资料\Linux\工具\uuu

 

将下载好的用户资料中的可执行文件uuu拷贝到 /usr/bin/ 目录下并添加可执行权限。将OTG线插入Linux主机的USB接口中。将拨码开关设置为OTG启动,启动开发板。

切换到 images 目录

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

烧写完整镜像(u-boot、内核和文件系统)到eMMC

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

uuu其他指令使用示例:

单独烧写u-booteMMC:

$ sudo uuu -b emmc flash_sd_emmc.bin

注意:烧写uboot的命令不能清除环境变量,要恢复默认环境变量在uboot命令行输入。

注意:2GB4GB内存烧写的方法相同,将按照核心板的内存大小编译对应的的镜像

  WindowsUUU工具的使用

 

路径:OKMX8MQ-C(Linux)用户资料\Linux\工具\ uuu.exe

 

iMX8MQ 开发板用户资料中的uuu.exe拷贝到C:\Windows\System32目录。将OTG线插入Windows主机的USB接口中。

将对应的镜像(2GB内存或4GB内存)rootfs.sdcard拷贝到Duuu目录,在Windows下运行cmd程序,进入镜像文件所在的目录,输入如下命令即可烧录完整镜像:

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

 

uuu其他指令使用示例:

单独烧写u-booteMMC:

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

注意1:

烧写uboot的命令不能清除环境变量,要恢复默认环境变量在uboot命令行输入:

$ env default –a

$ savenv

注意2第一次在windows平台烧写时由于windows没有安装相应的驱动程序可能会出现下图的失败情况:

 

一般情况下windows可以自动搜索驱动并安装,等待驱动安装完成重新执行烧写命令即可,如果出现驱动安装失败的情况,请按照下列步骤手动安装驱动。

将用户资料工具目录的latest_usb_driver_windows.zip 拷贝到桌面并解压。打开windows设备管理器。

 

“USB download gadget”上点击鼠标右键选择“更新驱动程序软件”。

 

选择“浏览计算机以查找驱动程序软件”,找到刚才在桌面解压的驱动程序文件夹。

 

点击“下一步”

 

选择“始终安装此驱动程序软件”,等待安装完成。

 


NO.6、烧写TF卡的制作与使用


 制作TF烧写卡

OKMX8MQ 平台支持TF卡烧写,首先需要制作用于烧写的TF卡,请使用8G及以上容量的正品TF卡来测试。

TF卡插入PC机并在虚拟机中打开,将TF卡烧录工具sdfuse.tar.bz2复制到虚拟机中:

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

将编译过程中产生的u-boot镜像拷贝到当前目录,并进入到目录中:

$ tar -jxvf sdfuse.tar.bz2

$ cd sdfuse

开始制作烧写TF

$ sudo ./mksdcard8mq.sh

 

选择TF卡设备,这里以“1”为例。

 

输入y”进行确认。

 

制作完成。

 拷贝烧写镜像到TF烧写卡

将烧写镜像rootfs.sdcard文件拷贝到TF卡的根目录中。

下边列举出烧录的文件含义:

 

文件

说明

config.ini

烧写配置文件(默认烧写工具已经添加)

update.itb

烧写工具(默认烧写工具已经添加)

env.ini

将额外的环境变量写入uboot(可选)

rootfs.sdcard

镜像包(必选,需客户自行拷贝,拷贝时注意内存配置是2GB还是4GB

 

注意:env.ini编写方法见附录2

TF卡烧写测试

关闭开发板电源,将TF卡插入TF卡座中,并将启动拨码设置到TF卡启动状态。打开电源开关,iMX8MQ开发板将自动启动进入烧写程序,可以在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显示器上,选择完成后,以后再进行烧写都会将烧写结果显示在所选择的显示上。

开始烧写后,观察写进度请留意LCD上的打印信息,界面会提示烧写完成。

 

也可以通过观察底板上的LED灯来确认烧写进度,开始烧写时LED1-4循环闪烁,烧写完成后LED1-4同步闪烁

点击此处进入飞凌嵌入式官网>>,了解关于FETMX8MQ-C核心板的更多信息。

相关产品 >

  • OKMX8MQ-C开发板

    飞凌嵌入式提供基于 NXP/Freescale iMX8、i.MX 8MQ处理器设计ARM核心板FETMX8MQ-C。i.MX8M处理器具有音频、语音和视频处理功能,飞凌iMX8核心板充分发挥NXP iMX8 系列 ARM 处理器性能,对功能做了优化。提供10~15年产品长期供货计划。工作环境温度为-40℃~85℃,满足工业及泛工业场景应用。 了解详情
    OKMX8MQ-C开发板
  • FETMX8MQ-C核心板

    基于 NXP/Freescale iMX8、 iMX8X、i.MX 8MQ处理器的ARM核心板。 四核ARM Cortex-A53 ,主频最高1.3GHz,板载2GB RAM,8GB ROM;工作环境温度为-40℃~85℃,满足工业及泛工业场景应用。i.MX8M处理器具有音频、语音和视频处理功能,提供高水平的音频保真度,适用于无风扇运行,散热系统成本低、电池寿命长。具有高速接口可提供灵活连接等优势,并且提供10~15年产品长期供货计划。
    了解详情
    FETMX8MQ-C核心板
  • OKMX8MP-C开发板

    内置NPU、ISP,AI计算能力高达2.3TOPS|飞凌嵌入式i.MX8MP 系列-NXP iMX8M Plus 开发板 基于高性能低功耗工业级iMX8MP核心板设计,支持多种多种高速通信接口。iMX8MP开发板内置NPU,AI计算能力2.3TOPS,支持4K,支持双图像信号处理器(ISP),是一款支持LinuxQT/android操作系统的iMX8MP开发板。

    了解详情
    OKMX8MP-C开发板
  • FETMX8MP-C核心板

    iMX8MP核心板基于 NXP  i.MX 8M Plus 处理器设计,  采用4核Cortex-A53 和 Cortex-M7架构。支持双千兆网口,iMX8MP性能强劲最高运行速率可达2.3TOPS,并且i.MX8MP功耗更低≤2W 。iMX 8M Plus系列专注于机器学习和视觉、高级多媒体以及具有高可靠性的工业自动化。它旨在满足智慧家庭、楼宇、城市和工业4.0应用的需求。飞凌iMX8MP核心板提供用户手册,iMX8MP原理图,引脚定义等。
    了解详情
    FETMX8MP-C核心板

推荐阅读 换一批 换一批