好久不过来名字够改了,A33被遗弃了:(
关于A33一直困扰的几个问题。
背景: 拿到一个空白的板子(怀疑是的), 电压都正常,但是上电连接usb到电脑没有反应。 根据量产的手册看, 可以通过usb下载或者tf卡下载到板载EMMC:
a.如果是一个被烧录过的板子,那么如何通过phoenixUSBpro重新进入量产模式,烧录img文件?
b.如果是个没有烧录过的板子,上电没有连接上usb(设备管理器没有新设备检测到), 需要检查哪里呢?
c.如果通过tf卡量产, 请问这个img是哪里有下载的吗?还是需要自己做一个?
谢谢。
离线
a.无法通过软件进入,需要制作boot卡或者短接掉emmc
b.设备管理器,没有就是有问题
c.这个除了自己弄其他也没办法阿,毕竟设计都不一样
离线
下载到emmc 可以按下fel按键下载 或者短接SDIO的CLK或者CMD,我测试过全志的部分芯片 是可行的,SPI FLASH也是短接CLK 。(使用PhoenixSuit软件 自动跳出烧录界面)
离线
a.无法通过软件进入,需要制作boot卡或者短接掉emmc
b.设备管理器,没有就是有问题
c.这个除了自己弄其他也没办法阿,毕竟设计都不一样
a. 短接是个好方法。 可以试试。
b. 我的另外一个正常的A33开发板,开机自动走TF卡。 但是设备管理器也没有usb设备显示。 可以通过安检进入uboot,usb就可以刷机了。 我的意思是,如果没有uboot或者uboot写错了呢?
c. 谢谢。
离线
a. 短接是个好方法。 可以试试。
b. 我的另外一个正常的A33开发板,开机自动走TF卡。 但是设备管理器也没有usb设备显示。 可以通过安检进入uboot,usb就可以刷机了。 我的意思是,如果没有uboot或者uboot写错了呢?
c. 谢谢。
只要写了SPL就不会到FEL模式下去,就需要各种方法强制打断emmc执行,对了,emmc的boot0下可能还存在一份启动文件
离线
下载到emmc 可以按下fel按键下载 或者短接SDIO的CLK或者CMD,我测试过全志的部分芯片 是可行的,SPI FLASH也是短接CLK 。(使用PhoenixSuit软件 自动跳出烧录界面)
原先有代码运行的的确可以通过此方法联机。 如果没代码的(空片),此方法还是不行,不知道是板子问题还是需要怎么初始化呢?
离线
只要写了SPL就不会到FEL模式下去,就需要各种方法强制打断emmc执行,对了,emmc的boot0下可能还存在一份启动文件
windows资源管理器可以看到设备:USB Device(VID_1f3a_PID_efe8)
如果需要操作emmc,需要使用sun-fel工具的吗?windows还是linux下面操作?
如果板子刚贴片回来(空片)默认可以连接usb的吗?
谢谢
离线
空片的确可以进入FEL模式。
现在问题是: 如何把主线的uboot, zimage等写道emmc? 怎么分区?
主线的uboot等打包的img文件phoenixUSBpro不认, 好像看到有说主线的不能用这个工具刷,什么原因呢?
谢谢。
离线
主线的uboot可以通过sunxi-tools下载到内存中,再用dfu下载就行了
离线
主线的uboot可以通过sunxi-tools下载到内存中,再用dfu下载就行了
可以写入内存,启动uboot没问题。也可以启动tf卡上的linux。 但是进去linux我也没找到emmc。
什么是dfu?
谢谢。
离线
DFU全称Device Firmware Upgrade设备固件更新。
谢谢。
离线
没有找到emmc会不会是你uboot选项没有打开?
离线
主线的uboot可以通过sunxi-tools下载到内存中,再用dfu下载就行了
DFU具体怎么用的?
或者说烧写主线uboot之类的有没有其它方法? 我看phoenixUSBpro比较方便,就是不知道怎么生成“合格”的img文件。
我看看uboot的设定去:)
谢谢
离线
具体怎么用参见uboot相关说明,配置好环境变量就可以正确的下载了
离线
好的。谢谢。
离线
又碰到新问题。折腾半天了。
进入fel,然后通过sunxi-fel uboot下载自己编译的uboot到目标板,运行的结果。
信息如下:
U-Boot SPL 2019.01-rc3-g829407b58f-dirty (Jul 26 2020 - 15:20:41 +0800)
DRAM: 1024 MiB
Trying to boot from FEL
U-Boot 2019.01-rc3-g829407b58f-dirty (Jul 26 2020 - 15:20:41 +0800) Allwinner Technology
CPU: Allwinner A33 (SUN8I 1667)
Model: Sinlinx SinA33
DRAM: setup_dest_addr1 GiB
MMC: MMC0: 01c20060 = 0x1004140, 01c20088 = 0x0, 01c202c0 = 0x1004140
MMC2: 01c20060 = 0x1004540, 01c20090 = 0x0, 01c202c0 = 0x1004540
mmc@1c0f000: 0, mmc@1c11000: 1
Loading Environment from FAT... Card did not respond to voltage select!
Setting up a 1280x720 lcd console (overscan 0x0)
In: serial
Out: vga
Err: vga
Allwinner mUSB OTG (Peripheral)
Net:
Warning: usb_ether using MAC address from ROM
eth0: usb_ether
starting USB...
USB0: USB EHCI 1.00
USB1: USB OHCI 1.0
scanning bus 0 for devices... 2 USB Device(s) found
scanning bus 1 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
=>
=>
=> mmc rescan
MMC: no card present
=> mmc info
MMC: no card present
=> mmc dev 1
Card did not respond to voltage select!
=> mmc list
mmc@1c0f000: 0
mmc@1c11000: 1
=> mmc dev 1
Card did not respond to voltage select!
板子自己运行可以从emmc启动系统。 系统是通过phoenixUSBpro写入的。
emmc的电压也从3.0改到3.3还是上面提示。
有碰到给个建议。 估计boot里面没搞对。
谢谢。
离线
下面是正常启动系统的信息:
[mmc]: mmc driver ver 2014-8-11 15:06:39
[mmc]: ***Try SD card 2***
[mmc]: mmc 2 cmd 8 timeout, err 00000100
[mmc]: mmc 2 cmd 8 err 00000100
[mmc]: mmc 2 send if cond failed
[mmc]: mmc 2 cmd 55 timeout, err 00000100
[mmc]: mmc 2 cmd 55 err 00000100
[mmc]: mmc 2 send app cmd failed
[mmc]: ***Try MMC card 2***
[mmc]: MMC ver 5.0
[mmc]: SD/MMC Card: 4bit, capacity: 7456MB
[mmc]: vendor: Man 00110100 Snr 0079dbcc
[mmc]: product: 008G7
[mmc]: revision: 3.0
[mmc]: ***SD/MMC 2 init OK!!!***
sdcard 2 init ok
The size of uboot is 000c8000.
sum=142c7960
src_sum=142c7960
set_mmc_para,sdly 50M 0
set_mmc_para,sdly 25M 0
Succeed in loading uboot from sdmmc flash.
这个eMMC不是8bit的吗?
dts里面的配置:
&mmc0 {
pinctrl-names = "default";
pinctrl-0 = <&mmc0_pins_a>, <&mmc0_cd_pin_sina33>;
vmmc-supply = <®_dcdc1>;
bus-width = <4>;
cd-gpios = <&pio 1 4 GPIO_ACTIVE_LOW>;
status = "okay";
};
&mmc2 {
pinctrl-names = "default";
pinctrl-0 = <&mmc2_8bit_pins>;
vmmc-supply = <®_dcdc1>;
bus-width = <8>;
non-removable;
cap-mmc-hw-reset;
status = "okay";
};
&mmc2_8bit_pins {
/* Increase drive strength for DDR modes */
drive-strength = <40>;
/* eMMC is missing pull-ups */
bias-pull-up;
};
另外一个问题就是: 这个板子插上TF卡就无法启动。(串口没有任何信息)
离线
又碰到新问题。折腾半天了。
进入fel,然后通过sunxi-fel uboot下载自己编译的uboot到目标板,运行的结果。
信息如下:U-Boot SPL 2019.01-rc3-g829407b58f-dirty (Jul 26 2020 - 15:20:41 +0800)
DRAM: 1024 MiB
Trying to boot from FELU-Boot 2019.01-rc3-g829407b58f-dirty (Jul 26 2020 - 15:20:41 +0800) Allwinner Technology
CPU: Allwinner A33 (SUN8I 1667)
Model: Sinlinx SinA33
DRAM: setup_dest_addr1 GiB
MMC: MMC0: 01c20060 = 0x1004140, 01c20088 = 0x0, 01c202c0 = 0x1004140
MMC2: 01c20060 = 0x1004540, 01c20090 = 0x0, 01c202c0 = 0x1004540
mmc@1c0f000: 0, mmc@1c11000: 1
Loading Environment from FAT... Card did not respond to voltage select!
Setting up a 1280x720 lcd console (overscan 0x0)
In: serial
Out: vga
Err: vga
Allwinner mUSB OTG (Peripheral)
Net:
Warning: usb_ether using MAC address from ROM
eth0: usb_ether
starting USB...
USB0: USB EHCI 1.00
USB1: USB OHCI 1.0
scanning bus 0 for devices... 2 USB Device(s) found
scanning bus 1 for devices... 1 USB Device(s) found
scanning usb for storage devices... 0 Storage Device(s) found
Hit any key to stop autoboot: 0
=>
=>
=> mmc rescan
MMC: no card present
=> mmc info
MMC: no card present
=> mmc dev 1
Card did not respond to voltage select!
=> mmc list
mmc@1c0f000: 0
mmc@1c11000: 1
=> mmc dev 1
Card did not respond to voltage select!板子自己运行可以从emmc启动系统。 系统是通过phoenixUSBpro写入的。
emmc的电压也从3.0改到3.3还是上面提示。
有碰到给个建议。 估计boot里面没搞对。
谢谢。
查查管脚配置,应该是复用模式不对
离线
这个先结帖了。 换了一个板子。 从TF启动,加载emmc,然后格式化写入uboot,再修改uda启动。可以看到SPL,但是还有错误。继续折腾中。
这里谢谢Shaoxi2010的解答。
离线