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

编译linux SDK

参考正点原子

编译环境是 ubuntu20.04。Linux 源码包是rk356x_linux_XXXXXXX.tar.gz。使用命令“ tar -vxf rk356x_linux_XXXXXXX.tar.gz解压,解压后会生成一个 rk356x_linux 文件夹。

1、编译 uboot
./build.sh uboot

编译成功生成

<SDK>/uboot/uboot.img
<SDK>/uboot/rk356x_spl_loader_v1.13.112.bin
 

2、编译 kernel
./build.sh kernel
编译成功生成<SDK>/kernel/boot.img

3、编译 Recovery

./build.sh recovery
编译成功生成rootfs.img,在目录下buildroot/output/rockchip_rk356x_recovery/images/

4、编译 rootfs

选择buildroot根文件系统

./build.sh buildroot

编译成功生成rootfs.img,在目录下
buildroot/output/rockchip_rk3568/images/
 

5、打包镜像

./build.sh firmware
将前面编译的镜像移动到 rockdev 目录下

./build.sh updateimg
将 rockdev 目录下的镜像打包 update.img 镜像

6、SDK 板级配置文件

板级配置文件位于目录<SDK>/device/rockchip/rk356x/。xxx.mk文件就是板级配置文件,.mk 文件其实是一个 sh 脚本文件,通过 export 导出一些环境变量。

7、uboot

U-Boot 源码在<SDK>/u-boot 目录
RK3568 的设备树文件是<U-Boot>/arch/arm/dts/rk3568-evb.dts,该设备树文件包
含了 rk3568.dtsi 和 rk3568-u-boot.dtsi。原生的 U-Boot 只支持 U-Boot 自己的 DTB, RK 平台在原生 U-Boot 基础上增加了 kernel DTB 机制的支持,即 U-Boot 会使用 kernel DTB 去初始化外设。U-Boot 设备树负责初始化存储、调试串口等基础外设;而 kernel 设备树初始化存储、调试
串口之外的外设,譬如 LCD 显示、 千兆网等。执行 U-Boot 代码时先用 U-Boot 的设备树完成存
储、调试串口的初始化操作,然后从存储上加载 kernel 的设备树并转而使用这份设备树继续初
始化其余外设。
MiniLoaderAll.bin由 rk356x_spl_loader_v1.13.112.bin 重命名而来。MiniLoaderAll.bin 由两部分构成: TPL(Tiny Program Loader) + SPL(Secondary Program Loader)构成。TPL 运行在 SRAM 中(片内内存), 由 rk3568 芯片内部所固化的 Maskrom(BootROM)代码引导启动;其作用是负责完成 DRAM 的初始化工作、并启动 SPL; SPL 运行在 DDR, SPL的作用是负责完成系统的 lowlevel 初始化、 完成 uboot.img 的加载和引导工作。

Linux 系统的镜像启动顺序为:
Maskrom → MiniLoaderAll.bin → uboot.img → boot.img → rootfs.img
还可以进行细分:
Maskrom → TPL(ddr bin) → SPL(miniloader) → Trust(ATF + OP-TEE) → u-boot → kernel → rootfs

U-Boot中, RK3568平台使用的defconfig配置文件为: <U-Boot>/configs/rk3568_defconfig
 

相关文章:

  • html网络安全工具源码 网络安全前端
  • 网络安全 逆向 apk 网络安全逆向分析
  • DeepSeek-学习与实践
  • 电容的温度系数分析
  • Qt中的MOC元对象系统内部原理介绍与开发应用
  • 【Git】初识Git 基础操作
  • DL/CV领域常见指标术语(FLOPS/mIoU/混淆矩阵/F1-measure)------一篇入门
  • C/C++流星雨
  • vue3 ref和reactive的区别
  • MOS管炸了,PWM“死区”时间得了解一下
  • 九联UNT403AS_晶晨S905L3S芯片_2+8G_安卓9.0_卡刷固件包
  • Python控制台信息记录全解析:从基础到生产级实践指南
  • 网络流量如何从公共互联网抵达Kubernetes容器 Pod?
  • 无法保存IP设置问题过程 - 心酸
  • PTA:使用指针方式求一个给定的m×n矩阵各行元素之和
  • VS2019+Mitk+cmake编译运行MitkWorkbench
  • Qt开发④Qt常用控件_上_QWdget属性+按钮类控件
  • el-button按钮的loading状态设置
  • android 定制mtp连接外设的设备名称
  • HarmonyOS全栈开发指南:从入门到精通,构建万物智联的未来生态(三)
  • 国台办:80年前台湾重归中国版图,80年后不可能让台湾分裂出去
  • 金价大跌!足金饰品每克一夜便宜14元,涨势是否已终结?
  • 寒武纪陈天石:公司的产品力获得了行业客户广泛认可,市场有望迎来新增量需求
  • 宜昌全域高质量发展:机制创新与产业重构的双向突围
  • 看展览|2025影像上海艺博会:市场与当代媒介中的摄影
  • 蔡达峰:推动食品安全法全面有效实施,为维护人民群众身体健康提供有力法治保障