各种尝试,现在开始整awboot。
问题:kernel zImage是从Tina linux里面拿过来的,可以使用uboot正常启动。为啥使用awboot启动就异常了?
log如下
[I] AWBoot r6165 starting...
[D] DRAM BOOT DRIVE INFO: V0.24
[D] DRAM CLK = 792 MHz
[D] DRAM Type = 3 (2:DDR2,3:DDR3)
[D] DRAMC read ODT off
[D] ZQ value = 0x30
[D] DDR efuse: 0xa
[D] chip id efuse: 0x6000
[D] single rank and full DQ
[D] DDR efuse: 0xa
[D] chip id efuse: 0x6000
[D] rank 0 row = 13
[D] para->dram_para1 = 0x10d2
[D] rank 0 bank = 8
[D] para->dram_para1 = 0x10d2
[D] rank 0 page size = 2 KB
[D] para->dram_para1 = 0x10d2
[D] DRAM ODT value: 0x42
[D] DDR efuse: 0xa
[D] chip id efuse: 0x6000
[D] DRAM: size = 128MB
[D] DRAM: simple test OK
[D] CLK: CPU PLL=PLL_CPU FREQ=1200MHz
[D] CLK: PLL_peri (2X)=1200MHz, (1X)=600MHz, (800M)=800MHz
[D] CLK: PLL_ddr=1584MHz
[D] DMA: init
[D] DMA: test OK in 24ms
[D] SPI: init
[D] SPI: set clock asked=100MHz actual=100MHz mclk=200MHz
[I] SPI-NAND: W25N01GV detected
[D] SPI-NAND: dt blob: Copy from 0x00040000 to 0x44000000 size:0x0000dc73
[I] SPI-NAND: read dt blob of size 56435 at 47.00MB/S
[D] SPI-NAND: Image: Copy from 0x00080000 to 0x44800000 size:0x003e03f8
[I] SPI-NAND: read Image of size 4064248 at 49.00MB/S
[I] booting linux...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.4.61 (root@a3715198cb35) (arm-openwrt-linux-muslgnueabi3
[ 0.000000] CPU: ARMv7 Processor [410fc075] revision 5 (ARMv7), cr=10c5387d
[ 0.000000] CPU: div instructions available: patching division code
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
[ 0.000000] OF: fdt: Machine model: sun8iw20
[ 0.000000] printk: bootconsole [earlycon0] enabled
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] cma: Reserved 16 MiB at 0x47000000
[ 0.000000] On node 0 totalpages: 32768
[ 0.000000] Normal zone: 256 pages used for memmap
[ 0.000000] Normal zone: 0 pages reserved
[ 0.000000] Normal zone: 32768 pages, LIFO batch:7
[ 0.000000] psci: probing for conduit method from DT.
[ 0.000000] Bad mode in prefetch abort handler detected
[ 0.000000] Internal error: Oops - bad mode: 0 [#1] PREEMPT SMP ARM
[ 0.000000] Modules linked in:
[ 0.000000] CPU: 0 PID: 0 Comm: swapper Not tainted 5.4.61 #54
[ 0.000000] Hardware name: Generic DT based system
[ 0.000000] PC is at 0xfff7fdc8
[ 0.000000] LR is at __invoke_psci_fn_smc+0x40/0x60
[ 0.000000] pc : [<fff7fdc8>] lr : [<c04c03f4>] psr: 600001d6
[ 0.000000] sp : c0a01e98 ip : c0a01ef0 fp : c6ffff40
[ 0.000000] r10: c0a0df8c r9 : c0b51c98 r8 : c0a00000
[ 0.000000] r7 : 00000000 r6 : 00000000 r5 : 00000000 r4 : 00000000
[ 0.000000] r3 : 00000000 r2 : 00000000 r1 : 00000000 r0 : 84000000
[ 0.000000] Flags: nZCv IRQs off FIQs off Mode MON_32 ISA ARM Segment none
[ 0.000000] Control: 10c5387d Table: 4000406a DAC: c0a00000
[ 0.000000] Process swapper (pid: 0, stack limit = 0x(ptrval))
[ 0.000000] Stack: (0xc0a01e98 to 0xc0a02000)
[ 0.000000] 1e80: 84000000 000
[ 0.000000] 1ea0: 00000000 00000000 00000000 00000000 00000000 00000000 c0a00000 c08
[ 0.000000] 1ec0: c0a0df8c c6ffff40 c0a01ef0 c0a01e98 c04c03f4 fff7fdc8 600001d6 fff
[ 0.000000] 1ee0: c0a00000 00000000 c0a4b180 c0a06d80 00000000 00000000 00000000 000
[ 0.000000] 1f00: c0a01f0c 00000000 c0a4b180 c04c064c c4000914 00000000 00000001 000
[ 0.000000] 1f20: c0a00000 c09180e0 c0a00000 c6ece450 c0a4b180 c0a06d80 c0a00000 c08
[ 0.000000] 1f40: c0a00000 c09184f4 c092e360 00000000 00000000 c09238fc c0a08218 c04
[ 0.000000] 1f60: ffffffff 10c5387d 40000000 c083bdec c0a03dc0 c0a4b000 410fc075 10d
[ 0.000000] 1f80: 00000000 c01552b8 c07cd9bd 00000000 00000001 c0900330 c0a00000 10d
[ 0.000000] 1fa0: c0a03dc0 c0a4b000 410fc075 10c5387d 00000000 c0900974 00000000 000
[ 0.000000] 1fc0: 00000000 00000000 00000000 c09270c0 00000000 00000000 c0900330 001
[ 0.000000] 1fe0: 10c0387d ffffffff 44000000 410fc075 10c5387d 00000000 00000000 000
[ 0.000000] [<c04c03f4>] (__invoke_psci_fn_smc) from [<c0a01e98>] (0xc0a01e98)
[ 0.000000] Code: bad PC value
[ 0.000000] random: get_random_bytes called from init_oops_id+0x20/0x40 with crng_i0
[ 0.000000] ---[ end trace 0000000000000000 ]---
[ 0.000000] Kernel panic - not syncing: Attempted to kill the idle task!
[ 0.000000] ---[ end Kernel panic - not syncing: Attempted to kill the idle task! ]-
离线
awboot非常简单,他启动主线kernel可以,启动Tina够呛,uboot会编辑dts,设置smp,设置cortex A7时钟等,这些awboot都做不了。要awboot启动Tina,只能分析uboot对Tina具体干了什么,并添加进awboot。
离线
awboot非常简单,他启动主线kernel可以,启动Tina够呛,uboot会编辑dts,设置smp,设置cortex A7时钟等,这些awboot都做不了。要awboot启动Tina,只能分析uboot对Tina具体干了什么,并添加进awboot。
原来如此,非常感谢!
离线
大佬们现在有进展吗?也碰到相同的问题
离线
kernel 设备树中或内核配制选项 删除对smp PSI总线支持,第二个核另外写代码
离线