From ffadf453e484b0a84b4d12acc158db7718bc5cb7 Mon Sep 17 00:00:00 2001 From: "rick.chan" Date: Wed, 5 Jul 2023 17:51:44 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E8=B5=84=E6=96=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: rick.chan --- .../易百纳_EB-RV1126-DC-201_Linux_说明.md | 2 + .../Buildroot/Buildroot_使用说明.md | 9 ++++ .../Qt/Embedded/Qt_Embedded_说明.md | 42 +++++++++++++++++++ .../Modules/FrameBuffer/Frame_Buffer_说明.md | 4 ++ 4 files changed, 57 insertions(+) create mode 100644 Software/Development/Environment/Qt/Embedded/Qt_Embedded_说明.md create mode 100644 Software/Development/System/Linux/Modules/FrameBuffer/Frame_Buffer_说明.md diff --git a/Ecology/易百纳_EB-RV1126-DC-201/易百纳_EB-RV1126-DC-201_Linux_说明.md b/Ecology/易百纳_EB-RV1126-DC-201/易百纳_EB-RV1126-DC-201_Linux_说明.md index cdb0567..7aaae5e 100644 --- a/Ecology/易百纳_EB-RV1126-DC-201/易百纳_EB-RV1126-DC-201_Linux_说明.md +++ b/Ecology/易百纳_EB-RV1126-DC-201/易百纳_EB-RV1126-DC-201_Linux_说明.md @@ -33,6 +33,8 @@ TARGET_BUILDROOT_CONFIG=rockchip_rv1126_rv1109 TARGET_RECOVERY_CONFIG=rockchip_rv1126_rv1109_recovery TARGET_PCBA_CONFIG= TARGET_RAMBOOT_CONFIG= +# 多任务处理 +RK_JOBS=12 ``` ## 构建方法 diff --git a/Software/Development/Environment/Buildroot/Buildroot_使用说明.md b/Software/Development/Environment/Buildroot/Buildroot_使用说明.md index 3acce2b..e085394 100644 --- a/Software/Development/Environment/Buildroot/Buildroot_使用说明.md +++ b/Software/Development/Environment/Buildroot/Buildroot_使用说明.md @@ -22,4 +22,13 @@ Here are the steps Buildroot goes through when building a package: | package | 应用程序和中间件、库等的编译指导(*.mk 和 Config 文件) | | toolchain | 编译和构建工具 | | output/[platform]/build | 软件包编译的解压目录 | +| output/[platform]/host | 软件 host 工具目录 | | output/[platform]/target | 软件包的安装目录 | + +## Package 的下载和编译 + +Buildroot 从软件包的 *.mk 文件中获得下载地址和下载方式(https、ftp、git 等),下载完毕后与 *.hash 文件中的哈希值进行比较,比较通过则进行编译。 + +Buildroot 编译两份 package,一份安装到 host 目录,以便其他依赖该软件包的程序在构建时使用。另一份安装到 target 目录用于在目标板运行时使用。 + +编译的最后,Buildroot 调用 fix-rpath 来修正库文件的 rpath 参数 。 diff --git a/Software/Development/Environment/Qt/Embedded/Qt_Embedded_说明.md b/Software/Development/Environment/Qt/Embedded/Qt_Embedded_说明.md new file mode 100644 index 0000000..0d00a49 --- /dev/null +++ b/Software/Development/Environment/Qt/Embedded/Qt_Embedded_说明.md @@ -0,0 +1,42 @@ +# Qt Embedded 说明 + +## QPA + +QPA 的全称是 Qt Platform Abstraction,即 Qt 平台抽象层。在 Qt5 中替代 QWS(Qt Window System)。QPA 插件是通过对各种 QPlatform* 类进行子类化来实现的。有几个根类,例如用于窗口系统集成的 QPlatformIntegration 和 QPlatformWindow,以及用于更深入的平台主题和集成的 QPlatformTheme。QStyle 不是 QPA 的一部分。QPA 类没有源代码或二进制兼容性保证,这意味着平台插件只能保证与它开发的Qt版本一起使用。 + +在 Qt4 在编译时需要引入平台相关代码,其可移植性差,Qt5 通过引入 QPA 来剥离平台相关代码,提高跨平台特性。 + +## Qt 应用程序的 QPA 参数/宏 + +优先使用环境变量中的宏定义,如 QT_QPA_PLATFORM,其次使用程序运行时指定的参数。 + +指定 mouse、touch、keyboard(需要加载 hid、hid-generic、usbhid 驱动): + +```bash + -platform linuxfb:fb=/dev/fb0 -plugin evdevmouse:/dev/input/event -plugin evdevtouch:/dev/input/event -plugin evdevkeyboard:/dev/input/event +``` + +### 常用宏 + +```bash +export QT_QPA_PLATFORM_PLUGIN_PATH=/usr/lib/qt/plugins +export QT_QPA_PLATFORM=linuxfb:tty=/dev/fb0 +export QT_QPA_FONTDIR=/usr/share/fonts +``` + +### QPA Platform + +主要见 plugin/platforms 文件夹下有哪些插件,如: + +- linuxfb +- directfb +- weston + +### QPA Evdev Plugin + +主要见 plugin/generic 文件夹下的 libqevdev* 插件,如: + +- evdevkeyboard +- evdevmouse +- evdevtablet +- evdevtouch diff --git a/Software/Development/System/Linux/Modules/FrameBuffer/Frame_Buffer_说明.md b/Software/Development/System/Linux/Modules/FrameBuffer/Frame_Buffer_说明.md new file mode 100644 index 0000000..95823c4 --- /dev/null +++ b/Software/Development/System/Linux/Modules/FrameBuffer/Frame_Buffer_说明.md @@ -0,0 +1,4 @@ +# Frame Buffer 说明 + +Linux Frame Buffer(LinuxFb) 是内核驱动。Direct Frame Buffer(DirectFb) 为扩展 Linux Frame Buffer 功能创建的库。 +