您尚未登录。

#1 2020-05-15 07:50:42

pears
会员
注册时间: 2020-05-07
累计积分: 4

A64 emmc boot0启动问题

我用用emmc的uda分区,uboot2019-10可以正常启动,也可以通过tftp引导内核和busybox。但是我试把uboot放到boot0里面启动,就一直不成功。我用的是A64的板子,emmc用的是KLM8G1GEME-B041。

下面是启动信息:

U-Boot SPL 2019.10 (May 12 2020 - 12:27:13 +0800)
DRAM: 1024 MiB
Trying to boot from MMC2
NOTICE:  BL31: v2.0(debug):
NOTICE:  BL31: Built : 17:23:43, Feb 19 2020
NOTICE:  BL31: Detected Allwinner A64/H64/R18 SoC (1689)
NOTICE:  BL31: Found U-Boot DTB at 0x4093fa8, model: FriendlyARM NanoPi A64
INFO:    ARM GICv2 driver initialized
INFO:    Configuring SPC Controller
NOTICE:  BL31: PMIC: Detected AXP803 on RSB.
INFO:    PMIC: AXP803: dcdc1 voltage: 3.300V
INFO:    PMIC: AXP803: dcdc5 voltage: 1.500V
INFO:    PMIC: AXP803: dldo1 voltage: 3.300V
INFO:    BL31: Platform setup done
INFO:    BL31: Initializing runtime services
INFO:    BL31: cortex_a53: CPU workaround for 843419 was applied
INFO:    BL31: cortex_a53: CPU workaround for 855873 was applied
INFO:    BL31: Preparing for EL3 exit to normal world
INFO:    Entry point address = 0x4a000000
INFO:    SPSR = 0x3c9


U-Boot 2019.10 (May 12 2020 - 12:27:13 +0800) Allwinner Technology

CPU:   Allwinner A64 (SUN50I)
Model: FriendlyARM NanoPi A64
DRAM:  1 GiB
MMC:   Device 'mmc@1c11000': seq 1 is in use by 'mmc@1c10000'
mmc@1c0f000: 0, mmc@1c10000: 2, mmc@1c11000: 1
Loading Environment from FAT... OK
In:    serial
Out:   serial
Err:   serial
Net:   No ethernet found.
starting USB...
Bus usb@1c1a000: USB EHCI 1.00
Bus usb@1c1a400: USB OHCI 1.0
Bus usb@1c1b000: USB EHCI 1.00
Bus usb@1c1b400: USB OHCI 1.0
scanning bus usb@1c1a000 for devices... 1 USB Device(s) found
scanning bus usb@1c1a400 for devices... 1 USB Device(s) found
scanning bus usb@1c1b000 for devices... 3 USB Device(s) found
scanning bus usb@1c1b400 for devices... 1 USB Device(s) found
       scanning usb for storage devices... 0 Storage Device(s) found
=> setenv serverip 192.168.1.106&&setenv ipaddr 192.168.1.104&&tftpboot 0x50000000 Image && tftpboot 0x52000000 sun50i-a64-nanopi-a64.dtb&&booti 0x50000000 - 0x52000000
Using asix_eth device
TFTP from server 192.168.1.106; our IP address is 192.168.1.104
Filename 'Image'.
Load address: 0x50000000
Loading: #################################################################

后面很长,没有粘贴。
最后内核启动,出现root@/#提示符,里面的Linux指令都可以运行。
就是尝试把uboot写入到emmc的boot0分区启动,一直不成功。
我试了:

echo 0 > /sys/block/mmcblk2boot0/force_ro
dd if=/dev/zero of=/dev/mmcblk2boot0 bs=1K count=4200
dd if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk2boot0 bs=1K seek=8
dd if=u-boot.itb of=/dev/mmcblk2boot0 bs=1K seek=800
echo 1 > /sys/block/mmcblk2boot0/force_ro

也尝试了通过tftp把u-boot-sunxi-with-spl.bin和u-boot.itb写入内存,然后用mmc dev 1:0 ,mmc write 0xXXXXXXXX 0 640写入到emmc,再用mmc partconf 1 1 1 1,断电重启,没有反应。
mmc list的列表如下:

mmc@1c0f000: 0
mmc@1c10000: 2
mmc@1c11000: 1 (eMMC)

请问我是哪里做错了或者是还有哪些没有做?盼指教,谢谢大家!!!

离线

#2 2020-05-15 08:22:40

哇酷小二
管理员
注册时间: 2020-04-22
累计积分: 1,897

Re: A64 emmc boot0启动问题

eMMC没有用过, 根据TF的经验, 这个黑体字的boot0是不是可以不要:

dd if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk2boot0 bs=1K seek=8

BROM识别是是卡的8k偏移, 而不是分区的8k偏移吧?

离线

#3 2020-05-15 09:18:02

shaoxi2010
会员
注册时间: 2019-06-13
累计积分: 216

Re: A64 emmc boot0启动问题

这个又是个巨坑了,我没记错的话A64并未使用boot0你放那也没用,A33用了的,你应该放在user data段的8k处

离线

#4 2020-05-15 12:37:43

pears
会员
注册时间: 2020-05-07
累计积分: 4

Re: A64 emmc boot0启动问题

是呀,我就是用
dd if=u-boot-sunxi-with-spl.bin of=/dev/mmcblk2 bs=1K seek=8
dd if=u-boot.itb of=/dev/mmcblk2 bs=1K seek=800
就能正常启动了
看来这个真是一个坑。
另外,内核中做分区的时候,fdisk创建第一个分区时的起始First sector不能用默认值16,需要根据bin和itb文件大小的总和,采取超出一点的数值,我用的是4096,这样4096*512=2M。请问这样有隐患吗?

离线

#5 2020-05-15 12:41:59

pears
会员
注册时间: 2020-05-07
累计积分: 4

Re: A64 emmc boot0启动问题

@哇酷小二,对那个确实不起作用,我用seek=0也一样。就是对mmcblk2boot0操作后,没有任何效果。但是mmc partconf 1 1 1 1是有效果的,启动不了了,改成mmc partconf 1 1 7 0,转到uda,才能正常

离线

#6 2020-05-15 12:53:01

哇酷小二
管理员
注册时间: 2020-04-22
累计积分: 1,897

Re: A64 emmc boot0启动问题

你这个是全志的bsp,还是主线开源的sdk?

离线

#7 2020-05-15 16:16:20

pears
会员
注册时间: 2020-05-07
累计积分: 4

Re: A64 emmc boot0启动问题

@哇酷小二 刚入门,不好意思,这个我不不清楚之间的区别,用的都是网上开源的代码,dts做了一些改动,代码基本上没有改。

离线

#8 2020-05-15 16:27:24

哇酷小二
管理员
注册时间: 2020-04-22
累计积分: 1,897

Re: A64 emmc boot0启动问题

pears 说:

@哇酷小二 刚入门,不好意思,这个我不不清楚之间的区别,用的都是网上开源的代码,dts做了一些改动,代码基本上没有改。

eMMC的boot0没有玩过, 坐等大神路过指点。

离线

#9 2020-06-19 16:56:10

路人甲
会员
注册时间: 2017-09-07
累计积分: 196

Re: A64 emmc boot0启动问题

楼主调通eMMC了吗?我现在X3碰到同样尴尬的问题。

从TF卡启动,u-boot和Linux都可以识别和读写eMMC, 就是无法从eMMC启动.

离线

页脚

工信部备案:粤ICP备20025096号 Powered by FluxBB

感谢为中文互联网持续输出优质内容的各位老铁们。 QQ: 516333132, 微信(wechat): whycan_cn (哇酷网/挖坑网/填坑网) service@whycan.cn