1. 程式人生 > >RK-3399 U-boot編譯構建

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