您尚未登录。

楼主 #1 2020-01-30 17:53:03

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

求助:A33主线uboot跑起来了,但是无法从 eMMC 启动

A33开发板买的这一家: https://item.taobao.com/item.htm?spm=a1z09.2.0.0.16a02e8dC4lcxZ&id=589094110822&_u=uc9cub3400
是4GB eMMC, 512MB内存的配置。

uboot直接用的主线最新2020.1版本,defconfig用的是Sinlinx_SinA33_defconfig

生成的u-boot-sunxi-with-spl.bin用sunxi-fel的uboot命令可以跑起来:

sunxi-fel uboot u-boot-sunxi-with-spl.bin

主线uboot驱动很完善,LCD console直接跑起来,而且支持USB Mass Storage 和Gadget等

->mmc list
   mmc@01c0f000: 0 (SD)
   mmc@01c11000: 1 (eMMC)

然后敲入ums命令【需在menuconfig中选上UMS命令】

ums 2 mmc 1

即可把 eMMC 设置成 USB Mass Storage设备(PC上识别为/dev/sdb)

但是接下来把uboot烧到8k地址不起作用,不能启动。我的命令是:

sudo dd if=u-boot-sunxi-with-spl.bin of=/dev/sdb bs=1024 seek=8

没有串口打印,但屏幕也无显示,不过背光能亮起来,感觉还是有什么程序跑起来的样子,只是中断了

参考文档:
https://www.olimex.com/wiki/ArmbianHowTo#Update_SD.2FeMMC_card

离线

楼主 #4 2020-01-30 18:46:56

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动

smartcar 说:

这个的默认串口是哪一组,骚到zksw的板子不知道能不能跑,他用的是 spi nor flash

这个默认用的PB2那个串口,我也是搞了好久才搞清楚,在我板子上是uart2
而且spl用的是PF的那个串口0,和uboot不一样。
你的板子得自己试一下了

离线

楼主 #8 2020-02-01 17:58:37

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动

流氓兔 说:

UART2 串口输出 :


然后就没然后了, 请问楼主, 这是什么原因呢?我用的是 中科世为的A33板子:
https://item.taobao.com/item.htm?id=606632960791

SPL用的串口和uboot用得不一样。
uboot的dts可以看到:

	uart0_pins_b: uart0@1 {
		pins = "PB0", "PB1";
		function = "uart0";
	};

所以你要查查这个串口
而且uboot里有个选项,可以选TF卡上的那个uart0,你可以试一下

离线

楼主 #13 2020-02-02 02:38:29

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动

shaoxi2010 说:

这个我知道,你得先去把emmc的boot0下的spl清空,除非你换个新片子,当时浪费了好多时间。(手动滑稽)
还有emmc和nand都可以正常启动的

太谢谢了,emmc确实原来烧过全志的SDK镜像。但我把emmc作为USB Mass Storage Gadget连到PC然后重新分区了,为什么还会有这个现象?这个boot0的SPL在什么位置?

离线

楼主 #14 2020-02-02 02:46:28

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动

查了一下,boot0似乎就是8KB位置,我的u-boot-sunxi-with-spl也是写的这个位置,难道不会覆盖吗?
https://blog.csdn.net/weixin_43094346/article/details/82563873

一. Boot0 固件更新:(通常boot0 不需要更新)
命令:dd if=boot0_sdcard.fex of=/dev/block/mmcblk0 bs=512 count=S1 seek=S2
备注1: boot0_sdcard.fex 是boot0_sdcard_sun8iw5p1.bin 在pack 命令之后产生
备注2: S1=32K/512 S2= BOOT0_SDMMC_START_ADDR

离线

楼主 #15 2020-02-02 16:47:52

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动

神奇的发现,无论我覆盖写多少次,甚至重新分区,原来的BSP Linux的boot0,uboot甚至Linux都还在
emmc分区后确实起效了,重启也识别分区正常。但是原来的BSP boot0和uboot为什么还能正常工作呢,太奇怪了

离线

楼主 #18 2020-02-03 01:30:12

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动

谢谢晕哥以及楼上几位,我终于搞明白了。原来emmc有芯片级的boot,RPMB,GPP,UDA等分区,是正常情况下不可见的(或者选择其中一个)。我们平常访问和创建文件系统的是UDA分区。我板子上默认使能的是boot0分区启动,所以我无论怎么烧写uboot,其实都是烧到UDA分区,下次上电还是从boot0分区启动老的uboot。
参考:
https://www.cnblogs.com/helloworldtoyou/p/6053460.html?utm_source=itdadao&utm_medium=referral
https://www.cnblogs.com/arnoldlu/p/10762009.html

解决方法:
打开uboot的CONFIG_SUPPORT_EMMC_BOOT
在uboot设置从UDA(7)启动

mmc partconf 1 0 7 0

现在终于可以正常从emmc启动uboot了

U-Boot SPL 2020.01-dirty (Feb 03 2020 - 00:42:31 +0800)
DRAM: 512 MiB
Trying to boot from MMC2


U-Boot 2020.01-dirty (Feb 03 2020 - 00:42:31 +0800) Allwinner Technology

CPU:   Allwinner A33 (SUN8I 1667)
Model: Sinlinx SinA33
DRAM:  512 MiB
MMC:   mmc@1c0f000: 0, mmc@1c11000: 1
Loading Environment from FAT... OK
Setting up a 1024x600 lcd console (overscan 0x0)
In:    serial
Out:   vga
Err:   vga
Allwinner mUSB OTG (Peripheral)
Net:   eth0: usb_ether
Hit any key to stop autoboot:  0 

离线

楼主 #21 2020-03-12 09:53:03

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动

KevinS 说:

楼主你好,我买的根你一样的A33的板子,可是执行ums 2 mmc 1 的时候,出现

g_dnl_register: failed!, error: -6
g_dnl_register:failed

的错误,pc上也没有出现U盘符,我用的u-boot版本是2020.04, DTS 用的是Sinlunx_A33_defconfig,

是不是那里还需要特别设定一下,我插入的是板子上的otg USB插口

这个2取决于你的USB口,所以你可以试试其它的口

离线

楼主 #25 2020-03-12 14:28:14

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动

KevinS 说:

好了,ums可以用了

咋弄好的?

离线

楼主 #28 2020-03-13 09:58:22

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动

KevinS 说:

bananapro login: root
Password:
# [   32.484107] vcc3v0: disabling
[   32.487196] vcc3v3: disabling
[   32.490567] dc1sw: disabling

登录经来不久,突然出现这个,然后屏幕就关闭了,不知道是背光关闭了还是屏幕整个都断电了


估计是设备树中的设定跟实际板子不一致

你的问题我都遇到过,我也试了好久,终于看到另外一个厂家dts是有定义dc1sw,于是我参考定义了一下
&reg_dc1sw {
        regulator-always-on;
    regulator-name = "vcc-lcd";
};

然后就正常了

离线

楼主 #31 2020-03-15 18:17:47

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动

楼上可能需要换个sunxifei的版本,你是不是用的f1c100的

离线

楼主 #33 2020-03-15 23:21:00

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动

tianjjff 说:

请教下怎么sunxi-fel看版本啊?我直接就是git clone https://github.com/linux-sunxi/sunxi-tools 然后make的

我好像也是这个

离线

楼主 #35 2020-03-16 09:49:08

达克罗德
会员
注册时间: 2018-04-10
已发帖子: 1,138
积分: 1090.5

Re: 求助:A33主线uboot跑起来了,但是无法从 eMMC 启动

tianjjff 说:

楼主,我按照这个克隆uboot “git clone https://github.com/linux-sunxi/u-boot-sunxi u-boot-sunxi” 编译后可以用sunxi-fel启动正常了
主线uboot,我是直接ftp://ftp.denx.de/pub/u-boot/ 这个网站下面下载 u-boot-2020.04-rc3.tar.bz2,然后步骤是
  ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make Sinlinx_SinA33_defconfig
  ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- make
不知道这样编译是不是有问题,还是编译前还需要做什么?

对,我也是这么操作

离线

页脚

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

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