......
[458]HELLO! BOOT0 is starting!
[461]BOOT0 commit : {a2135868}
[467]PMU: AXP8191
[468]pmu_chip_id = 14
[471]set pll start
[473]cpul clk 0xf8802700!
[476]cpub clk 0xf8802700!
[479]dsu clk 0xf8801e00!
[483]set pll end
[484]dram return write ok
[487]board init ok
[489]rtc[3] value = 0xb00f
[491]rtc[7] value = 0x1
[494]enable_jtag
[495]Driver version 0.0.9 2024.11.20 10:19
[515]Cal words efuse addr 0x60 value 0x915a0000, addr 0x64 value 0x4f1f8496
[573]Device up at:[574][RX, TX]: gear=[4, 4], lane[2, 2], pwr[FAST MODE, FAST MODE], rate = 2
[582]sc st 2
[583]Read blk size 4096,capacity 31240191
[587]DRAM BOOT DRIVE INFO: V0.581
[592]DRAM_VCC set to 560 mv
[595]DRAM CLK =1800 MHZ
[597]DRAM Type =9 (8:LPDDR4,9:LPDDR5)
[744]Training result is = 7
[747]DRAM Pstate 1 training, frequency is 1200 Mhz
[924]Training result is = 7
[927]DRAM Pstate 2 training, frequency is 800 Mhz
[1271]Training result is = 7
[1273]DRAM Pstate 3 training, frequency is 400 Mhz
[1376]Training result is = 7
[1379]DRAM Pstate 0 training, frequency is 1800 Mhz
[1388]Actual DRAM SIZE =6144 M
[1391]DRAM SIZE =6144 MBytes, para1 = a10a, para2 = 18001001, dram_tpr13 = 10065
[1406]DRAM simple test OK.
[1408]dram size = 6144
[1454]Loading boot-pkg Succeed(index=0).
[1458]Entry_name = u-boot
[1468]Entry_name = monitor
[1471]Entry_name = scp
[1474]error: dtb not found for scp
[1479]Jump to ATF: monitor_base = 0x48000000, uboot_base = 0x4a000000, optee_base = 0x0
NOTICE: BL31: OP-TEE 32bit detected
NOTICE: BL31: U-BOOT 32bit detected
NOTICE: BL31: v2.5(debug):b08f3ffb2
NOTICE: BL31: Built : 17:44:29, Nov 22 2024
NOTICE: hardware check error1
BACKTRACE: START: bl31_platform_setup
0: EL3: 0x48003c9c
1: EL3: 0x4800407c
2: EL3: 0x48003f78
3: EL3: 0x480001f0
BACKTRACE: END: bl31_platform_setup
PANIC in EL3.
x30 = 0x0000000048004088
x0 = 0x0000000002500000
x1 = 0x0000000000000060
x2 = 0x0000000000000060
x3 = 0x00000000ffffffc8
x4 = 0x0000000000000034
x5 = 0x0000000000000034
x6 = 0x0000000000000004
x7 = 0x0000000000000000
x8 = 0x000000023fffffff
x9 = 0x0000000048013000
x10 = 0x0000000000000000
x11 = 0x0000000000000000
x12 = 0x0000000000000000
x13 = 0x0000000000000000
x14 = 0x0000000000000000
x15 = 0x0000000000000000
x16 = 0x0000000000000000
x17 = 0x0000000000048c00
x18 = 0x0000000000000020
x19 = 0x000000004800f4b4
x20 = 0x0000000000000000
x21 = 0x0000000000001903
x22 = 0x0000000000000000
x23 = 0x0000000000000000
x24 = 0x0000000000000000
x25 = 0x0000000000000000
x26 = 0x0000000000000000
x27 = 0x0000000000000000
x28 = 0x0000000000000000
x29 = 0x00000000480142c0
scr_el3 = 0x0000000000000238
sctlr_el3 = 0x0000000030cd183f
cptr_el3 = 0x0000000000000000
tcr_el3 = 0x000000008081351e
daif = 0x00000000000002c0
mair_el3 = 0x00000000004404ff
spsr_el3 = 0x00000000000001cd
elr_el3 = 0x0000000000000000
ttbr0_el3 = 0x0000000048041081
esr_el3 = 0x00000000ef6cffff
far_el3 = 0x08888c7dffffffcc
spsr_el1 = 0x00000000000001cd
elr_el1 = 0x0000000000000000
spsr_abt = 0x00000000200e3d4d
spsr_und = 0x00000000128d3e4d
spsr_irq = 0x0000000002073c4d
spsr_fiq = 0x0000000002013c5d
sctlr_el1 = 0x0000000000c50838
actlr_el1 = 0x0000000000000000
cpacr_el1 = 0x0000000000000000
csselr_el1 = 0x0000000000000000
sp_el1 = 0x0000000000000000
esr_el1 = 0x00000000fffffdff
ttbr0_el1 = 0x0000c0fcf2fefff8
ttbr1_el1 = 0x0000ff5ced00c0a0
mair_el1 = 0x44e048e000098aa4
amair_el1 = 0x0000000000000000
tcr_el1 = 0x0000000000000000
tpidr_el1 = 0x807fff7ffcfffffb
tpidr_el0 = 0xff8cffff7ffffeff
tpidrro_el0 = 0xff4c18fffe66feff
par_el1 = 0xff00000048000980
mpidr_el1 = 0x0000000081000000
afsr0_el1 = 0x0000000000000000
afsr1_el1 = 0x0000000000000000
contextidr_el1 = 0x0000000000000000
vbar_el1 = 0x0000000000000000
cntp_ctl_el0 = 0x0000000000000000
cntp_cval_el0 = 0xff7f7fffffff7fff
cntv_ctl_el0 = 0x0000000000000000
cntv_cval_el0 = 0xffffff3fff3f7fff
cntkctl_el1 = 0x0000000000000000
sp_el0 = 0x00000000480142c0
isr_el1 = 0x0000000000000000
cpuectlr_el1 = 0x000000002808bc00
icc_hppir0_el1 = 0x00000000000003ff
icc_hppir1_el1 = 0x00000000000003ff
icc_ctlr_el3 = 0x0000000000028400
gicd_ispendr regs (Offsets 0x200-0x278)
Offset Value
0x200: 0x0000000000000000
0x208: 0x0000000000000000
0x210: 0x0000000000000000
0x218: 0x0000000000000000
0x220: 0x0000000000000000
0x228: 0x0000000000000000
0x230: 0x0000000000000000
0x238: 0x0000000000000000
0x240: 0x0000000000000000
0x248: 0x0000000000000000
0x250: 0x0000000000000000
0x258: 0x0000000000000000
0x260: 0x0000000000000000
0x268: 0x0000000000000000
0x270: 0x0000000000000000
0x278: 0x0000000000000000
换了一个正常的固件,只烧BOOTLOADER_A后能正常启动:
离线
out/a733/ag863109vcb/pack_out/sys_partition.fex
;---------------------------------------------------------------------------------------------------
; 说明: 脚本中的字符串区分大小写,用户可以修改"="后面的数值,但是不要修改前面的字符串
;---------------------------------------------------------------------------------------------------
;---------------------------------------------------------------------------------------------------
; 固件下载参数配置
;---------------------------------------------------------------------------------------------------
;***************************************************************************************************
; mbr的大小, 以Kbyte为单位
;***************************************************************************************************
[mbr]
size = 16384
;***************************************************************************************************
; 分区配置
;
;
; partition 定义范例:
; [partition] ; //表示是一个分区
; name = USERFS2 ; //分区名称
; size = 16384 ; //分区大小,单位:默认为扇区,可支持B/K/M/G容量单位
; downloadfile= "123.fex" ; //下载文件的路径和名称,可以使用相对路径,相对是指相对于image.cfg文件所在分区。也可以使用绝对路径
; keydata = 1 ; //私有数据分区,重新量产数据将不丢失
; encrypt = 1 ; //采用加密方式烧录,将提供数据加密,但损失烧录速度
; user_type = ? ; //私有用法
; verify = 1 ; //要求量产完成后校验是否正确
;
; 注:1、name唯一, 不允许同名
; 2、name最大12个字符
; 3、size = 0, 将创建一个无大小的空分区
; 4、为了安全和效率考虑,分区大小最好保证为16M字节的整数倍
;***************************************************************************************************
[partition_start]
;------------------------------>bootloader resource
[partition]
name = bootloader_a
size = 65536
downloadfile = "boot-resource.fex"
user_type = 0x8000
[partition]
name = bootloader_b
size = 65536
user_type = 0x8000
;------------------------------>uboot env
[partition]
name = env_a
size = 512
downloadfile = "env.fex"
user_type = 0x8000
[partition]
name = env_b
size = 512
user_type = 0x8000
;------------------------------>boot
[partition]
name = boot_a
size = 131072
downloadfile = "boot.fex"
user_type = 0x8000
[partition]
name = boot_b
size = 131072
user_type = 0x8000
[partition]
name = vendor_boot_a
size = 65536
downloadfile = "vendor_boot.fex"
user_type = 0x8000
[partition]
name = vendor_boot_b
size = 65536
user_type = 0x8000
[partition]
name = init_boot_a
size = 16384
downloadfile = "init_boot.fex"
user_type = 0x8000
[partition]
name = init_boot_b
size = 16384
user_type = 0x8000
;------------------------------>super
[partition]
name = super
size = 9437184
downloadfile = "super.fex"
user_type = 0x8000
;------------------------------>misc
[partition]
name = misc
size = 32768
downloadfile = "misc.fex"
user_type = 0x8000
;------------------------------>store encryptable
[partition]
name = vbmeta_a
size = 256
downloadfile = "vbmeta.fex"
user_type = 0x8000
[partition]
name = vbmeta_b
size = 256
user_type = 0x8000
[partition]
name = vbmeta_system_a
size = 128
downloadfile = "vbmeta_system.fex"
user_type = 0x8000
[partition]
name = vbmeta_system_b
size = 128
user_type = 0x8000
[partition]
name = vbmeta_vendor_a
size = 128
downloadfile = "vbmeta_vendor.fex"
user_type = 0x8000
[partition]
name = vbmeta_vendor_b
size = 128
user_type = 0x8000
;------------------------------>frp + empty
[partition]
name = frp
size = 1024
ro = 0
user_type = 0x8000
keydata = 0x8000
[partition]
name = empty
size = 30720
ro = 0
user_type = 0x8000
;------------------------------>metadata
[partition]
name = metadata
size = 32768
user_type = 0x8000
;------------------------------>treadahead
[partition]
name = treadahead
size = 196608
user_type = 0x8000
;------------------------------>data image private
[partition]
name = private
size = 32768
ro = 0
user_type = 0x8000
;------------------------------>device tree overlay
[partition]
name = dtbo_a
size = 4096
downloadfile = "dtbo.fex"
user_type = 0x8000
[partition]
name = dtbo_b
size = 4096
user_type = 0x8000
;------------------------------>media_data
[partition]
name = media_data
size = 32768
user_type = 0x8000
;------------------------------>pstore
[partition]
name = pstore
size = 65536
user_type = 0x8000
;------------------------------>UDISK
[partition]
name = UDISK
user_type = 0x8100
从这里看:bootloader_a 对应 "boot-resource.fex"
离线
build/pack
boot_resource_list=(
${LICHEE_CHIP_CONFIG_DIR}/boot-resource/boot-resource:${LICHEE_PACK_OUT_DIR}
${LICHEE_CHIP_CONFIG_DIR}/boot-resource/boot-resource.ini:${LICHEE_PACK_OUT_DIR}
${LICHEE_CHIP_CONFIG_DIR}/configs/${PACK_BOARD}/*.bmp:${LICHEE_PACK_OUT_DIR}/boot-resource/
${LICHEE_CHIP_CONFIG_DIR}/configs/${PACK_BOARD}/bootlogo.bmp:${LICHEE_PACK_OUT_DIR}/bootlogo.bmp
${LICHEE_CHIP_CONFIG_DIR}/configs/${PACK_BOARD}/wavefile/*:${LICHEE_PACK_OUT_DIR}/boot-resource/wavefile/
${LICHEE_CHIP_CONFIG_DIR}/configs/${PACK_BOARD}/${PACK_TYPE}/*.bmp:${LICHEE_PACK_OUT_DIR}/boot-resource/
${LICHEE_CHIP_CONFIG_DIR}/boot-resource/boot-resource/bat/bempty.bmp:${LICHEE_PACK_OUT_DIR}/bempty.bmp
${LICHEE_CHIP_CONFIG_DIR}/boot-resource/boot-resource/bat/battery_charge.bmp:${LICHEE_PACK_OUT_DIR}/battery_charge.bmp
${LICHEE_CHIP_CONFIG_DIR}/configs/${PACK_BOARD}/bat0.bmp:${LICHEE_PACK_OUT_DIR}/boot-resource/bat/bat0.bmp
${LICHEE_CHIP_CONFIG_DIR}/configs/${PACK_BOARD}/battery_charge.bmp:${LICHEE_PACK_OUT_DIR}/boot-resource/bat/battery_charge.bmp
)
LOGD "copying boot resource"
for file in ${boot_resource_list[@]} ; do
cp -rf $(echo $file | sed -e 's/:/ /g') 2>/dev/null
done
离线
cd /opt/A733_Android15_GMS_Tablet_V0.99/android15/longan/
./build.sh config
重新配置之后
编译打包解决
离线
手动切换 otg 为 device,为了进入adb:
find / -name usb_device |xargs cat
scrcpy 3.1 也控制不了A733:
scrcpy 3.1 <https://github.com/Genymobile/scrcpy>
INFO: ADB device found:
INFO: --> (usb) 7c00161172038721ecc device A733_AG863109VCB
E:\downloads\scrcpy-win64-v3.1\scrcpy-server: 1 file pushed, 0 skipped. 44.3 MB/s (90640 bytes in 0.002s)
[server] INFO: Device: [Allwinner] Allwinner A733 AG863109VCB (Android 15)
[server] ERROR: Attempt to invoke virtual method 'android.view.InputDevice android.hardware.input.InputManagerGlobal.getInputDevice(int)' on a null object reference
java.lang.NullPointerException: Attempt to invoke virtual method 'android.view.InputDevice android.hardware.input.InputManagerGlobal.getInputDevice(int)' on a null object reference
at android.view.KeyCharacterMap.load(KeyCharacterMap.java:364)
at com.genymobile.scrcpy.control.Controller.<init>(Controller.java:86)
at com.genymobile.scrcpy.Server.scrcpy(Server.java:115)
at com.genymobile.scrcpy.Server.internalMain(Server.java:251)
at com.genymobile.scrcpy.Server.main(Server.java:201)
at com.android.internal.os.RuntimeInit.nativeFinishInit(Native Method)
at com.android.internal.os.RuntimeInit.main(RuntimeInit.java:369)
ERROR: Could not retrieve device information
ERROR: Server connection failed
Press Enter to continue...
离线