环境及源码
环境准备
- 开发环境操作系统:Ubuntu18.04 64位版
- 交叉工具链:aarch64-linux-gnu
- 开发板使用Bootloader 版本:u-boot-2017.09
- 开发板内核版本:linux-4.19.206
- 开发板移植QT版本:qt5.14.2
源码
. 程序源码:用户资料\Linux\源码\OK3568-linux-source.tar.bz2
创建工作目录
在进行开发之前,还需要一些其他的必要库,我们使用以下命令逐一安装,安装前需保证网络可正常使用,能上外网:
yu@ubuntu:~$ sudo apt-get update
yu@ubuntu:~$ sudo apt-get install build-essential
yu@ubuntu:~$ sudo apt-get install libncurses*
yu@ubuntu:~$ sudo apt-get install lzop
yu@ubuntu:~$ sudo apt-get install net-tools
编译OK3568 Linux源码必要库安装
yu@ubuntu:~$ sudo apt-get update
yu@ubuntu:~$ sudo apt-get install openssh-server vim git fakeroot
yu@ubuntu:~$ sudo apt-get install repo git ssh make gcc libssl-dev liblz4-tool expect g++ patchelf chrpath gawk texinfo chrpath diffstat binfmt-support qemu-user-static live-build bison flex fakeroot cmake gcc-multilib g++-multilib unzip device-tree-compiler python-pip libncurses5-dev
内核编译
全编译测试
在源码路径内,提供了编译脚本 build.sh,运行该脚本对整个源码进行编译,需要在终端切换到解压
出来的源码路径,找到 build.sh 文件
yu@yu-HP-EliteBook-745-G3:~/code/OK3568-linux-source$ ls
app debian external mkfirmware.sh rockdev yocto
br.log device IMAGE prebuilts tools
buildroot docs kernel rkbin u-boot
build.sh envsetup.sh Makefile rkflash.sh uboot.tar.bz2
yu@yu-HP-EliteBook-745-G3:~/code/OK3568-linux-source$ ./build.sh
编译一段时间后会弹出下图界面,需要选择,提取图中信息,VCCIO4 和 VCCIO6 选择 1800000 其
余的选择 3300000,使用上下方向按键选择选项,按回车确认选择即可。编译成功后,将在 IMAGE 文件夹下生成对应编译工程结果文件,找到其中的镜像文件。
yu@yu-HP-EliteBook-745-G3:~/code/OK3568-linux-source$ cd IMAGE/
yu@yu-HP-EliteBook-745-G3:~/code/OK3568-linux-source/IMAGE$ ls
OK3568-C-LINUX_20221215.1650_RELEASE_TEST
yu@yu-HP-EliteBook-745-G3:~/code/OK3568-linux-source/IMAGE$
单独编译内核
yu@yu-HP-EliteBook-745-G3:~/code/OK3568-linux-source$ ./build.sh -build kernelprocessing option: -build
清除编译生成文件
该操作清除所有中间文件。但不影响源文件,包括已经有改动的源文件。注意:uboot 源码目录不可以执行 make clean 命令,否则会导致 uboot 无法编译。
yu@yu-HP-EliteBook-745-G3:~/code/OK3568-linux-source$ make clean
Qt Creator 安装&环境配置
将 qt-creator-opensource-linux-x86_64-4.1.0.run 拷贝至当前用户目录下的任意目录下,执行下面命令:
yu@yu-HP-EliteBook-745-G3:~/code$ ls
OK3568-linux-source OK3568-linux-source.tar.bz2 OK3568-linux-source.tar.bz2.checksum qt-creator-opensource-linux-x86_64-4.7.0.run
yu@yu-HP-EliteBook-745-G3:~/code$ ./qt-creator-opensource-linux-x86_64-4.7.0.run
然后会弹出图形界面的安装窗口,按照提示进行安装.
安装完成,点击 finish。这时将自动打开 Qt 界面,也可以通过命令行启动,执行以下命令,以后台方式打开 Qt Creator,用户打开时以自己实际安装路径为准:
qbs qbs-config qbs-config-ui qbs-create-project qbs-setup-android qbs-setup-qt qbs-setup-toolchains qt.conf qtcreator qtcreator.sh
yu@yu-HP-EliteBook-745-G3:~/qtcreator-4.7.0/bin$ ./qtcreator &
交叉编译器配置
1、点击 Qt Creator 的 Tools ->Options->Kits->Compilers, 然后点击 Add ->GCC->C;
2、Name 输入 GCC;
3、Compiler Path 点击 Browse 选择交叉编译器的路径为:aarch64-linux-gcc 和 aarch64-linux-g++,
如下图所示:
Qt Version 配置
1、点击 Qt Creator 的 Tools ->Options->Qt Versions,
2、然后点击 Add,弹出对话框选择 OK3568-linux-source/buildroot/output/OK3568/host/bin/qmake
3、点击 open 添加
4、然后会返回 Qt Version 配置框,Version name 可以自行更改。
5、然后点击 Apply 及 OK
Ktis 配置
Kits 是一个构建套件,用来构建和选择开发编译环境,对于有多种 QT 库的项目很有用。将之前添加的交叉编译器和 QT Version 添加到 Kits 中,构建适合开发板的编译环境
1、点击 Qt Creator 的 Tools ->Options->Kits, 然后点击 Add,出现配置部分。
2、Name 自行更改。
3、Compiler 选择 GCC。
4、Qt version 选择 Qt version 创建时输入的名字。
应用程序编译及运行
编译并运行命令行应用
本小节使用看门狗测试程序,使用 cd 命令进入/home/yu/code/OK3568-linux-source/app/forlinx/forlinx_cmd/fltest_watchdog目录
- 添加交叉编译器路径,使用 make 进行交叉编译
yu@yu-HP-EliteBook-745-G3:~/code/OK3568-linux-source/app/forlinx/forlinx_cmd/fltest_watchdog$ export PATH=/home/yu/code/OK3568-linux-source/buildroot/output/OK3568/host/bin/:$PATH
yu@yu-HP-EliteBook-745-G3:~/code/OK3568-linux-source/app/forlinx/forlinx_cmd/fltest_watchdog$ make
aarch64-linux-gcc watchdog.c -o fltest_watchdog
generate fltest_watchdog success!!!
yu@yu-HP-EliteBook-745-G3:~/code/OK3568-linux-source/app/forlinx/forlinx_cmd/fltest_watchdog$ ls
fltest_watchdog Makefile watchdog.c
yu@yu-HP-EliteBook-745-G3:~/code/OK3568-linux-source/app/forlinx/forlinx_cmd/fltest_watchdog$
- 将编译生成的 fltest_watchdog 通过 U 盘或者 ftp 等方式拷贝到板子上,比如/forlinx 路径下,下述以 tf卡为例,拷贝到开发板,运行.
- 参考用户使用手册“看门狗测试”章节测试
编译并运行QT应用程序
在开发环境打开 Qt Creator (用户根据自己的实际路径打开),点击 Qt Creator 的 File->Open File or Project,弹出窗口,选择/3568/OK3568-linux-source/app/forlinx/forlinx_qt/watchdog/watchdog.pro
打开项目后界面如下:
点击 Configure Project 后将适配本手册《Qt Creator 环境配置》章节中构建的编译环境。
选择后界面如下:
点击 Build->Clean All 进行清空。(如果没有清除中间文件可以手动删除)。
点击 Projects 取消选中 Shadow build
然后点击 Build->Build All 进行编译