正点原子rk3588编译sdk

1、编译SDK

1.1 安装 RK3588 Linux SDK

.repo/repo/repo sync -l -j10

在这里插入图片描述

1.2 SDK 工程目录介绍

app:存放上层应用 app,包括 Qt 应用程序,以及其它的 C/C++应用程序。
buildroot:基于 buildroot 开发的根文件系统。
debian:基于 Debian 开发的根文件系统。
device/rockchip:存放各芯片板级配置文件和 Parameter 分区表文件,以及一些编译与
打包固件的脚本和预备文件。
docs:存放芯片模块开发指导文档、平台支持列表、芯片平台相关文档、Linux 开发指
南等。
external:存放所需的第三方库,包括音频、视频、网络、recovery 等。
kernel:Linux 5.10 版本内核源码。
prebuilts:存放交叉编译工具链。
rkbin:存放 Rockchip 相关的 Binary 和工具。
rockdev:存放编译输出固件,编译 SDK 后才会生成该文件夹。
tools:存放 Linux 和 Windows 操作系统环境下常用的工具,包括镜像烧录工具、SD 卡升级启动制作工具、批量烧录工具等,譬如前面介绍的 RKDevTool 工具以及Linux_Upgrade_Tool 工具都存放在该目录。
u-boot:基于 v2017.09 版本进行开发的 uboot 源码。
yocto:基于 Yocto 开发的根文件系统。

1.3 全自动编译

指定板级配置文件

./build.sh alientek_rk3588_defconfig

在这里插入图片描述

1.3.1 编译整个sdk

./build.sh all

在这里插入图片描述
提示lz4: command not found
在这里插入图片描述

sudo apt  install liblz4-tool

在这里插入图片描述
再次报错,提示我的lz4版本太老
在这里插入图片描述

git clone https://github.com/lz4/lz4.git --depth 1 -b v1.9.4
cd lz4
sudo make install -j8

在这里插入图片描述
报错:Your gmp headers are missing
Your mpc headers are missing
Your unbuffer is missing

sudo apt-get install libgmp-dev
sudo apt-get install libmpc-dev
sudo apt-get install expect expect-dev

1.3.2 单独编译 U-Boot

./build.sh uboot

在这里插入图片描述

1.3.3 单独编译 Linux 内核

./build.sh kernel # 编译内核

在这里插入图片描述
单独编译 Linux 内核模块:

./build.sh modules

在这里插入图片描述

1.3.4单独编译 rootfs

./build.sh buildroot

在这里插入图片描述

1.3.5 单独编译 recovery

./build.sh recovery

在这里插入图片描述

2、查看系统分区情况:

parted -l

在这里插入图片描述

3、进入 Uboot 命令行模式:

“Hit key to stop autoboot(‘CTRL+C’):”倒计时提示,倒计时结束之前按下
“CTRL+C”组合键就会进入 Uboot 命令行模式。

在这里插入图片描述
按reset进入系统:
在这里插入图片描述

4、U-Boot 开发

4.1 编译

在 U-Boot 源码目录下执行如下命令编译 U-Boot(SDK_PATH 指的是 SDK 根目录,需修改
为您的 SDK 根目录,使用绝对路径)
在这里插入图片描述

./make.sh CROSS_COMPILE=/home/johan/share/rk3588/linux_sdk/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- rk3588

在这里插入图片描述
在这里插入图片描述

4.2 Uboot的配置:

make rk3588_defconfig //选择配置文件
make menuconfig //打开图形化配置界面

在这里插入图片描述

在这里插入图片描述
保存配置:

make savedefconfig //把配置信息保存到 defconfig 文件中
cp defconfig configs/rk3588_defconfig //用 defconfig 文件替换 rk3588_defconfig

在这里插入图片描述

5、kernel 开发

5.1 编译

./make.sh board=ATK_DLRK3588

在这里插入图片描述
编译完成后,会生成内核镜像 Image、资源镜像 resource.img 以及内核 DTB。
在这里插入图片描述

它们并不单独烧录,会被打包成 boot.img(正常启动时加载)以及recovery.img(进入 recovery 模式时加载)。执行如下命令生成 boot.img:

# 生成 boot.img
RK_KERNEL_DTB=arch/arm64/boot/dts/rockchip/rk3588-atk-devkit.dtb \
../device/rockchip/common/scripts/mk-fitimage.sh boot.img boot.its arch/arm64/boot/Image

在这里插入图片描述

5.2 kernel 的配置:

make ARCH=arm64 rockchip_linux_defconfig //加载配置文件
make ARCH=arm64 menuconfig //打开图形化配置界面

在这里插入图片描述
在这里插入图片描述
保存配置:

make ARCH=arm64 savedefconfig
cp defconfig arch/arm64/configs/rockchip_linux_defconfig

在这里插入图片描述

  • 15
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在RK3588平台上进行Android SDK编译,你可以按照以下步骤进行操作: 1. 首先,获取RK3588的Android源代码。你可以从Rockchip官方的开发者网站或者其他可靠的来源获取到源代码。 2. 安装所需的编译工具链。RK3588平台使用ARM架构,因此你需要安装相应的ARM交叉编译工具链。你可以从ARM官方网站下载并安装适用于你的操作系统的工具链。 3. 设置环境变量。将编译工具链的路径添加到系统的环境变量中,以便能够在终端中直接使用交叉编译工具。 4. 进入Android源代码目录,并运行以下命令初始化编译环境: ``` source build/envsetup.sh ``` 5. 选择要编译的目标设备。RK3588平台有多个设备配置文件可供选择,你可以使用以下命令选择其中一个: ``` lunch ``` 6. 配置编译选项。你可以通过运行以下命令来配置编译选项: ``` make menuconfig ``` 在这个菜单中,你可以选择要编译的模块、启用或禁用特定功能等。 7. 开始编译。运行以下命令开始编译Android SDK: ``` make -j4 ``` 这里的`-j4`表示使用4个线程进行编译,你可以根据你的系统配置进行调整。 8. 等待编译完成。编译过程可能需要一些时间,具体时间取决于你的系统性能和编译选项。 9. 编译完成后,在输出目录中可以找到生成的Android SDK镜像文件。你可以把这个镜像烧录到RK3588设备上进行测试和使用。 请注意,以上步骤仅提供了一个大致的编译流程,具体步骤可能因为不同的Android源代码版本和开发环境而有所差异。在实际操作中,你可能需要参考更详细的文档或向相关的开发者社区寻求帮助。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秃秃秃秃哇

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值