RK3576开发环境搭建

文章目录

  • 一、开发环境
      • 如何获取Linux源码的版本号
  • 二、获取源码
  • 三、SDK编译
    • (一)板级配置
    • (二)更改和保存配置
    • (三)全自动编译
      • 1. 编译完整升级包
      • 2. 只编译模块代码
  • 四、刷机
  • 五、调试

一、开发环境

使用ubuntu 22.04版本

  • 注:可以通过 lsb_release -a 命令查看

如何获取Linux源码的版本号

打开源码顶层目录的Makefile文件
文件开头会有以下信息

VERSION = x					--- 主版本号
PATCHLEVEL = y				--- 次版本号
SUBLEVEL = z				--- 子版本号
EXTRAVERSION = 				--- 额外版本信息,通常用于标识补丁版本或特定的构建

因此内核版本号就是 x.y.z

二、获取源码

获取到源码压缩包后,首先进行解压缩

mkdir rk3576
tar -xvf xxx.tgz -C rk3576

此时解压缩完成后的文件都是隐藏文件,是没有源码的,ls查看时是空文件,需要执行以下命令检出源码

.repo/repo/repo sync -l

执行完上述步骤后,文件中就有以下内容

docs 	--- 文档资料
tools 	--- 开发工具
buildroot  	--- 基于buildroot开发的根文件系统
yocto 		--- 根文件系统
debian 		--- 基于debian开发的根文件系统    
prebuilts 	--- 交叉编译工具
u-boot 		--- u-boot代码     
external 	--- 第三方相关库
kernel  --- kernel源码目录
device --- 存放板级配置以及SDK编译和打包固件的脚本
rkbin  --- Rockchip相关二进制工具 
app --- 存放上层应用APP  
Makefile   
envsetup.sh  
build.sh    
rkflash.sh  

之后继续执行以下命令,进行同步更新

.repo/repo/repo sync -c

更新之后,清除原有的编译文件,以防止出现兼容性错误

./build.sh cleanall

三、SDK编译

(一)板级配置

make lunch 
或
./build.sh lunch

根据开发板选择对应的配置

配置文件路径

device/rockchip/.chips/rk3576/rockchip_xxx_defconfig

(二)更改和保存配置

通过 make menuconfig 进行相关配置

使用 make savedefconfig 命令保存这些配置

(三)全自动编译

1. 编译完整升级包

./build.sh

完成这些模块代码的编译之后,会自动将编译好的内容进一步打包成一个名为 update.img 的完整升级包

  • 注:默认是buildroot,可以通过环境变量去指定其他根文件系统

2. 只编译模块代码

./build.sh all

执行完该命令之后,还需要再执行固件打包命令

./build.sh firmware

执行下述命令,生成新的update.img

./build.sh updateimg

之后可以在源码顶层目录下的rockdev目录中找到所有镜像文件的连接文件

四、刷机

作用
MiniLoaderAll.bin 硬件初始化,加载下一级引导程序
parameter 启动参数(分区信息和设备树)
uboot.img u-boot镜像,硬件初始化,设备探测和准备
misc.img 启动辅助数据
boot.img 包含bootloader和内核
recovery.img 用于设备恢复模式
oem.omg OEM特定的数据和程序
rootfs.img 根文件系统
userdata.img 用户数据
  • 注:关于uboot和boot
    uboot负责的最基础的硬件初始化和设备探测,包括对内存控制器和存储设备的初步探测
    boot主要负责内核加载和系统的初步配置

五、调试

使用usb转串口线连接debug口

串口配置:
波特率设置为1500000
8N1

你可能感兴趣的:(RK3576,系统移植)