泰山派RK3566学习记录

yu1741588584 / 2024-04-24 / 原文

一.烧录环境

img
1.rkdeveloptool SPL烧录命令格式

For with SPL:
rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt
rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x40 idbloader.img
rkdeveloptool wl 0x4000 u-boot.itb
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd
  1. rkdeveloptool miniloader 烧录命令格式
For with miniloader
rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool gpt parameter_gpt.txt
rkdeveloptool db rkxx_loader_vx.xx.bin
rkdeveloptool ul rkxx_loader_vx.xx.bin
rkdeveloptool wl 0x4000 uboot.img
rkdeveloptool wl 0x6000 trust.img
rkdeveloptool wl 0x8000 boot.img
rkdeveloptool wl 0x40000 rootfs.img
rkdeveloptool rd

1、设置Rkdeveloptool
进入源码目录

cd prebuilts/rkdeveloptool

安装依赖

sudo apt-get install libudev-dev libusb-1.0-0-dev dh-autoreconf pkg-config libusb-1.0 

编译

autoreconf -i
./configure
make
sudo make install

出现以下打印即安装成功
img
如果使用rkdeveloptool下载loader.bin 时,出现错误Creating Comm Object failed!
,使用如下解决方法:

sudo sh -c 'echo SUBSYSTEM==\"usb\", ATTR{idVendor}==\"2207\", MODE=\"0666\", GROUP=\"plugdev\" > /etc/udev/rules.d/51-android.rules'
sudo udevadm control --reload-rules
sudo udevadm trigger

二、编译u-boot、kernel

修改uboot目录:make.sh中的CROSS_COMPILE_ARM64为自己的编译器

./make.sh rk3566_defconfig 

编译生成uboot.img并不是要烧录的镜像,根据瑞芯微wiki,bl31.bin+u-boot-nodtb+uboot.dtb=u-boot.itb才是要烧录的镜像

ARCH=arm64 CROSS_COMPILE=aarch64-gnu-linux- make u-boot.itb -j12

生成u-boot.itb

烧录

rkdeveloptool db rk356x_spl_loader_v1.13.112.bin

2.烧录分区表

rkdeveloptool gpt ../rockdev/out/parameter.txt

验证分区表
img
3.烧录启动文件

rkdeveloptool ul rk356x_spl_loader_v1.13.112.bin

4.烧录uboot

rkdeveloptool wl 0x4000 u-boot.itb

5.烧录kernel

rkdeveloptool wl 0x8000 boot.img

6.烧录rootfs

rkdeveloptool wl 0x40000 rootfs.img