欢迎光临散文网 会员登陆 & 注册

VRAMS Rock960c RK3399开发板u-boot编译踩坑指南

2023-03-03 18:01 作者:车科技2020  | 我要投稿

最近买了一块VRAMS Rock960c RK3399开发板,上面是采用lpddr4内存的,应该是复刻板,原版貌似只有lpddr3的。

打算学习一下u-boot编译,以下是踩坑记录。

素材是主线的u-boot源码

用来交叉编译的机器是采用英特尔z8350 cpu的平板电脑,4g内存。主要是考虑到它支持64位指令集,而且价格便宜。建议别在rk3399上面本地编译,坑太多,我水平有限,很多依赖解决不了。英特尔低价的处理器就能一马平川编译出来,为啥不用?

直接在平板上装上ubuntu 22.04lts,内核也自己升级到最新的6.2,这个不展开讲了。

git clone https://github.com/u-boot/u-boot

把u-boot源码下载到本地

https://github.com/u-boot/u-boot/tree/master/board/vamrs/rock960_rk3399

这里有这块开发板的u-boot编译流程,大体方法没错,不过有些细节有坑。

ubuntu 22.04lts下面,设置好清华的源,然后:

apt update

apt upgrade

apt-get build-essential install u-boot-tools libssl-dev swig make bison flex libssl-dev git nano htop libffi-dev python-software-properties software-properties-common -y 

安装python3.9.9,教程网上找

安装pip3,安装以下两个工具

pip3 install pyethtools setuptools

安装以上一系列依赖吧,可能有遗漏,不过多少能减轻各位踩坑的数目

主线u-boot源码有几个地方要修改才能在我这个开发板跑起来。

.config文件需要进行如下设置:

ATF_LOAD_IMAGE_V2=y

CONFIG_SYS_MMC_ENV_DEV=0

CONFIG_SYS_MMC_ENV_PART=3

此外,还需要在make menuconfig的device driver里面选择lpddr4的支持

还要修改下面文件:

cd /home/rock/u-boot/arch/arm/dts

nano rk3399-rock960-u-boot.dtsi

开头的include文件名改为“rk3399-sdram-lpddr4-100”保存才能支持lpddr4,默认是lpddr3的。

其他的话就按照以下连接教程即可:

https://github.com/u-boot/u-boot/tree/master/board/vamrs/rock960_rk3399

完毕。


VRAMS Rock960c RK3399开发板u-boot编译踩坑指南的评论 (共 条)

分享到微博请遵守国家法律