第11章_系统软件包
第11章 系统软件包
TB-RK3588x预装的debian11内预置了以下常用到的各种软件包。
11.1 Toybrick Property
Toybrick Property基于D-BUS实现安卓系统属性的相关接口:getprop、setprop和C/C++库函数。
11.1.1 toybrick-prop
-
包含运行时链接库(路径:/usr/lib/aarch64-linux-gnu):libtoybrick_prop.so.0和libtoybrick_prop.so.0.0.0
-
执行如下命令安装:
sudo apt -y install toybrick-prop toybrick-log
11.1.2 toybrick-prop-bin
-
包含可执行文件和启动服务:
-
可执行文件(路径:/usr/bin):toybrick_propd,getprop,setprop,toybrick-prop.sh
-
启动服务(路径:/usr/lib/systemd/system):toybrick-prop.service
-
-
执行如下命令安装:
sudo apt -y install toybrick-prop-bin
-
开机启动服务:
sudo systemctl enable toybrick-prop.service
-
Prop命令使用帮助:
-
列出所有系统属性
getprop
[persist.dev.model]: [TB-RK3588X0]
[persist.sys.usb.config]: [adb]
[dev.model]: [TB-RK3588X0]
[sys.usb.config]: [adb]
[sys.usb.touch.width]: [1920]
[sys.usb.touch.height]: [1080]
[sys.usb.touch.points]: [10]
[sys.usb.touch.in]: [/dev/hidg2]
[sys.usb.touch.report.id]: [4]
[sys.usb.touch.report.size]: [64]
[sys.usb.touch.feature.id]: [2]
[sys.usb.keyboard.in]: [/dev/hidg0]
[sys.usb.mouse.in]: [/dev/hidg1]说明:以persist开头的系统属性会保存在/etc/prop/目录下,重启系统系统会自动加载导入配置。
-
列出所有前缀为指定字段的系统属性
getprop list sys.usb
[sys.usb.config]: [adb]
[sys.usb.touch.width]: [1920]
[sys.usb.touch.height]: [1080]
[sys.usb.touch.points]: [10]
[sys.usb.touch.in]: [/dev/hidg2]
[sys.usb.touch.report.id]: [4]
[sys.usb.touch.report.size]: [64]
[sys.usb.touch.feature.id]: [2]
[sys.usb.keyboard.in]: [/dev/hidg0]
[sys.usb.mouse.in]: [/dev/hidg1] -
查看单个系统属性
getprop sys.usb.config
adb -
设置系统属性(需要root权限)
sudo setprop dev.version v0.1 // 设置dev.version属性,重启后丢失
sudo setprop persist.dev.version v0.1 //设置persist.dev.version属性,保存在/etc/prop/dev.json -
删除指定的property
sudo setprop dev.version //删除dev.version属性
sudo setprop persist.dev.version //删除dev.version属性, 同时删除/etc/prop/dev.json里的相关配置
-
11.1.3 toybrick-prop-dev
-
包含编译连接所需的相关文件:
-
头文件(路径:/usr/include/toybrick):toybrick_properties.h,properties.h和system_properties.h
-
编译时链接库(路径:/usr/lib/aarch64-linux-gnu):libtoybrick_prop.so
-
pkgconfig(路径:/usr/lib/aarch64-linux-gnu/pkgconfig):toybrick_prop.pc
-
-
执行如下命令安装:
sudo apt -y install toybrick-prop-dev toybrick-log
-
编译链接 选项:
LDDFLAG=`pkg-config --libs toybrick_prop`
CFLAG=`pkg-config --cflags toybrick_prop` -
包含头文件:
#include <toybrick/toybrick_properties.h>
#include <toybrick/properties.h>
#include <toybrick/system_properties.h> -
示例代码:test.c
#include <toybrick/toybrick_properties.h>
#include <stdio.h>
int main(int argc, char **argv)
{
const char *key = "dev.model";
const char *default_value = "TB-RK3588X0";
char value[PROPERTY_VALUE_MAX];
int ret;
ret = property_get(key, value, default_value);
printf("key %s, value %s, len %d\n", key, value, ret);
return ret;
}
编译命令:
gcc test.c `pkg-config --libs toybrick_prop` `pkg-config --cflags toybrick_prop` -o test
11.2 Toybrick Usbconfig
Toybrick Usbconfig基于Type-C OTG口实现虚拟USB设备如:adb ,ntb, rndis网卡,虚拟摄像头,虚拟声卡,虚拟键盘鼠标和触摸屏等。
11.2.1 toybrick-usbd
包含可执行文件和启动服务。
-
可执行文件(路径:/usr/bin):toybrick_usbd,toybrick_adbd等
-
启动服务(路径:/usr/lib/systemd/system):toybrick-usb.service
-
执行如下命令安装:
sudo apt -y install toybrick-usbd
- 开机启动服务:
sudo systemctl enable toybrick-usb.service
- USB Config配置
sudo setprop sys.usb.config adb //当前支持adb功能,下个版本计划支持adb,ntb,rdnis,key,touch,keyboard,uvc,uvc等
sudo setprop persist.sys.usb.config adb //写入磁盘,永久生效。
11.3 Rockchip ISP
Rockchip ISP运行RKISP 3A tunning服务和camera示例代码,默认支持imx327,imx415,imx464,os04a10hk,ov3855和ov50c40模组。
11.3.1 rockchip-isp
包含可执行文件,iqfile文件和启动服务
-
可执行文件(路径:/usr/bin):rkaiq_3A_server
-
启动服务(路径:/usr/lib/systemd/system):rockchip-isp.service
-
执行如下命令安装:
sudo apt -y install rockchip-isp
-
开机服务器:
sudo systemctl enable rockchip-isp.service
-
新增iqfile:将iqfile文件拷贝到/etc/iqfiles目录下,重启服务。
cp ${IQFILE} /etc/iqfiles/
sudo systemctl restart rockchip-isp.service
11.3.2 rockchip-isp-sample
-
包含camera示例代码(路径:/usr/share/camera)
-
编译示例代码
cp -r /usr/share/camera ./
cd camera
make
11.4 Edge Utils
Edge Utils包含蓝牙、WIFI、IO、网络配置、显示、camera等实用工具。
11.4.1 edge-utils
-
包含系统相关工具(路径:/usr/local/bin)
-
执行如下命令安装:
sudo apt -y install edge-utils
11.5 Toybrick Vendor
Toybrick vendor提供/dev/vendor-storage的SN、MAC等的读写命令、C语言调用接口和示例代码。
11.5.1 toybrick-vendor-bin
-
包含/dev/vendor-storage的SN、MAC等的读写命令(/usr/bin/toybrick_vendor)
-
执行如下命令安装:
sudo apt -y install toybrick-vendor-bin
-
命令帮助:
toybrick_vendor --help
Usage:
toybrick_vendor get {sn | product | id } len
toybrick_vendor set {sn | product | id } data
toybrick_vendor get mac count
toybrick_vendor set mac mac0 mac1 ...
e.g.
toybrick_vendor set mac 329bb75e915e 329bb75e915f //写入两个mac地址
toybrick_vendor get mac 2 //读取两个mac地址
toybrick_vendor set sn xxxxxxxx //写入SN号
toybrick_vendor get sn 16 //读取SN号,count值必须大于实际SN号的长度
11.5.2 toybrick-vendor-dev
-
包含编译连接所需的相关文件:
-
头文件(路径:/usr/include/toybrick):toybrick-vendor.h
-
编译时链接库(路径:/usr/lib/aarch64-linux-gnu):libtoybrick_vendor.so
-
pkgconfig(路径:/usr/lib/aarch64-linux-gnu/pkgconfig):toybrick_vendor.pc
-
-
执行如下命令安装:
sudo apt -y install toybrick-vendor-dev
-
编译链接选项:
LDDFLAG=`pkg-config --libs toybrick_vendor`
CFLAG=`pkg-config --cflags toybrick_vendor` -
包含头文件:
#include <toybrick/toybrick-vendor.h>
-
示例代码:test.c
#include <toybrick/toybrick-vendor.h>
#include <stdio.h>
int main(int argc, char **argv)
{
const char *sn = "xxxxxxxx";
return vendor_set_sn(sn, strlen(sn));
}
编译命令:
gcc test.c `pkg-config --libs toybrick_vendor` `pkg-config --cflags toybrick_vendor` -o test
11.6 Vendor Firmware
Vendor Firmware包含WIFI,蓝牙模组的firmware固件。
11.6.1 vendor-firmware
-
包含系统相关工具(路径:/vendor,/system)
-
执行如下命令安装:
sudo apt -y install vendor-firmware
11.7 Toybrick Server
Toybrick Server集成启动服务,开启启动执行toybrick-server.sh脚本,启动蓝牙服务,并调用/usr/local/bin/toybrick-custom.sh
注意:toybrick-server.sh会因为软件包升级而被覆盖,如果用有需要添加开机启动脚本请新建/修改/usr/local/bin/toybrick-custom.sh。
11.7.1 toybrick-server
包含可执行文件和启动服务
-
可执行文件(路径:/usr/bin):toybrick-server.sh
-
启动服务(路径:/usr/lib/systemd/system):toybrick.service
-
执行如下命令安装:
sudo apt -y install toybrick-server
-
开机启动服务:
sudo systemctl enable toybrick.service
11.8 Rockchip MPP
Rockchip MPP集成VPU视频编解码库、开发头文件和测试命令。
开发指导详见:边缘计算SDK工程的docs/common/MPP/目录下文档。
11.8.1 rockchip-mpp
-
包含运行时链接库(路径:/usr/lib/aarch64-linux-gnu):librockchip_mpp*.so.*
-
执行如下命令安装:
sudo apt -y install rockchip-mpp
11.8.2 rockchip-mpp-sample
-
包含MPP 示例代码:
- 示例代码(路径:/usr/share/rockchip-mpp/sample)
-
执行如下命令编译示例代码:
sudo apt -y install rockchip-mpp-dev
cp -r /usr/share/rockchip-mpp/sample ~/
cd ~/sample/build
./make.sh -
执行如下命令安装:
sudo apt -y install rockchip-mpp-sample
11.8.3 rockchip-mpp-dev
-
包含编译连接所需的相关文件:
-
头文件(路径:/usr/include/rockchip):MPP相关头文件
-
编译时链接库(路径:/usr/lib/aarch64-linux-gnu):librockchip_mpp.so
-
pkgconfig(路径:/usr/lib/aarch64-linux-gnu/pkgconfig):rockchip_mpp.pc
-
-
执行如下命令安装:
sudo apt -y install rockchip-mpp-dev
-
编译链接选项:
LDDFLAG=`pkg-config --libs rockchip_mpp`
CFLAG=`pkg-config --cflags rockchip_mpp`
11.9 Rockchip RGA
Rockchip RGA集成RGA 2D图像加速库、开发头文件和测试命令。
开发指导详见:边缘计算SDK工程的docs/edge/rga/目录下文档。
11.9.1 rockchip-rga
-
包含运行时链接库(路径:/usr/lib/aarch64-linux-gnu):librga*.so.*
-
执行如下命令安装:
sudo apt -y install rockchip-rga
11.9.2 rockchip-rga-sample
-
包含RGA示例代码:
- 示例代码(路径:/usr/share/rockchip-rga/sample)
-
执行如下命令编译示例代码:
sudo apt -y install rockchip-rga-dev libdrm-dev
cp -r /usr/share/rockchip-rga/sample ~/
cd ~/sample/build
./make.sh -
执行如下命令安装:
sudo apt -y install rockchip-rga-bin
11.9.3 rockchip-rga-dev
-
包含编译连接所需的相关文件:
-
头文件(路径:/usr/include/rockchip):RGA相关头文件
-
编译时链接库(路径:/usr/lib/aarch64-linux-gnu):librga.so
-
pkgconfig(路径:/usr/lib/aarch64-linux-gnu/pkgconfig):rockchip_rga.pc
-
-
执行如下命令安装:
sudo apt -y install rockchip-rga-dev
-
编译链接选项:
LDDFLAG=`pkg-config --libs rockchip_rga`
CFLAG=`pkg-config --cflags rockchip_rga`