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: 09.01.00.001版本SDK中,SPL无法成功从nand加载uboot

Part Number: AM3352

AM3352的单板在06.00.00.00版本SDK上运行无问题。目前升级09.01.00.001版本SDK。

使用的nand型号:GD9FU2G8F3A

# MLO (SPL) 烧录
mw.b 0x82000000 0xFF 0x20000
tftp 0x82000000 MLO

nand erase 0x0 0x80000
nandecc hw 8
nand write.i 0x82000000 0x00000 0x20000
nand write.i 0x82000000 0x20000 0x20000
nand write.i 0x82000000 0x40000 0x20000
nand write.i 0x82000000 0x60000 0x20000


# u-boot.img 烧录
mw.b 0x82000000 0xFF 0x200000
tftp 0x82000000 u-boot.img

nandecc hw 8
nand erase 0xc0000 0x200000
nand write.i 0x82000000 0xc0000 0x200000

# MLO (SPL) 烧录
mw.b 0x82000000 0xFF 0x20000
tftp 0x82000000 MLO

nand erase 0x0 0x80000
nandecc hw 8
nand write.i 0x82000000 0x00000 0x20000
nand write.i 0x82000000 0x20000 0x20000
nand write.i 0x82000000 0x40000 0x20000
nand write.i 0x82000000 0x60000 0x20000


# u-boot.img 烧录
mw.b 0x82000000 0xFF 0x200000
tftp 0x82000000 u-boot.img

nandecc hw 8
nand erase 0xc0000 0x200000
nand write.i 0x82000000 0xc0000 0x200000

通过串口xmodem传输 u-boot-spl.bin,ymodem传输u-boot.img后,可以启动到uboot命令行。

然后通过如下指令分别烧录SPL、uboot到nand中:

# MLO (SPL) 烧录
mw.b 0x82000000 0xFF 0x20000
tftp 0x82000000 MLO

nand erase 0x0 0x80000
nandecc hw 8
nand write.i 0x82000000 0x00000 0x20000
nand write.i 0x82000000 0x20000 0x20000
nand write.i 0x82000000 0x40000 0x20000
nand write.i 0x82000000 0x60000 0x20000


# u-boot.img 烧录
mw.b 0x82000000 0xFF 0x200000
tftp 0x82000000 u-boot.img

nandecc hw 8
nand erase 0xc0000 0x200000
nand write.i 0x82000000 0xc0000 0x200000

在spl加载uboot的地方卡住起不来,如下图

drivers\mtd\nand\raw\am335x_spl_bch.c

并通过打印跟踪流程发现,下图中

drivers\mtd\nand\raw\nand_spl_loaders.c

将镜像头加载到ddr地址0x80800000中,该地址为空,无法打印、访问(%p打印显示为空)。

同时查看其他地址如0x82000000也是一样的。这些地址在uboot命令行阶段是可以访问打印的。

请问这个应该如何处理?