rk3568 sdk编译以及PCL库开启

使用的时正点原子的rk3568开发板,官方库的同步需要使用ssh公钥与官方库repo,故直接使用正点原子官方提供的sdk包。宿主机使用Ubuntu20.04。

  1、安装依赖包

sudo apt-get update
sudo apt-get install curl python2.7 python-pyelftools 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 python3-pip \
libncurses-dev python3-pyelftools vim mtd-utils

python2 设置为系统默认 python 版本:

sudo rm -rf /usr/bin/python
sudo ln -s /usr/bin/python2 /usr/bin/python

2、配置git

git config --global user.name "your name"
git config --global user.email "your email"

3、安装SDK

  使用如下命令解压sdk后在解压目录下得到一个.repo目录,需要使用命令 ls -al 才能看到。

mkdir ~/rk3568_linux_sdk
tar xvf atk-rk3568_linux_release_v1.0_20230620.tgz -C ~/rk3568_linux_sdk

  使用如下命令将sdk源码从仓库检出。这一步就跟iMX93芯片使用repo从git仓库拉代码一样,只是少了下载过程。

cd ~/rk3568_linux_sdk/
.repo/repo/repo sync -l -j10

 4、编译

  检出源码后,配置板级开发环境,选择正点原子开发板对应的配置文件,输入数字后回车确认即可完成板级配置。

./build.sh lunch

   进入sdk根目录,执行下方命令开始进行全编译。

./build.sh all

  编译buildroot时会从git仓库中拉取源码编译并安装。

中间遇到提示gcc-initial duplicate patch的错误,删除此组件的中间文件后重新编译就ok了

rm -rf ./buildroot/output/rockchip_rk3568/build/host-gcc-final-10.3.0

 全编译成功后有如下提示

 

5、buildroot中增加pcl库支持

  项目中需要使用PCL库,但原工程未包含此库,需要手动打开。

  进入buildroot目录,执行source build/envsetup.sh rockchip_rk3568  配置芯片环境。

  执行make menuconfig 进入配置菜单,进入下图路径选中PCL库。

  重新编译buildroot,提示boost压缩包解压错误。原因是buildroot/package/boost/boost.mk文件中的源码下载连接失效,可以手动从https://archives.boost.io/release/1.79.0/source/boost_1_79_0.tar.bz2 下载后放到buildroot/dl路径下。

  完成后回到sdk根目录,执行build.sh  cleanall 清理,然后重编译 build.sh all等待编译完成。

  尽量不要在buildroot目录下直接使用make来编译,尤其是编译过程中出错导致编译中断后,最好使用cleanall清理后再重新编译。

  编译成功后将buildroot/output/rockchip_rk3568/images/目录下生成rootfs.ext2文件重命名为img文件后用于烧录。

 

6、同步更新后的库到交叉编译器工具链中

  编译完成后还需要拷贝buildroot/output/rockchip_rk3568/host/aarch64-buildroot-linux-gnu/sysroot/usr文件夹到对应的交叉编译工具链的目录下,同步更新后的库文件。

posted @ 2025-06-09 15:53  yu_chun_de_ren_lei  阅读(199)  评论(0)    收藏  举报