VRAMS Rock960c RK3399開發(fā)板u-boot編譯踩坑指南
最近買了一塊VRAMS Rock960c RK3399開發(fā)板,上面是采用lpddr4內(nèi)存的,應(yīng)該是復(fù)刻板,原版貌似只有l(wèi)pddr3的。
打算學(xué)習(xí)一下u-boot編譯,以下是踩坑記錄。
素材是主線的u-boot源碼
用來交叉編譯的機(jī)器是采用英特爾z8350 cpu的平板電腦,4g內(nèi)存。主要是考慮到它支持64位指令集,而且價格便宜。建議別在rk3399上面本地編譯,坑太多,我水平有限,很多依賴解決不了。英特爾低價的處理器就能一馬平川編譯出來,為啥不用?
直接在平板上裝上ubuntu 22.04lts,內(nèi)核也自己升級到最新的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
這里有這塊開發(fā)板的u-boot編譯流程,大體方法沒錯,不過有些細(xì)節(jié)有坑。
ubuntu 22.04lts下面,設(shè)置好清華的源,然后:
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,教程網(wǎng)上找
安裝pip3,安裝以下兩個工具
pip3 install pyethtools setuptools
安裝以上一系列依賴吧,可能有遺漏,不過多少能減輕各位踩坑的數(shù)目
主線u-boot源碼有幾個地方要修改才能在我這個開發(fā)板跑起來。
.config文件需要進(jìn)行如下設(shè)置:
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,默認(rèn)是lpddr3的。
其他的話就按照以下連接教程即可:
https://github.com/u-boot/u-boot/tree/master/board/vamrs/rock960_rk3399
完畢。