|
本帖最后由 webkn 于 2025-4-22 15:53 编辑
TTL启动显示信息如下:
GXM:BL1:dc8b51:76f1a5;FEAT:BDFC31BC:0 OC:3;RCY:0;EMMC:0;READ:0;0.0;CHK:0;
TE: 330205
BL2 Built : 11:58:42, May 27 2017.
gxl gc3c9a84 - xiaobo.gu@droid05
set vdd cpu_a to 1120 mv
set vdd cpu_b to 1050 mv
set vddee to 1000 mv
Board ID = 4
CPU clk: 1200MHz
DQS-corr enabled
DDR scramble enabled
DDR3 chl: Rank0+1 @ 912MHz
Rank0: 1024MB-2T-13
Rank1: 1024MB-2T-13
DataBus test pass!
AddrBus test pass!
-s
Load fip header from eMMC, src: 0x0000c200, des: 0x01400000, size: 0x00004000
aml log : R2048 check pass!
New fip structure!
Load bl30 from eMMC, src: 0x00010200, des: 0x01700000, size: 0x0000d600
aml log : R2048 check pass!
Load bl31 from eMMC, src: 0x00020200, des: 0x01700000, size: 0x0002c600
aml log : R2048 check pass!
Load bl33 from eMMC, src: 0x00050200, des: 0x01700000, size: 0x00065400
aml log : R2048 check pass!
NOTICE: BL3-1: v1.0(release):a625749
NOTICE: BL3-1: Built : 11:25:15, Aug 25 2017
NOTICE: BL31: BL33 decompress pass
mpu_config_enable k
[Image: gxl_v1.1.3243-377db0f 2017-09-07 11:28:58 qiufang.dai@droid07]
OPS=0x82
wdt: reset registers!
45 bd f8 25 da e1 13 21 77 3a b5 16 [0.985789 Inits done]
secure task start!
high task start!
low task start!
ERROR: Error initializing runtime service opteed_fast
U-Boot 2015.01-dirty (Dec 22 2017 - 10:20:14)
DRAM: 2 GiB
Relocation Offset is: 76eb8000
register usb cfg[0][1] = 0000000077f5b690
[CANVAS]canvas init
vpu: error: vpu: check dts: FDT_ERR_BADMAGIC, load default parameters
vpu: clk_level = 7
vpu: set clk: 666667000Hz, readback: 666660000Hz(0x300)
vpu: vpu_clk_gate_init_off
vpp: vpp_init
boot_device_flag : 1
Nand PHY Ver:1.01.001.0006 (c) 2013 Amlogic Inc.
init bus_cycle=6, bus_timing=7, system=5.0ns
reset failed
get_chip_type and ret:fffffffe
get_chip_type and ret:fffffffe
chip detect failed and ret:fffffffe
nandphy_init failed and ret=0xfffffff1
MMC: aml_priv->desc_buf = 0x0000000073eb86b0
aml_priv->desc_buf = 0x0000000073eba9d0
SDIO Port B: 0, SDIO Port C: 1
emmc/sd response timeout, cmd8, status=0x1ff2800
emmc/sd response timeout, cmd55, status=0x1ff2800
init_part() 293: PART_TYPE_AML
[mmc_init] mmc init success
dtb magic 00000000
启动至此卡住,SD卡刷、U盘刷均不能,USB线刷不能发现设备
后再QQ群”二少“的帮助下,对主板1.8V的供电,从1.8V稳压芯片4VK4输出脚断开停掉emmc,USB线刷成功发现设备,再复位输出脚即可线刷emmc,
但是依然只能刷入”S912-斐讯T1-U盘引导包.img(带SECURE_BOOT_SET)“底包,
如果尝试刷入玩客云PRO底包”S912-章鱼星球-U盘引导包.img“会加载DDR失败,
如果使用CustomizationTool,把img前者DDR_ENC.USB、UBOOT_ENC.USB 加入img后者,img后者可以刷入成功,但是下次无法识别emmc上的数据无法引导,
暂时结论,一旦刷入带SECURE_BOOT_SET的img,CPU的会被刷入证书,或者理解为加密,
此后不用带SECURE_BOOT_SET的img将无法改写bl(至少无法改写bl2、bl31、bl32、bl33),
即便是使用混如”DDR_ENC.USB、UBOOT_ENC.USB“的img改写了bl,改写后的信息也无法被CPU识别。
- 下文为引用自从零开始移植最新版本(2023.10)主线Uboot到Orange Pi 3(全志H6) - 知乎
- 1、armv8-a 一般最先运行bl1阶段固件,也即是boot rom,这个一般固化在cpu的 rom里面,这是上电之后执行的第一段代码,主要是加载bl2阶段代码到iram执行
- 2、bl2阶段代码放在存储媒介,比如emmc中,由bl1负责 运行起来,因为bl1代码并未初始化DDR,所以加载到片内SRAM中执行,在这个阶段完成外部DDR的初始化,并加载bl31到DDR运行
- 3、bl31一般称为EL3 Service,属于runtime,负责切换non secure和secure两个世界环境,运行一些服务,比如PSCI,SCMI等,同时负责把bl32和bl33代码加载运行起来
- 4、bl32属于trusted OS,如果不需要这个或者硬件不支持,可以去掉bl32,这个是可选的
- bl33一般是bootlaoder,负责引导后面的操作系统内核
|
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?立即注册
×
|