瑞芯微RK3566

立创·泰山派开发板主控采用Rockchip(瑞芯微)的中高端AIOT芯片RK3566 ,4核Cortex-A55的64位CPU,主频高达1.8GHz;集成ARM Mali-G52 GPU,支持4K 60fps解码,1080P 60fps编码,支持8MSP和HDR;内置1Tops算力的AI加速器NPU。

编译SDK

  1. 下载板子的SDK,并解压SDK的压缩包

    1
    2
    3
    $ tar -xvzf tspi_linux_sdk_repo_20240131.tar.gz
    #提取代码repo的代码
    $ .repo/repo/repo sync -l -j88
  2. 安装配套工具

    安装git

    1
    sudo apt-get install git -y

    安装repo

    1
    sudo apt install repo -y

    安装python2

    1
    sudo apt-get install python2.7

    安装python3

    1
    sudo apt-get install python3
  3. 安装buildroot,这两个压缩包放入一个文件夹中。

    1
    tar -xzf buildroot_dl_4c7c9df616fb.tar.gz
  4. 安装编译工具

    1
    sudo 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
  5. 板级配置

    1
    ./build.sh lunch

  6. 编译buildroot系统

    选择buildroot 注意每次关闭窗口以后要重新运行

    1
    export RK_ROOTFS_SYSTEM=buildroot

    运行自动全编译命令,注意:只编译(u-Boot,kernel,Rootfs,Recovery)编译完成以后需要再执⾏./mkfirmware.sh 进⾏固件打包,与./build.sh updateimg生成镜像,很多小伙伴出现编译完成但烧录镜像不对都是因为没有执行这两个命令导致的。

    1
    ./build.sh all  

    电源选择,选择不对会编译报错,这里大家记住除了VCCIO4和6选1.8V其他都选3V3,如果没有弹电源选择框则需要安装sudo apt install whiptail后在重新编译。

编译成功后出现以下:

烧录镜像

烧录固件和镜像需要在开发板处于loader模式下才行。

打包固件,

1
./mkfirmware.sh

在目录下rockdev目录下可以找到以下镜像:

使用命令将多个镜像变成一个可烧录的镜像update.img

1
./build.sh updateimg

之后将update.img文件移入windows下,使用瑞芯微的下载工具,在升级固件中进行选择烧录。

或者

在sdk目录下使用脚本进行下载,这样只用在Ubuntu下操作就行了。

Ubuntu系统编译

安装 qemu在 Linux PC 主机上安装模拟器:

下载和解压 ubuntu-core,选择下载 ubuntu-base-18.04.5-base-arm64.tar.gz 。
下载完之后,创建临时文件夹并解压根文件系统:

1
sudo apt-get install qemu-user-static

解压:

1
tar -xpf ubuntu-base-18.04.5-basearm64.tar.gz -C temp/

修改根文件系统,

进入根文件系统进行操作:

1
2
cp -b /etc/resolv.conf temp/etc/resolv.conf
cp /usr/bin/qemu-aarch64-statictemp/usr/bin/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
vim rootfs-mount.sh
\#!/bin/bash
function mnt() {
echo "MOUNTING"
sudo mount -t proc /proc ${2}/proc
sudo mount -t sysfs /sys ${2}/sys
sudo mount -o bind /dev ${2}/dev
sudo chroot ${2}
} f
unction umnt() {
echo "UNMOUNTING"
sudo umount ${2}/proc
sudo umount ${2}/sys
sudo umount ${2}/dev
} i
f [ "$1" == "-m" ] && [ -n "$2" ] ;
then
mnt $1 $2
elif [ "$1" == "-u" ] && [ -n "$2" ];
then
umnt $1 $2
else
echo ""
echo "Either 1'st, 2'nd or both parameters were missing"
echo ""
echo "1'st parameter can be one of these: -m(mount) OR -u(umount)"
echo "2'nd parameter is the full path of rootfs directory(with trailing '/')"
echo ""
echo "For example: ch-mount -m /media/sdcard/"
echo ""
echo 1st parameter : ${1}
echo 2nd parameter : ${2}
fi

添加权限进入

1
2
sudo chmod +x rootfs-mount.sh
sudo bash rootfs-mount.sh -m temp
1
2
apt-get update
apt upgrade

预制自己需要的功能

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
root@filex-virtual-machine:/# apt install vim
root@filex-virtual-machine:/# apt install git
apt-get install ssh
apt-get install ethtool
apt-get install rsyslog
apt-get install bash-completion
apt-get install htop
apt-get install net-tools
apt-get install wireless-tools
apt-get install network-manager
apt-get install iputils-ping
--------下面建议必须装---------
apt-get install vim
#语言包
apt-get install locales
dpkg-reconfigure locales
#这个必须要否则无法生成/etc/network/interfaces配网文件
apt-get install ifupdown
#ping
apt-get install inetutils-ping
#串口
apt-get install cutecom
#录音
apt-get install audacity
#摄像头
apt-get install v4l-utils
apt-get install cheese
#浏览器
apt-get install chromium-browser
wifi
apt-get install wpasupplicant

安装界面

1
apt-get install xubuntu-desktop

配置网络

1
2
3
4
5
6
7
8
9
vim /etc/network/interfaces
source-directory /etc/network/interfaces.d
#以太网
auto eth0
iface eth0 inet dhcp
#wifi
auto wlan0
iface wlan0 inet dhcp
wpa-conf /etc/wpa_config.conf
1
2
3
vim /etc/resolv.conf
nameserver 8.8.8.8
nameserver 114.114.114.114

添加用户及设置密码

添加用户:

1
useradd -s '/bin/bash' -m -G adm,sudo taishan

给用户设置密码:

1
passwd taishan

给root用户设置密码:

1
passwd root

修改完自己的根文件系统就可以退出了。