1 RKNN_DEMO分辨率适配
1、创建指定分辨率的配置文件
原配置文件目录:
buildroot/output/rockchip_rk1808/build/rknn_demo-
1.0.0/minigui/MiniGUI-1280x720.cfg
在相同目录下创建 MiniGUI-480x480.cfg,将文件内容的1280x720改成
480x480分辨率
2、选中指定配置cfg文件
目录:buildroot/package/rockchip/rknn_demo/rknn_demo.mk
1 ifeq ($(BR2_PACKAGE_RK1808),y)
2 RKNN_DEMO_MINIGUI_CFG=minigui/MiniGUI‐480x480.cfg
3 endif
3、清除编译记录,并重新编译完整镜像
rm buildroot/output/rockchip_rk1808/build/rknn_demo-1.0.0/.stamp_*
./build.sh
2 编译下载
硬件版型选择
./build.sh init
processing option: init
You're building on Linux
Lunch menu...pick a combo:
0. default BoardConfig.mk
1. BoardConfig-dr4-rk3588-buildroot.mk
2. BoardConfig-dr4-rk3588-debian.mk
3. BoardConfig-dr4-rk3588-ubuntu.mk
4. BoardConfig-multi-dtb-dr4-rk3588-buildroot.mk
5. BoardConfig-multi-dtb-dr4-rk3588-debian.mk
6. BoardConfig-multi-dtb-dr4-rk3588-ubuntu.mk
7. BoardConfig-multi-dtb-rd-box-rk3588-buildroot.mk
8. BoardConfig-multi-dtb-rd-box-rk3588-debian.mk
9. BoardConfig-multi-dtb-rd-box-rk3588-ubuntu.mk
10. BoardConfig-multi-dtb-rd-rk3588-buildroot.mk
11. BoardConfig-multi-dtb-rd-rk3588-debian.mk
12. BoardConfig-multi-dtb-rd-rk3588-ubuntu.mk
13. BoardConfig-multi-dtb-rp-rk3588s-buildroot.mk
14. BoardConfig-multi-dtb-rp-rk3588s-debian.mk
15. BoardConfig-multi-dtb-rp-rk3588s-ubuntu.mk
16. BoardConfig-nano-rk3588-buildroot.mk
17. BoardConfig-nano-rk3588-debian.mk
18. BoardConfig-nano-rk3588-ubuntu.mk
19. BoardConfig-rd-box-rk3588-buildroot.mk
20. BoardConfig-rd-box-rk3588-debian.mk
21. BoardConfig-rd-box-rk3588-ubuntu.mk
22. BoardConfig-rd-rk3588-buildroot.mk
23. BoardConfig-rd-rk3588-debian.mk
24. BoardConfig-rd-rk3588-ubuntu.mk
25. BoardConfig-rp-rk3588s-buildroot.mk
26. BoardConfig-rp-rk3588s-debian.mk
27. BoardConfig-rp-rk3588s-ubuntu.mk
Which would you like? [0]: 4
选择显示屏型号
vim dr4-rk3588.dts
/* lcd */
//#include "rp-lcd-mipi0-5-720-1280-v2-boxTP.dtsi"
//#include "rp-lcd-mipi0-7-720-1280.dtsi"
//#include "rp-lcd-mipi0-8-800-1280-v3.dtsi"
//#include "rp-lcd-mipi0-8-1200-1920.dtsi"
//#include "rp-lcd-mipi0-10-800-1280-v3.dtsi"
#include "rp-lcd-mipi0-10-1200-1920.dtsi"
//#include "rp-lcd-edp0-13.3-15.6-1920-1080.dtsi"
//#include "rp-lcd-edp1-13.3-15.6-1920-1080.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-21-1920-1080.dtsi"
//#include "rp-lcd-mipi1-gm8775-lvds-10.1-1024-600.dtsi"
/* mulit lcd */
//#include "rp-multi-lcd-edp0-13.3-edp1-13.3-dp0.dtsi"
//#include "rp-multi-lcd-edp0-13.3-edp1-15.6-dp0.dtsi"
3 QT应用移植及打包编译过程
第一:查看buildroot/package/rockchip/apps/
1:编译QT qcamera 应用相关的 Config.in 与 qcamera.mk
/home/rpdzkj/rk3588/rk3588-linux/buildroot/package/rockchip/apps/qcamera
cat Config.in
config BR2_PACKAGE_QCAMERA
bool "qcamera"
depends on BR2_PACKAGE_QT5
help
Rockchip camera application based on QT
cat qcamera.mk
QCAMERA_VERSION = 1.0
QCAMERA_SITE = $(TOPDIR)/../app/qcamera
QCAMERA_SITE_METHOD = local
QCAMERA_LICENSE = ROCKCHIP
QCAMERA_LICENSE_FILES = LICENSE
define QCAMERA_INSTALL_TARGET_CMDS
mkdir -p $(TARGET_DIR)/usr/share/applications $(TARGET_DIR)/usr/share/icon
$(INSTALL) -D -m 0644 $(@D)/icon_camera.png $(TARGET_DIR)/usr/share/icon/
$(INSTALL) -D -m 0755 $(@D)/qcamera $(TARGET_DIR)/usr/bin/
$(INSTALL) -D -m 0755 $(@D)/qcamera.desktop $(TARGET_DIR)/usr/share/applications/
endef
$(eval $(qmake-package))
2:生效qcamera应用Config.in配置文件,重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
source命令通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录。
rpdzkj@ubuntu:~/rk3588/rk3588-linux/buildroot/package/rockchip/apps$ ls
apps.mk Config.in multivideoplayer qcamera qfm qlauncher qplayer qsetting
rpdzkj@ubuntu:~/rk3588/rk3588-linux/buildroot/package/rockchip/apps$ cat Config.in
source "package/rockchip/apps/multivideoplayer/Config.in"
source "package/rockchip/apps/qcamera/Config.in"
source "package/rockchip/apps/qfm/Config.in"
source "package/rockchip/apps/qlauncher/Config.in"
source "package/rockchip/apps/qplayer/Config.in"
source "package/rockchip/apps/qsetting/Config.in"
第二:配置QT qcamera应用,使其能够编译到output,最终打包到镜像中
buildroot/configs/rockchip
rpdzkj@ubuntu:~/rk3588/rk3588-linux/buildroot/configs/rockchip$ ll
total 188
drwxrwxr-x 2 rpdzkj rpdzkj 4096 Jan 31 16:09 ./
drwxrwxr-x 3 rpdzkj rpdzkj 20480 Jan 17 15:25 ../
-rw-rw-r-- 1 rpdzkj rpdzkj 374 Jan 17 15:25 audio.config
-rw-rw-r-- 1 rpdzkj rpdzkj 365 Jan 17 15:25 audio_gst.config
-rw-rw-r-- 1 rpdzkj rpdzkj 1160 Jan 17 15:25 base.config
-rw-rw-r-- 1 rpdzkj rpdzkj 1330 Jan 17 15:25 base_extra.config
-rw-rw-r-- 1 rpdzkj rpdzkj 2108 Jan 17 15:25 base_nvr.config
-rw-rw-r-- 1 rpdzkj rpdzkj 539 Jan 17 15:25 benchmark.config
-rw-rw-r-- 1 rpdzkj rpdzkj 244 Jan 17 15:25 bt.config
-rw-rw-r-- 1 rpdzkj rpdzkj 123 Jan 17 15:25 busybox.config
-rw-rw-r-- 1 rpdzkj rpdzkj 344 Jan 17 15:25 busybox_minimal.config
-rw-rw-r-- 1 rpdzkj rpdzkj 116 Jan 17 15:25 camera.config
-rw-rw-r-- 1 rpdzkj rpdzkj 2171 Jan 17 15:25 camera_gst.config
-rw-rw-r-- 1 rpdzkj rpdzkj 205 Jan 17 15:25 chromium.config
-rw-rw-r-- 1 rpdzkj rpdzkj 1734 Jan 17 15:25 debug.config
-rw-rw-r-- 1 rpdzkj rpdzkj 150 Jan 17 15:25 gdb.config
-rw-rw-r-- 1 rpdzkj rpdzkj 28 Jan 17 15:25 gpu.config
-rw-rw-r-- 1 rpdzkj rpdzkj 62 Jan 17 15:25 gpu_dummy.config
-rw-rw-r-- 1 rpdzkj rpdzkj 175 Jan 17 15:25 kernel.config
-rw-rw-r-- 1 rpdzkj rpdzkj 1127 Jan 17 15:25 network.config
-rw-rw-r-- 1 rpdzkj rpdzkj 466 Jan 17 15:25 network_only_eth.config
-rw-rw-r-- 1 rpdzkj rpdzkj 22 Jan 17 15:25 npu2.config
-rw-rw-r-- 1 rpdzkj rpdzkj 265 Jan 17 15:25 ntfs.config
-rw-rw-r-- 1 rpdzkj rpdzkj 118 Jan 31 16:09 qt_app.config
cat qt_app.config
BR2_PACKAGE_QCAMERA=y
BR2_PACKAGE_QLAUNCHER=y
BR2_PACKAGE_QSETTING=y
BR2_PACKAGE_QFM=y
BR2_PACKAGE_QPLAYER=y
BR2_PACKAGE_MULTIVIDEOPLAYER=y
移植的话,添加:
BR2_PACKAGE_QCAMERA=y
4 QT应用删除
第一:配置QT qcamera应用,删除BR2_PACKAGE_QCAMERA=y,使其最终编译没有QT qcamera
buildroot/configs/rockchip
rpdzkj@ubuntu:~/rk3588/rk3588-linux/buildroot/configs/rockchip$ ll
total 188
drwxrwxr-x 2 rpdzkj rpdzkj 4096 Jan 31 16:09 ./
drwxrwxr-x 3 rpdzkj rpdzkj 20480 Jan 17 15:25 ../
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
-rw-rw-r
cat qt_app.config
BR2_PACKAGE_QCAMERA=y
BR2_PACKAGE_QLAUNCHER=y
BR2_PACKAGE_QSETTING=y
BR2_PACKAGE_QFM=y
BR2_PACKAGE_QPLAYER=y
BR2_PACKAGE_MULTIVIDEOPLAYER=y
应用删除的话,移除:
BR2_PACKAGE_QCAMERA=y
第二:构建的应用包,删除qcamera
/home/rpdzkj/rk3588/rk3588-linux/buildroot/output/rockchip_rk3588/build
qcamera-1.0
qfm-1.0
qlauncher-1.0
qplayer-1.0
qsetting-1.0
qt5base-5.15.2
qt5connectivity-5.15.2
qt5declarative-5.15.2
qt5multimedia-5.15.2
mv qcamera-1.0 qcamera-1.0-bak
第三:构建的配置文件,删除.config
buildroot/output/rockchip_rk3588/.config
# configuration written to /home/rpdzkj/rk3588/rk3588-linux/buildroot/output/rockchip_rk3588/.config
#
make: Leaving directory '/home/rpdzkj/rk3588/rk3588-linux/buildroot'
615c615
< BR2_PACKAGE_QCAMERA=y
> # BR2_PACKAGE_QCAMERA is not set
Found old config, override it? (y/n):y
第四:最终构建的文件系统,构建不会删除之前的遗留,在/usr/share/icon下,需要手动删除icon_camera.png
/home/rpdzkj/rk3588/rk3588-linux/buildroot/output/rockchip_rk3588/target/usr/share/icon
$ ll
total 56
drwxr-xr-x 2 rpdzkj rpdzkj 4096 Jan 17 17:37 ./
drwxr-xr-x 33 rpdzkj rpdzkj 4096 Jan 17 15:25 ../
-rw-r
-rw-r
-rw-r
-rw-r
-rw-r
-rw-r
rm -rf icon_camera.png
第五:最终构建的文件系统,构建不会删除之前的遗留,在/usr/share/applications下,需要手动删除qcamera.desktop*
/home/rpdzkj/rk3588/rk3588-linux/buildroot/output/rockchip_rk3588/target/usr/share/applications
$ ll
total 56
drwxr-xr-x 2 rpdzkj rpdzkj 4096 Jan 31 16:16 ./
drwxr-xr-x 33 rpdzkj rpdzkj 4096 Jan 17 15:25 ../
-rw-r
-rwxr-xr-x 1 rpdzkj rpdzkj 4610 Jan 17 17:31 mimeapps.list*
-rwxr-xr-x 1 rpdzkj rpdzkj 133 Jan 17 17:31 multivideoplayer.desktop*
-rwxr-xr-x 1 rpdzkj rpdzkj 105 Jan 17 17:31 qcamera.desktop*
-rwxr-xr-x 1 rpdzkj rpdzkj 97 Jan 17 17:31 qfm.desktop*
-rwxr-xr-x 1 rpdzkj rpdzkj 105 Jan 17 17:31 qplayer.desktop*
-rwxr-xr-x 1 rpdzkj rpdzkj 109 Jan 17 17:31 qsetting.desktop*
-rw-r
-rwxr-xr-x 1 rpdzkj rpdzkj 106 Jan 17 17:37 testApp.desktop*
rm -rf qcamera.desktop*
第六:最终构建的文件系统,构建不会删除之前的遗留,在/usr/bin下,需要手动删除qcamera
/home/rpdzkj/rk3588/rk3588-linux/buildroot/output/rockchip_rk3588/target/usr/bin
rm -rf qcamera