大家好,
功能需求是通过SD烧录code,正常工作从Nand启动,不需要OS。实验小板经过startware单元测试Nand、DDR、SD等功能都是正常的。
SD烧录准备文件:MLO+u-boot.img 、boot_ti.bin(for Nand boot)、gpio_test_ti.bin(just for testing)、uEnv.txt
uboot版本u-boot-2011.09-psp04.06.00.03(非官方原版,经第三方修改)
此种方法在之前做的大板上使用是可以正常烧录的。
现在 在小板上发现问题,串口信息:
#ccccccccc
U-Boot SPL 2011.09 (Mar 25 2015 - 21:00:17)
Texas Instruments Revision detection unimplemented
Booting fron MMC…
OMAP SD/MMC: 0
“”””Can’t read from device 0””
Spl: fat register err - -1
### ERROR ### please RESET the board ###
之前的大板和现在的实验小板原件相同,只有SD的MMC0_SDCD、SDWP脚位不同,不知道u-boot中有没有先判读SDCD、SDWP然后再执行呢?
在u-boot中查了一下错误信息来自 fs/fat/fat.c中第70行的fat_register_device()函数,代码详情如下:
int fat_register_device (block_dev_desc_t * dev_desc, int part_no)
{
unsigned char buffer[SECTOR_SIZE];
disk_partition_t info;
if (!dev_desc->block_read)
return -1;
cur_dev = dev_desc;
/* check if we have a MBR (on floppies we have only a PBR) */
if (dev_desc->block_read(dev_desc->dev, 0, 1, (ulong *)buffer) != 1) {d
printf("** Can't read from device %d **\n",
dev_desc->dev);
return -1;
}
已排查的怀疑点如下:
- 实验板的sysboot设置错误?-------------验证OK 为SD启动
- 实验板的SD硬件功能错误?------------------验证OK可读写文件
- U-boot中SD代码初始化脚位与实验板不同-------------验证后发现 只有SDCD脚位不同。
不知道此错误信息还有可能是哪些原因?哪位可以指点一下,谢谢!