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的分步操作。

获取源和预构建二进制文件

> mkdir~ / evb_rk3399
  > cd~ / evb_rk3399
  > git clone https://github.com/ARM-software/arm-trusted-firmware.git
  > git clone https://github.com/rockchip-linux/rkbin.git
  > git clone https://github.com/rockchip-linux/rkdeveloptool.git

编译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

您应该能够在控制台/ UART2中获得U-Boot日志(baurdrate 1500000)
有关更多详细信息,请参阅:
http://opensource.rock-chips.com/wiki_Boot_option

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值