• 【rk3568-linux】 rk3568x_linux-- 编译说明


    在这里插入图片描述

    开发环境

    • 开发环境:ubuntu18
    • 开发平台:rk3568x-Linux

    一、选择型号

    板级配置说明
    BoardConfig-rk3566-evb2-lp4x-v10-32bit.mk适用于 RK3566 EVB 搭配 LPDDR4 开发板,运行32位根文件系统
    BoardConfig-rk3566-evb2-lp4x-v10.mk适用于 RK3566 EVB 搭配 LPDDR4 开发板
    BoardConfig-rk3568-evb1-ddr4-v10-32bit.mk适用于 RK3568 EVB 搭配 LPDDR4 开发板,运行32位根文件系统
    BoardConfig-rk3568-evb1-ddr4-v10-spi-nor-64M.mk适用于 RK3568 EVB 搭配 DDR4/SPI NOR 开发板
    BoardConfig-rk3568-evb1-ddr4-v10.mk适用于 RK3568 EVB 搭配 DDR4 开发板
    BoardConfig-rk3568-nvr-spi-nand.mk适用于 RK3568 NVR 搭配SPI NAND 开发板
    BoardConfig-rk3568-nvr.mk适用于 RK3568 NVR 开发板
    BoardConfig-rk3568-uvc-evb1-ddr4-v10.mk适用于 RK3568 UVC 开发板
    BoardConfig.mk默认配置

    根据开发板型号,在SDK根目录执行 ./build.sh lunch ,选择对应的型号,在这里我选择的是 5

    qiuwenxiong@Avd-System-Builder:~/rockchip/rk3568x_linux$ ./build.sh lunch
    processing option: lunch
    
    You're building on Linux
    Lunch menu...pick a combo:
    
    0. default BoardConfig.mk
    1. BoardConfig-rk3566-evb2-lp4x-v10-32bit.mk
    2. BoardConfig-rk3566-evb2-lp4x-v10.mk
    3. BoardConfig-rk3568-evb1-ddr4-v10-32bit.mk
    4. BoardConfig-rk3568-evb1-ddr4-v10-spi-nor-64M.mk
    5. BoardConfig-rk3568-evb1-ddr4-v10.mk
    6. BoardConfig-rk3568-nvr-spi-nand.mk
    7. BoardConfig-rk3568-nvr.mk
    8. BoardConfig-rk3568-uvc-evb1-ddr4-v10.mk
    9. BoardConfig.mk
    Which would you like? [0]: 5
    switching to board: /home/qiuwenxiong/rockchip/rk3568x_linux/device/rockchip/rk356x/BoardConfig-rk3568-evb1-ddr4-v10.mk
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    二、全自动编译

    直接执行 ./build.sh 编译并且打包成固件

    ./build.sh all           # 只编译模块代码(u-Boot,kernel,Rootfs,Recovery)
                             # 需要再执行./mkfirmware.sh 进行固件打包
                             
    ./build.sh               # 在./build.sh all基础上
                             # 1. 增加固件打包 ./mkfirmware.sh
                             # 2. update.img打包
                             # 3. 复制rockdev目录下的固件到IMAGE/***_RELEASE_TEST/IMAGES目录
                             # 4. 保存各个模块的补丁到IMAGE/***_RELEASE_TEST/PATCHES目录
                             # 注:./build.sh 和 ./build.sh allsave 命令一样
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    三、IO电源选择

    根据硬件的实际IO电压来选择,我这里全部都是选择 3.3V

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

    在这里插入图片描述

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

    三、编译命令详解

    qiuwenxiong@Avd-System-Builder:~/rockchip/rk3568x_linux$ ./build.sh -help
    Usage: build.sh [OPTIONS]
    Available options:
    BoardConfig*.mk    -switch to specified board config
    lunch              -list current SDK boards and switch to specified board config
    uboot              -build uboot
    spl                -build spl
    loader             -build loader
    kernel             -build kernel
    modules            -build kernel modules
    toolchain          -build toolchain
    rootfs             -build default rootfs, currently build buildroot as default
    buildroot          -build buildroot rootfs
    ramboot            -build ramboot image
    multi-npu_boot     -build boot image for multi-npu board
    yocto              -build yocto rootfs
    debian             -build debian10 buster/x11 rootfs
    distro             -build debian10 buster/wayland rootfs
    pcba               -build pcba
    recovery           -build recovery
    all                -build uboot, kernel, rootfs, recovery image
    cleanall           -clean uboot, kernel, rootfs, recovery
    firmware           -pack all the image we need to boot up system
    updateimg          -pack update image
    otapackage         -pack ab update otapackage image (update_ota.img)
    sdpackage          -pack update sdcard package image (update_sdcard.img)
    save               -save images, patches, commands used to debug
    allsave            -build all & firmware & updateimg & save
    check              -check the environment of building
    info               -see the current board building information
    app/<pkg>          -build packages in the dir of app/*
    external/<pkg>     -build packages in the dir of external/*
    
    Default option is 'allsave'.
    
    • 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
    • 34

    五、各模块编译

    1、U-boot编译

    ./build.sh uboot
    
    • 1

    2、Kernel编译

    ./build.sh kernel
    
    • 1

    3、Recovery编译

    ./build.sh recovery
    
    • 1

    注:Recovery是非必需的功能,有些板级配置不会设置

  • 相关阅读:
    JDBC简介和快速入门
    软考高项--第一章项目整体管理
    springboot远程执行服务器指令
    chrome NET::ERR_CERT_INVALID 使用thisisunsafe 解决浏览器发生了什么
    Redis快速入门----------客户端使用
    无人值守的共享台球室:微信小程序实现自助服务
    如何控制方法的调用Timeout超时,并主动中断调用请求
    【GitLab私有仓库】在Linux上用Gitlab搭建自己的私有库并配置cpolar内网穿透
    hadoop大数据原理与应用------初识Hadoop数据集
    ESP8266-Arduino编程实例-MQ-5液化天然气传感器驱动
  • 原文地址:https://blog.csdn.net/weixin_44205779/article/details/121281883