Nand 调试成功了。
具体修改下面描述:
- 硬件修改:
根据原理图发现 AM335X 目前默认是 SD 卡启动,所以需要配置一下 SYSBOOT 从NAND启动,官方文档:
http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User%27s_Guide
这里对 SYSBOOT 的配置有详细的介绍,结合 AM335X Technical Reference.pdf 和 原理图找到对应的 电阻,修改掉就可以从 NAND 启动了。
- Uboot 配置:
根据 http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User%27s_Guide 文档中介绍的 Nand Flash 的 NAND Layout,描述 UBOOT , KERNEL , ROOTFS ,MLO ,DT(device tree)的空间分布,烧写到对应的 NAND Flash上。
但这份文档比较老(基于 SDK 6.0),我们使用的是 SDK 8.0,所以需要根据 am335x-evm.h 中的 NAND Layout 来烧写:
在Uboot中敲打两条命令:
U-Boot# mtdparts default U-Boot# mtdparts device nand0 <nand.0>, # parts = 10 #: name size offset mask_flags 0: NAND.SPL 0x00020000 0x00000000 0 1: NAND.SPL.backup1 0x00020000 0x00020000 0 2: NAND.SPL.backup2 0x00020000 0x00040000 0 3: NAND.SPL.backup3 0x00020000 0x00060000 0 4: NAND.u-boot-spl-os 0x00040000 0x00080000 0 5: NAND.u-boot 0x00100000 0x000c0000 0 6: NAND.u-boot-env 0x00020000 0x001c0000 0 7: NAND.u-boot-env.backup10x00020000 0x001e0000 0 8: NAND.kernel 0x00800000 0x00200000 0 9: NAND.file-system 0x0f600000 0x00a00000 0 active partition: nand0,0 - (NAND.SPL) 0x000