RK3588 NVR SDK编译方法总结
rk3588的SDK有几个版本,linux,nvr,android等。目前本人用的比较多的是NVR版本,因为其比较精简。并且提供了RKMPI模块和相应的demo,方便快速进行视频相关应用开发。
sdk的编译主要就是SDK的编译环境的搭建,一般的SDK都有doc文件夹,其中第一篇要看的文章就是 quick start。比如Rockchip_RK3588_Quick_Start_Linux_NVR_CN.pdf,它会为使用者提供整体的编译应用指南。总结来讲,sdk 的编译环境搭建有两种方法。通过docker搭建,或者在ubuntu上直接搭建编译环境。
1.编译环境的搭建。
1.1通过docker 搭建。
首先先安装docker软件,并设置docker权限,这里不做详细介绍,相关文章很多。
在docker文件夹下执行指令:
路径改为本机路径
查看镜像
docker images
建立镜像
docker build -t rk3588_20.04_env:v1.0 .
运行容器
docker run -it --rm -v/home/xxx/work/rk3588/nvr:/home/xxx:rw rk3588_20.04_env:v1.0 /bin/bash
附上docker文件代码:
FROM ubuntu:20.04
RUN sed -i s@http://security.ubuntu.com@http://mirrors.ustc.edu.cn@ /etc/apt/sources.list
RUN sed -i s@http://archive.ubuntu.com@http://mirrors.ustc.edu.cn@ /etc/apt/sources.list
ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update && apt-get install 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 ncurses-dev bc time vim fdisk file rsync \
python-dev sudo \
-y && rm -rf /var/lib/apt/lists/*
RUN useradd --create-home --no-log-init --shell /bin/bash xxx \
&& echo "xxx:xxx" | chpasswd \
&& adduser xxx sudo
WORKDIR /home/xxx
#USER root
USER xxx
1.2 通过本机ubuntu系统搭建。
参考Rockchip_RK3588_Quick_Start_Linux_NVR_CN.pdf 的相关章节。
主要命令:
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 ncurses-dev pyelftools \
然后 使用编译 指令 ./build_emmc.sh ,根据报错提示下载安装缺少的文件。
1.3 lz4报错。
遇到lz4报错,可以下载新的lz4文件并替换掉。
附件提供lz4文件下载。
2.常用编译指令
常用的有
全编译 并打包生成 update.img
./build_emmc.sh
内核编译
./build_emmc.sh kernel
uboot编译
./build_emmc.sh uboot