linux开发板改sdk教程,研发课堂丨OKMX8MQ-C开发板SDK安装指南-嵌入式系统-与非网...

本文详细介绍了飞凌嵌入式开发环境的搭建过程,包括Ubuntu18.04的环境配置,交叉编译工具链的安装,以及Linux内核、文件系统的编译。此外,还涵盖了Qt开发环境的设置和Qtcreator的使用,以及如何使用UUU工具烧写镜像到开发板。同时,文章也提到了TF卡烧写卡的制作与烧写测试步骤。
摘要由CSDN通过智能技术生成

您已经对嵌入式开发非常了解的话,可以按照自己的需求来搭建环境。如果和本手册环境不一样而产生报错,您可以从国内一些知名 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

安装编译环境

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

创建工作目录$ mkdir -p /home/forlinx/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

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

c4162cd6a4ff042f70fa9bfbab79cb67.png

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

95efe0b0d7cb1b2e249090109de20198.png

安装完成后执行

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

设置环境变量。

并输入

$ aarch64-poky-linux-gcc -v

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

17003339ef2f830638a30cf8f263ae28.png

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

安装源码包

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

将用户资料:

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

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

$ cd /home/forlinx/imx8mq

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

1e1e9d6682f1ac3a4dc97ad0552d3228.png

编译测试

进入源码目录

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

❶ 全编译测试

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

2GB 内存:

$ . environment-setup-sourcetree

4GB 内存:

$ . environment-4gddr-setup-sourcetree

然后,编译:

$ make

0726e4a309cdef11a17727769e8c65d8.png

08c8ca51d9c2d4823612e9952e9c3ff3.png

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

77aca5d21ba7291070a165f8a045b49d.png

❷ 单独编译内核

编译:$ make linux

978e06a941996fb97a69bfc06f415ccc.png

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

清除:$ make linux_clean

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

777ad52ea33fb7ca806afb60d0c622fc.png

❸ 单独编译命令行测试程序

编译:$ make cmd-examples

81836458c7d9ec66ed0041251c0069ec.png

安装:$ make cmd-examples_install

baa26b76a9f47ac328069493c2ea8522.png

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

清除:$ make cmd-examples_clean

617546aa057ed78263546b7cf583ac2a.png

❹ 单独编译 Qt 测试程序

编译:$makeqt-examples

ff47b9af403ee3b3118e9ce133d76ca5.png

安装:$ make qt-examples_install

be5c0758445fa0b7bbca5650ee971a6b.png

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

清除:$ make qt-examples_clean

5d925f2b9acfa48144bd8378abd0fd42.png

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”进入下一步:

966106c2ecd1d13fd650c157755e885b.png

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

a205a4b2960802fff45d886779a35673.png

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

e60ce8f1c00d814edb015004561822d2.png

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

059385ee09387b41ea888b5a0240cdee.png

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

0edbef564b40eeff2d5a457cb2f80324.png

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

493b1b6f9c94d86f1eb5d4033c9ea7ca.png

点击 Install 安装:

94c259ac2571264024151bfc95b3e8ac.png

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

e3c9aa2ac587c1beea1030157ca400de.png

执行 :

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

$ ./qtcreator

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

62bc8ff2afce377959b7a2bbdd837a09.png

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

e04b57f70afd9ee76dcdd0078e2da7d1.png

弹出如下窗口,Compiler path 选项点 Browser 在 SDK 包中找到 /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”,如图所示:

38c644323735a13a09cc5bb4150d7301.png

在 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”。

c9c70a8c62b376e09d4ade0e912df365.png

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

862b867e97e4ceee64648cecd0ff873e.png

弹出如下窗口,在 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”。

72a70a10a36a52050fe3e32fe94b95b2.png

点击 Qt Versions 选项卡,点击 Add:

f94b22858f33757106011335c6d02b6c.png

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

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

075f2c24b748e5c72afa9c7b24fb32dc.png

❸ Qt creator 开发示例

执行

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

$ ./qtcreator

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

a479879d58f9445a6f8e52bfc0196262.png

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

afdc92b97097dc03083fc73f41b3ef4a.png

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

d98cbe5f19070004ecbc53a9a90059fc.png

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

dd5eee4aa43bea5d659fc385693b8d11.png

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

34f7685c0aac85c13dcb4b59c8071e39.png

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

e0f4a691fd34f84a2b561fa5933568b4.png

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

8172fcf14120fdf26fa7699ebaf02840.png

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

使用 UUU 工具烧写镜像

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

❶  Linux 下 UUU 工具的使用

路径: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-boot 到 eMMC:

$ sudo uuu -b emmc flash_sd_emmc.bin

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

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

❷  Windows 下 UUU 工具的使用

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

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

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

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

uuu 其他指令使用示例:

单独烧写 u-boot 到 eMMC:

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

注意 1:

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

$ env default –a

$ savenv

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

c888c41d1d79191a9fb06c4101d7cbdc.png

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

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

fa9d79e19355e112fc37ce388478b2d3.png

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

c2e7532c72fc70a2f513153ac341783e.png

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

7f0e6dbad43593e27d410146a21112de.png

点击“下一步”

8769e33b16c5412c6efd404238788f60.png

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

afa10183098f7af38fbe5bae85beb6a7.png

烧写 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

ad765192d0eba105797d60568ddb44fc.png

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

d4facfb1a1ae96fda566fb77e41d9838.png

输入“y”进行确认。

a179b3dd0f1c3d16d7a0c8372a75e17d.png

制作完成。

❷ 拷贝烧写镜像到 TF 烧写卡

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

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

文件

说明

config.ini

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

update.itb

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

env.ini

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

rootfs.sdcard

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

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

❸ TF 卡烧写测试

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

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

d9418904003f9c5f399020c2f9e71f3b.png

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值