RK-3399 U-boot編譯構建
介紹
RK3399我們可能在U-Boot中使用的主要功能:
- CPU:ARMv8 64位Big-Little架構, *大:雙核Cortex-A72
- Little:四核Cortex-A53
- IRAM:200KB
- DRAM:4GB-128MB雙通道
- eMMC:支援eMMC 5.0 / 5.1,支援HS400,HS200,DDR50
- SD / MMC:支援SD 3.0,MMC 4.51
- USB:帶有dwc3控制器的USB3.0 typc-C埠* 2
- USB2.0 EHCI主機埠* 2 *顯示:RGB / HDMI / DP / MIPI / EDP
evb主要特點: *調節器:用於CPU B / L的pwm調節器
- PMIC:rk808 *除錯控制檯:UART2
為了支援Arm Trust Firmware(ATF),我們可以使用SPL或 來自rockchip的miniloader: *做DRAM初始化 *載入並驗證ATF影象 *載入並驗證U-Boot映像
以下是在rk3399上引導至U-Boot的分步操作。
獲取源和預構建二進位制檔案
編譯ATF
> cd arm-trusted-firmware >使realclean > make CROSS_COMPILE = aarch64-linux-gnu-PLAT = rk3399 bl31
或者你可以直接從Rockchip獲得bl31.elf: cp rkbin / rk33 / rk3399_bl31_v1.00.elf …/u-boot/bl31.elf
在此步驟中獲取bl31.elf,將其複製到U-Boot根目錄: > cp bl31.elf …/u-boot/
編譯U-Boot
> cd …/u-boot >匯出ARCH = arm64 >匯出CROSS_COMPILE = aarch64-linux-gnu- > make evb-rk3399_defconfig 對於firefly-rk3399,請使用以下程式碼: > make firefly-rk3399_defconfig >製作 > make u-boot.itb
在此步驟中獲取spl / u-boot-spl.bin和u-boot.itb。
編譯rkdeveloptool
按照最新README中的說明進行操作 > cd …/rkdeveloptool > autoreconf -i > ./configure >製作 > sudo make install
在這個步驟中獲取rkdeveloptool。
原始二進位制檔案和工具現在都已準備好,選擇選項1或 選項2部署U-Boot。
打包影象
為U-Boot SPL打包映像(選項1)
> cd … > tools / mkimage -n rk3399 -T rksd -d spl / u-boot-spl.bin idbspl.img
在此步驟中獲取idbspl.img。
為Rockchip miniloader打包影象(選項2)
> cd … > cp arm-trusted-firmware / build / rk3399 / release / bl31.elf rkbin / rk33 > ./rkbin/tools/trust_merger rkbin / tools / RK3399TRUST.ini > ./rkbin/tools/loaderimage --pack --uboot u-boot / u-boot-dtb.bin uboot.img
在此步驟中獲取trust.img和uboot.img。
將影象快閃記憶體到eMMC
使用U-Boot SPL閃爍影象(選項1)
使用MASKROM KEY開啟電源(或使用RESET KEY復位),然後: > rkdeveloptool db rkbin / rk33 / rk3399_loader_v1.08.106.bin > rkdeveloptool wl 64 u-boot / idbspl.img > rkdeveloptool wl 0x4000 u-boot / u-boot.itb > rkdeveloptool rd
使用Rockchip miniloader閃爍影象(選項2)
使用MASKROM KEY開啟電源(或使用RESET KEY復位),然後: > rkdeveloptool db rkbin / rk33 / rk3399_loader_v1.08.106.bin > rkdeveloptool ul rkbin / rk33 / rk3399_loader_v1.08.106.bin > rkdeveloptool wl 0x4000 u-boot / uboot.img > rkdeveloptool wl 0x6000 u-boot / trust.img > rkdeveloptool rd