This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

am3352 uboot cache data abort undefined instruction boot error

Other Parts Discussed in Thread: TPS65217, TPS650250

原本版为TPS65217  正常批量使用后(性能稳定)     由于芯片供货问题,将PMIC 替换成 TPS650250 ,参考tps650250 with am

335  的参考文档   调整时序电压  上电系统可正常上电 SD -> UBOOT   但是后续启动十分不稳定。

常出现的情况:

1. data abort

Booting from nand ...

NAND read: device 0 offset 0x80000, size 0x4000d0
262144 bytes read: OK

NAND read: device 0 offset 0x200000, size 0x800000
data abort
pc : [<9ff63572>] lr : [<9ff637a1>]
reloc pc : [<80824572>] lr : [<808247a1>]
sp : 9df13c84 ip : fffffffc fp : 82658600
r10: 0000082c r9 : 9df1eec8 r8 : 82658000
r7 : 9ff60f33 r6 : 00000000 r5 : 9ffbaaa8 r4 : 9ffbaaa8
r3 : 9ff6356d r2 : 00010000 r1 : 00000000 r0 : 9ffbaaa8
Flags: nZCv IRQs on FIQs off Mode UND_32
Resetting CPU ...

resetting ...
CCCCCCCC

2 undefined instruction

NAND read: device 0 offset 0x80000, size 0x40000
262144 bytes read: OK

NAND read: device 0 offset 0x200000, size 0x800000
data abort
undefined instruction
pc : [<82484800>] lr : [<9ff65b11>]
reloc pc : [<62d45800>] lr : [<80826b11>]
sp : 9df13e28 ip : 00000101 fp : 82484800
r10: 00000802 r9 : 9df1eec8 r8 : 82484800
r7 : 9ff60f33 r6 : 00000003 r5 : 9ffbaaa8 r4 : 9ff3f1c8
r3 : 600001b3 r2 : 44e35000 r1 : 00000000 r0 : 00000000
Flags: nZcv IRQs on FIQs on Mode 000 r
Resetting CPU ...

该问题有点类似与这个问题。

am335x u-boot fails - Processors forum - Processors - TI E2E support forums

较原始稳定版本只去掉了tpos65217  电源 以及uboot 配置mpu core 都为 opp100  DDR参数校准过了,且原版ddr跑的很稳定,不存在ddr的问题

借鉴上面帖子的方法  开启这两个宏 关闭cache
#define CONFIG_SYS_DCACHE_OFF
#define CONFIG_SYS_ICACHE_OFF

确实可以 uboot正常启动到

Starting kernel ...
但是很大概率停在这里,并且存在正常启动的时候,启动的bootarg 是使用了很久的了不存在问题


现在再这里提出两个问题 求指点

1 为何65217版本 不需要关闭cache  而uboot 去点电源设置opp100 后

会出现cache相关问题

2 为何关闭cache boot 出现大概率boot 不了linux 停在 Starting kernel ...。