当前位置: 首页 > news >正文

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

概述

  • 一个好的安装教程能够帮助开发者完成更便捷、更快速的开发。
  • 书山有路勤为径,学海无涯苦作舟。我是秋知叶i、期望每一个阅读了我的文章的开发者都能够有所成长。

开发环境

开发环境:ubuntu18

文章目录

  • 概述
  • 开发环境
  • 一、选择型号
  • 二、全自动编译
  • 三、IO电源选择
  • 三、编译命令详解
  • 五、各模块编译
    • 1、U-boot编译
    • 2、Kernel编译
    • 3、Recovery编译

一、选择型号

板级配置说明
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: lunchYou'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

二、全自动编译

直接执行 ./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 命令一样

三、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、U-boot编译

./build.sh uboot

2、Kernel编译

./build.sh kernel

3、Recovery编译

./build.sh recovery

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

http://www.lryc.cn/news/205032.html

相关文章:

  • 模拟计算器编程教程,中文编程开发语言工具编程实例
  • Spring Security漏洞防护—HTTP 安全响应头
  • Plooks大型视频在线一起看网站源码
  • 图像处理中底层、高层特征、上下文信息理解
  • 负载均衡的算法(静态算法与动态算法)
  • mac安装jdk
  • WIN11+OPENCV4.8 编译及下载失败处理方法
  • 万宾科技智能井盖传感器怎么使用?
  • Server Name Indication(SNI),HTTP/TLS握手过程解析
  • react项目实现文件预览,比如PDF、txt、word、Excel、ppt等常见文件(腾讯云cos)
  • ES SearchAPI----Query DSL语言
  • 【STM32】HAL库——串口中断只接收到两个字符
  • 页面html结构导出为word或pdf
  • Object.prototype.toString.call() 和 instanceOf 和 Array.isArray() 详解
  • 自学(黑客技术)方法——网络安全
  • CVE-2023-46227 Apache inlong JDBC URL反序列化漏洞
  • MySQL几种方法的数据库备份
  • CI/CD:GitLab-CI 自动化集成/部署 JAVA微服务的应用合集
  • Flask 上传文件,requests通过接口上传文件
  • kvm webvirtcloud 如何添加直通物理机的 USB 启动U盘
  • html- a标签包裹img标签, 点击图片无法跳转问题记录及解决方法
  • Halcon转OpenCV实例--保险丝颜色识别(附源码)
  • 制造业中的微小缺陷检测——应用场景分析与算法选择(YoloV8/CANet)
  • 支持多校 微信课表小程序源码 排课小程序源码 支持导入课表 情侣课表 背景设置
  • 谷歌计划从Chrome119起测试IP隐私保护功能
  • 【技能树笔记】网络篇——练习题解析(九)
  • c++ qt连接操作sqlite
  • Qt之自定义QStringListModel设置背景色和前景色
  • 人工智能基础_机器学习001_线性回归_多元线性回归_最优解_基本概念_有监督机器学习_jupyter notebook---人工智能工作笔记0040
  • Linux 错误处理(字符设备基础三)