1. 下载
从米尔电子官方下载站下载相关资料
2.解压源码包,配置工具链,建议开发使用 Ubuntu 20.04 系统。
$ unzip 04_Sources.zip
$ tar -jxf YT113X-buildroot-t1-5.4.61-1.0.0.tar.bz2
$ mkdir -p arm_gcc_linaro_5.3.1
$ tar -xvf gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi-qt5.12.5-myir.tar.bz2
$ mv gcc-linaro-5.3.1-2016.05-x86_64_arm-linux-gnueabi/ ./arm_gcc_linaro_5.3.1
将工具链配置到系统环境变量中:
$ vim ~/.bashrc
在文件最后加上一行:
export PATH="$PATH:/home/ubuntu/workspace/arm_gcc_linaro_5.3.1/bin"
保存退出
使环境变量生效:
$ source ~/.bashrc
3.进入源码目录进行编译
$ cd auto-t113-linux/
$ ./build.sh config
参考米尔官方文档选择即可,都选默认的就行,就是需要注意一下带屏版本的话,板子选择 myir_emmc_full 型号
配置完成后进行编译:
$ ./build.sh
对于编译过程中报错,参考米尔官方文档进行修改,主要修改如下两个文件:
vim out/t113/myir_emmc_full/longan/buildroot/build/host-libglib2-2.56.3/gio/gdbusauth.c
vim out/t113/myir_emmc_full/longan/buildroot/build/host-libglib2-2.56.3/gio/gdbusmessage.c
然后继续编译
$ ./build.sh
再次编译报错后,修改如下几个文件。Makefile、Makefile.am、Makefile.in、mkstrtable.awk 里的 namespace 都改为 pkg_namespace
,然后重新执行编译命令即可
vim out/t113/myir_emmc_full/longan/buildroot/build/libgpg-error-1.33/src/Makefile.am
vim out/t113/myir_emmc_full/longan/buildroot/build/libgpg-error-1.33/src/Makefile.in
vim out/t113/myir_emmc_full/longan/buildroot/build/libgpg-error-1.33/src/mkstrtable.awk
理论上到这里就可以编译通过了,然后在编译 qt
4.编译 qt
$ ./build.sh qt
$ ./build.sh pack
打包输出镜像
但是默认输出的镜像没有使能 usb 串口功能,我们需要自己加上 ch340 cp2012 fdti 等常见的 usb 串口驱动。
5.添加 kernel 串口驱动
$ cd kernel/linux-5.4/
$ make ARCH=arm myir_emmc_full_defconfig
$ make ARCH=arm menuconfig
在 kernel 驱动中找到你需要使能的驱动,保存 menuconfig 即可。
但是如果还是使用 ./build.sh 脚本编译的话,默认会配置会覆盖调你的配置,建议直接去修改 myir_emmc_full_defconfig 然后在重新编译 kernel 即可,同时也需要重新打包。
$ vim arch/arm/configs/myir_emmc_full_defconfig
6.参考米尔官方将固件烧写到 sd 中,然后重新上电,系统就会自动加载 sd 镜像到 emmc 中。就相当于重新刷机了,后面就可以把 sd 下了。(已经刷好了,不用在重新刷机了)
7.首先将毫米波人体传感器接在 usb 串口上,然后在系统上电,上电启动后,将会自动打开 QT应用程序
8. 注意
- 在编译 qt 的时候存在一些问题,需要注意,有几个库不存在,用软连接的方式绕过了。
- 设置 qt 远程调试,因为没有密码,需要改成密钥的方式。
- 在远程调试 qt 程序时,还需要把 qtenv.sh 的环境变量设置到 /etc/profile 变成全局的才可以。