工具: 使用官方的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的代码。
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.
工具: 使用官方的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的代码。
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); //这里还没有运行到。。。
你是使用SD卡启动,为啥会加载u-boot.bin呢?印象中是MLO启动后,加载u-boot.img文件才对。
是你笔误还是就是使用的image有问题?这两个image之间是有差别的。
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
谢谢~!
编译资源说明入口: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