按照官网(nano.licheepi.pro)里面配置了uboot,从spiflash启动。
目前发现一个问题,如果不插SD卡启动的话,没有问题,但是SPL阶段会报错。
如果插上SD卡(非linux系统卡),就会出现trying to boot from MMC1,而且一直停止在那里。。。。
我尝试关闭了uboot里面有关的MMC选项,结果一编译就报错了。。。
很疑惑,为什么会这样呢? 求教各位大神啦!
离线
可能你的 TF 卡和这个板子或者f1c100s 有点不兼容.
编译是没有问题的.
我明天再试试吧 ,这个卡用别人的uboot没问题的。
离线
我记得u-boot里面有启动顺序,mmc是第一顺序,spi是第二,改一下顺序就可以了
离线
在 arch/arm/mach-sunxi/board.c
void board_boot_order(u32 *spl_boot_list)
{
/*
* See the comments above in sunxi_get_boot_device() for infomation
* about FEL boot.
*/
if (!is_boot0_magic(SPL_ADDR + 4)) {
spl_boot_list[0] = BOOT_DEVICE_BOARD;
return;
}
spl_boot_list[0] = BOOT_DEVICE_MMC1;
spl_boot_list[1] = BOOT_DEVICE_SPI;
}
离线
修改完毕SPL的启动顺序以后这个问题基本解决了。
离线
修改完毕SPL的启动顺序以后这个问题基本解决了。
按5楼的方法修改吗?
离线
对的,F1c的Brom代码并未填装当前启动类型,按5楼的改就好了
离线
学习到了
在 arch/arm/mach-sunxi/board.c
void board_boot_order(u32 *spl_boot_list) { /* * See the comments above in sunxi_get_boot_device() for infomation * about FEL boot. */ if (!is_boot0_magic(SPL_ADDR + 4)) { spl_boot_list[0] = BOOT_DEVICE_BOARD; return; } spl_boot_list[0] = BOOT_DEVICE_MMC1; spl_boot_list[1] = BOOT_DEVICE_SPI; }
离线