RK3576开发环境搭建

一、开发环境

使用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.imgu-boot镜像,硬件初始化,设备探测和准备
misc.img启动辅助数据
boot.img包含bootloader和内核
recovery.img用于设备恢复模式
oem.omgOEM特定的数据和程序
rootfs.img根文件系统
userdata.img用户数据
  • 注:关于uboot和boot
    uboot负责的最基础的硬件初始化和设备探测,包括对内存控制器和存储设备的初步探测
    boot主要负责内核加载和系统的初步配置

五、调试

使用usb转串口线连接debug口

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值