工具: 使用官方的uboot 6.0,和编译工具链
现象:编译出来的MLO,启动不了u-boot.bin文件。常常死在
mmc_initialize(gd->bd);
或者有时候会出现这样的错误
spl: error reading image u-boot.bin, err – -1
### ERROR ### Please RESET the board ###
这里是uboot的代码。
andarm lin1:
回复 Jian Zhou:
mmc_initialize(gd->bd); //到这里的时候,应该还没有调用到DDR
如果是运行到下面那就应该是DDR问题了吧。
kooking:
回复 andarm lin1:
mmc初始化出问题了吧,进入mmc_init()加一些打印
andarm lin1:
回复 kooking:
int mmc_register(struct mmc *mmc) {/* Setup the universal parts of the block interface just once */mmc->block_dev.if_type = IF_TYPE_MMC;mmc->block_dev.dev = cur_dev_num++;mmc->block_dev.removable = 1;mmc->block_dev.block_read = mmc_bread;mmc->block_dev.block_write = mmc_bwrite;mmc->block_dev.block_erase = mmc_berase;if (!mmc->b_max)mmc->b_max = CONFIG_SYS_MMC_MAX_BLK_COUNT;INIT_LIST_HEAD (&mmc->link);printf("g1==\n");list_add_tail (&mmc->link, &mmc_devices);printf("g2==\n");return 0; }每次只能打印到g1==,g2==就不能够打印了。
struct mmc *mmc;int err;u32 boot_mode;printf("t11=====\n");mmc_initialize(gd->bd);//这里死掉了。printf("t2======\n");/* We register only one device. So, the dev id is always 0 */mmc = find_mmc_device(0);if (!mmc) {puts("spl: mmc device not found!!\n");hang();}err = mmc_init(mmc);//这里还没有运行到。。。
Steven Liu1:
回复 andarm lin1:
你是使用SD卡启动,为啥会加载u-boot.bin呢?印象中是MLO启动后,加载u-boot.img文件才对。
是你笔误还是就是使用的image有问题?这两个image之间是有差别的。
user4131006:
回复 Steven Liu1:
Steven Liu 你好 请问下 SD卡启动(或者U盘)的方式需要哪些编译文件和操作步骤(还请提供下文档说明下)
(以前用的是英蓓特公司的 3.8.13 kernel 就是u盘或者sd卡形式的,很便捷)
我环境如下
1.BB-Black板子
2.代码 TI sdk 06.00.00.00
3.已经编译出 MLO, uImage,u-boot.img
我看了下makefile的实现,用的编译命令 直接是
make all
谢谢~!
Steven Liu1:
回复 user4131006:
编译资源说明入口:http://processors.wiki.ti.com/index.php?title=Sitara_Linux_Software_Developer%E2%80%99s_Guide&oldid=171586
编译uboot:MLO,u-boot.img:http://processors.wiki.ti.com/index.php/AM335x_U-Boot_User%27s_Guide
编译kernel:http://processors.wiki.ti.com/index.php/AMSDK_Linux_User%27s_Guide
Johnny623 wang:
问题解决了吗?我也遇到了一样的问题。。。
bao T:
回复 Steven Liu1:
你好,am335x 添加nor flash,怎么通过SD卡加载和下载u-boot.bin 文件到nor flash啊??求指点。。。。