0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

RK3588 SDK入门之编译使用篇

眺望电子 2024-11-22 01:07 次阅读


前言:

在上一篇文章中,我们已经配置好了Ubuntu虚拟机。本期将重点介绍如何Ubuntu虚拟机中使用RK3588的SDK。具体内容包括SDK的下载与安装、环境变量的配置、以及编译调试的步骤和注意事项。通过这篇文章,你将能够快速掌握在虚拟机中高效使用RK3588 SDK的关键技巧,为后续的开发工作打下坚实基础。

138a47ba-a82b-11ef-8084-92fbcf53809c.jpg

图1 EVM-RK3588 评估板外观(正面)

一、编译环境

1.1编译环境注意事项

如无特别说明,本文档所有操作均基于1.2节硬件、软件环境下完成。本文档操作不需要使用 root 用户,配置编译环境安装软件使用 sudo 即可。在 ubuntu18.04下,将 android 源码拷贝、下载到当前用户目录下,拷贝、下载、解压、编译源码均在普通用户下执行。请勿使用 root 用户或者 sudo 命令拷贝、下载、解压、编译源码,否则可能会导致编译出错。特别说明:不能放在虚拟机的共享文件夹中编译!!!

1.2编译环境要求
SDK 开发环境是在 Ubuntu 系统上开发与测试。我们推荐使用 Ubuntu18.04 的系统进行编译。其他的 Linux 版本可能需要对软件包做相应调整。
硬件要求:64 位系统,硬盘空间大于50G。如果您进行多个构建,将需要更大的硬盘空间。
软件要求:Ubuntu 18.04 系统
1.3编译环境配置
编译 SDK 环境搭建所依赖的软件包安装命令下:

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++-multilibunzip \device-tree-compiler python-pip ncurses-dev pyelftools \

建议使用 Ubuntu18.04 系统或更高版本开发,若编译遇到报错,可以视报错信息,安装对应的软件包。

二、源码获取与解压

2.1源码获取

源码通常由我司相关人员发布在网盘,百度网盘发布的还包括使用文档、镜像、工具等,网盘上的源码包是基础包,后续将持续更新(若需要请联系我司)。将源码拷贝到 ubuntu 18.04 当前登录用户目录或新建 sdk 目录下。

2.2源码解压

执行解压命令:

$ tar -xvf sdk/ talowe-evmrk3588-linux-**.tar.gz # 解压

解压完成后进入 sdk 后可以看到:

13a5f9f6-a82b-11ef-8084-92fbcf53809c.png

图2-1-sdk 目录下的文件


sdk 目录说明:

SDK├──app:#存放上层应用 APP,主要是 qcamera/qfm/qplayer/qseting 等一些应用程序。├──buildroot:#基于 Buildroot(2018.02-rc3)开发的根文件系统。├──debian:#基于 debian 10 开发的根文件系统,支持部分芯片。├──device/rockchip:#存放各芯片板级配置以及一些编译和打包固件的脚本和预备文件。├──docs:#存放开发指导文件、平台支持列表、工具使用文档、Linux 开发指南等。├──IMAGE:#存放每次生成编译时间、XML、补丁和固件目录。├──external:#存放第三方相关仓库,包括音频视频网络、recovery 等。├──kernel:#存放 Kernel 4.19 开发的代码。├──linux_rootfs:#用于存放 Linux 根文件系统(Root File System)的相关文件和配置├──lz4:#用于存放与 LZ4 压缩算法相关的文件和工具。├──prebuilts:#存放交叉编译工具链。├──recovery:#用于存放恢复系统用的恢复环境文件。├──rkbin:#存放 Rockchip 相关 Binary 和工具。├──rockdev:#存放编译输出固件。├──tools:#存放 Linux 和 Window 操作系统下常用工具。├──u-boot:#存放基于 v2017.09 版本进行开发的 U-Boot 代码。└──uefi:#存放与 Unified Extensible Firmware Interface (统一可扩展固件接口,简称 UEFI)相关的文件和工具。

三、Buildroot (Linux)系统编译无论最后要使用什么系统,都请先全局编译一次 buildroot,之后再进行其他系统的编译,以避免出现需要某个依赖的工具找不到的情况。以下操作,若无特殊说明,均在 SDK 根目录下进行。

3.1全局编译
环境资源配置,再 SDK 目录下输入 source envsetup.sh,选择 11 :

13bbd154-a82b-11ef-8084-92fbcf53809c.png

图3-1-选择环境组合

选择完成后,进行首次编译,执行全局编译,命令如下:

$ ./build.sh # 全局编译,编译 uboot、kernel、recovery

编译成功后将会在 sdk/linux/rockdev/目录下生成如下镜像文件。

$ ls rockdev/ #查看该目录下的文件

MiniLoaderAll.bin #引导 uboot、检测启动方式parameter.txt #系统分区表、内核传参uboot.img #引导系统分区trust.img #ARM TrustZone 特性分区misc.img #记录 recovery 升级信息boot.img #内核、设备树、logo 分区
recovery.img #恢复还原分区rootfs.img #根文件系统分区oem.img #存放 OEM 资源分区update-***.img #带日期后缀的完整固件 用于整包烧写

至此全局编译完成,可使用上述生成的整包固件烧写到板子内为板子添加系统。
在实际的SDK运用中还会使用到单独编译uboot、kernal、buildroot等等操作,下面向大家简单介绍一下相关操作。
3.2单独编译uboot
执行命令:

./build.sh u-boot

生成镜像路径:u-boot/
生成镜像:uboot.img、trust.img 等
3.3单独编译kernal
执行命令:

./build.sh kernel

生成镜像路径:rockdev/
生成镜像:boot.img
3.4单独编译buildroot
编译完 buildroot 完成后会自动编译 rootfs

./build.sh buildroot

生成镜像路径:rockdev/
生成镜像:rootfs.img
3.5单独编译recovery

./build.sh recovery

3.6单独编译buildroot应用
sdk 可以单独编译 buildroot 的单个应用设置单个模块,比如单独编译QFacialGate 应用.。

$ make qcamera -dirclean && make qcamera -rebuild -j8

单独编译 rkwifibt

$ make rkwifibt-dirclean && make rkwifibt-rebuild -j8

四、使用完结

通过本篇内容,主要是向大家展示RK3588的SDK相关编译过程,在编译过程中,若是遇到一些错误,可以跟我们技术支持取得联系获取解决方案。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 编译
    +关注

    关注

    0

    文章

    663

    浏览量

    33111
  • SDK
    SDK
    +关注

    关注

    3

    文章

    1048

    浏览量

    46413
  • RK3588
    +关注

    关注

    7

    文章

    355

    浏览量

    4661
收藏 人收藏

    相关推荐

    瑞芯微RK3588开发板RK3588 EVB和RK3588S EVB解读

    瑞芯微RK3588开发板RK3588 EVB和RK3588S EVB解读 瑞芯微旗舰芯RK3588系列开发板受到广大开发者伙伴的关注和问询。针对相关的开发板功能、操作指南等问题,我们一
    的头像 发表于 09-22 15:54 1.8w次阅读
    瑞芯微<b class='flag-5'>RK3588</b>开发板<b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解读

    RK3588编解码盒子RTL8211FS-CG光口调试

    本文是基于RK3588平台,SDK版本:RK3588_ANDROID12.0 RTL8211FS-CG光口调试总结。
    的头像 发表于 06-10 09:00 2879次阅读
    <b class='flag-5'>RK3588</b>编解码盒子<b class='flag-5'>之</b>RTL8211FS-CG光口调试

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSILCD上电初始化时序

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSILCD上电初始化时序
    的头像 发表于 06-10 10:32 5235次阅读

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSI屏参配置

    RK3588-MIPI屏幕调试笔记:RK3588-MIPI-DSI屏参配置
    的头像 发表于 06-10 10:36 2527次阅读
    <b class='flag-5'>RK3588</b>-MIPI屏幕调试笔记:<b class='flag-5'>RK3588</b>-MIPI-DSI<b class='flag-5'>之</b>屏参配置

    基于 RK3588 debian 搭建 RK3588 Kernel 编译环境

    ARCH=arm64 rk3588-xxx.img -j16二、分布式编译环境1、安装 C/C++ 分布式编译工具apt install distcc distccmon-gnome2、修改服务器端
    发表于 03-22 16:28

    介绍一种RK3588 Android SDK编译方法的使用

    Rockchip RK3588 Android SDK在原始Android的编译方式的基础上封装了一个编译脚本build.sh,用来简化编译
    发表于 05-23 14:27

    RK3588 SDK编译与固件烧写步骤

    ; make ARCH=arm64 rk3588sevb1-lp4x-v10.img -j24  单独编译uboot  $ 。/make.sh rk3588  2、固件烧写  升级工具
    发表于 08-31 17:45

    RK3588 Android 12.0 SDK编译步骤分享

    ;#036; lunch rk3588_s-userdebug$ ./build.sh-AUCKu -d rk3588sevb1-lp4x-v10单独编译内核$
    发表于 09-20 17:11

    怎样去解决RK3588编译kernel的问题呢

    : *** [rk3588-firefly-itx-3588j.img] Error 2附wiki编译方法Core-3588J 产品编译方法整体编译
    发表于 10-14 15:18

    ITX 3588J源代码RK356X/RK3588 RKNN SDK

    电子发烧友网站提供《ITX 3588J源代码RK356X/RK3588 RKNN SDK.txt》资料免费下载
    发表于 09-21 15:32 20次下载
    ITX <b class='flag-5'>3588</b>J源代码<b class='flag-5'>RK</b>356X/<b class='flag-5'>RK3588</b> RKNN <b class='flag-5'>SDK</b>

    ROC RK3588S PC源代码RK356X/RK3588 RKNN SDK

    电子发烧友网站提供《ROC RK3588S PC源代码RK356X/RK3588 RKNN SDK.txt》资料免费下载
    发表于 09-20 17:45 40次下载
    ROC <b class='flag-5'>RK3588</b>S PC源代码<b class='flag-5'>RK</b>356X/<b class='flag-5'>RK3588</b> RKNN <b class='flag-5'>SDK</b>

    ROC RK3568 PC源代码RK3568/RK3588 RKNN SDK

    电子发烧友网站提供《ROC RK3568 PC源代码RK3568/RK3588 RKNN SDK.txt》资料免费下载
    发表于 09-20 09:55 41次下载
    ROC <b class='flag-5'>RK</b>3568 PC源代码<b class='flag-5'>RK</b>3568/<b class='flag-5'>RK3588</b> RKNN <b class='flag-5'>SDK</b>

    ROC RK3566 PC源代码RK356X/RK3588 RKNN SDK

    电子发烧友网站提供《ROC RK3566 PC源代码RK356X/RK3588 RKNN SDK.txt》资料免费下载
    发表于 09-21 14:57 8次下载
    ROC <b class='flag-5'>RK</b>3566 PC源代码<b class='flag-5'>RK</b>356X/<b class='flag-5'>RK3588</b> RKNN <b class='flag-5'>SDK</b>

    AIO 3568J源代码RK356X/RK3588 RKNN SDK

    电子发烧友网站提供《AIO 3568J源代码RK356X/RK3588 RKNN SDK.txt》资料免费下载
    发表于 09-21 11:00 7次下载
    AIO 3568J源代码<b class='flag-5'>RK</b>356X/<b class='flag-5'>RK3588</b> RKNN <b class='flag-5'>SDK</b>

    rk3588rk3588s的区别

    rk3588rk3588s的区别 Rockchip是一家专业的半导体公司,成立于2001年,总部位于中国深圳,主要从事集成电路的设计、开发和销售。他们的热门产品RK3588RK3588
    的头像 发表于 08-15 16:44 1.5w次阅读