uboot 是 https://github.com/Lichee-Pi/u-boot.git 的 nano-v2018.01 分支
配置为licheepi_nano_defconfig,其他参数未作更改,编译后得到u-boot-sunxi-with-spl.bin。
按照Bootable_SD_card中的说明
将 u-boot-sunxi-with-spl.bin 写到了TF卡的8k位置。
查看卡中8k和40k处确实写入成功。
但试了4个tf卡,都不能启动成功。
512MB的TF卡
U-Boot SPL 2018.01-05680-gce09ef150a-dirty (Nov 28 2019 - 21:19:01)
DRAM: 32 MiB
Trying to boot from MMC1
mmc_load_image_raw_sector: mmc block read error
SPL: Unsupported Boot Device!
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
1GB、8GB和16GB的TF卡
U-Boot SPL 2018.01-05679-g013ca457fd-dirty (Nov 29 2019 - 02:35:08)
DRAM: 32 MiB
Trying to boot from MMC1
mmc_init: -110, time 15435
spl: mmc init failed with error: -110
SPL: Unsupported Boot Device!
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
uboot配置为licheepi_nano_spiflash_defconfig,烧录到Flash中就可以正常启动。
新手求助各位大大。
离线
后面这个问题是因为 u-boot 对这些卡兼容性不好引起:
spl: mmc init failed with error: -110
u-boot 初始化TF卡的地方需要修改一下, 你跟踪一下代码可以解决这个问题。
因为这卡 BROM(芯片固化引导) 可以读, 没理由在spl(boot0)初始化 TF 卡就挂了嘛, 对吧。
谢谢,已经解决,芯片问题,应该是买到拆机的问题件了。
打开CONFIG_MMC_TRACE,各种查SD协议,各种跟踪代码。
U-Boot SPL 2018.01-05679-g013ca457fd-dirty (Nov 29 2019 - 13:28:54)
DRAM: 32 MiB
Trying to boot from MMC1
CMD_SEND:0
ARG 0x00000000
MMC_RSP_NONE
CMD_SEND:8
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000000
CMD_SEND:55
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000000
CMD_SEND:41
ARG 0x00000000
MMC_RSP_R3,4 0x00000000
CMD_SEND:55
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000000
CMD_SEND:41
ARG 0x00000000
MMC_RSP_R3,4 0x00000000
CMD_SEND:2
ARG 0x00000000
MMC_RSP_R2 0x00000000
0x00000000
0x00000000
0x00000000
DUMPING DATA
000 - 00 00 00 00
004 - 00 00 00 00
008 - 00 00 00 00
012 - 00 00 00 00
CMD_SEND:3
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000000
CMD_SEND:9
ARG 0x00000000
MMC_RSP_R2 0x00000000
0x00000000
0x00000000
0x00000000
DUMPING DATA
000 - 00 00 00 00
004 - 00 00 00 00
008 - 00 00 00 00
012 - 00 00 00 00
CMD_SEND:7
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000000
CMD_SEND:55
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000000
CMD_SEND:51
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000000
CMD_SEND:6
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000000
CMD_SEND:6
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000000
CMD_SEND:55
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000000
CMD_SEND:6
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000000
CMD_SEND:55
ARG 0x00000000
MMC_RSP_R1,5,6,7 0x00000000
CMD_SEND:13
ARG 0x00000000
RET -110
CMD_SEND:13
ARG 0x00000000
RET -110
CMD_SEND:13
ARG 0x00000000
RET -110
CMD_SEND:13
ARG 0x00000000
RET -110
mmc_init: -110, time 16490
spl: mmc init failed with error: -110
SPL: Unsupported Boot Device!
SPL: failed to boot from all boot devices
### ERROR ### Please RESET the board ###
最后上示波器,发现CMD实际传输数据不是0,换个F1C100s就好了。
浪费了好几天,真是自己给自己埋坑。
离线
这是翻新片子的io口坏了吗?
具体不清楚,也没时间看了。
在这个片子上还遇到个奇葩问题,我用的LCD是1024x600的,只要uboot配置成1024就花屏,1023就没事,也折腾了一天,换芯片就好了。。。
离线