好久不过来名字够改了,A33被遗弃了:(
关于A33一直困扰的几个问题。
背景: 拿到一个空白的板子(怀疑是的), 电压都正常,但是上电连接usb到电脑没有反应。 根据量产的手册看, 可以通过usb下载或者tf卡下载到板载EMMC:
a.如果是一个被烧录过的板子,那么如何通过phoenixUSBpro重新进入量产模式,烧录img文件?
b.如果是个没有烧录过的板子,上电没有连接上usb(设备管理器没有新设备检测到), 需要检查哪里呢?
c.如果通过tf卡量产, 请问这个img是哪里有下载的吗?还是需要自己做一个?
谢谢。
离线
a.无法通过软件进入,需要制作boot卡或者短接掉emmc
b.设备管理器,没有就是有问题
c.这个除了自己弄其他也没办法阿,毕竟设计都不一样
a. 短接是个好方法。 可以试试。
b. 我的另外一个正常的A33开发板,开机自动走TF卡。 但是设备管理器也没有usb设备显示。 可以通过安检进入uboot,usb就可以刷机了。 我的意思是,如果没有uboot或者uboot写错了呢?
c. 谢谢。
离线
下载到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没问题。也可以启动tf卡上的linux。 但是进去linux我也没找到emmc。
什么是dfu?
谢谢。
离线
DFU全称Device Firmware Upgrade设备固件更新。
谢谢。
离线
主线的uboot可以通过sunxi-tools下载到内存中,再用dfu下载就行了
DFU具体怎么用的?
或者说烧写主线uboot之类的有没有其它方法? 我看phoenixUSBpro比较方便,就是不知道怎么生成“合格”的img文件。
我看看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卡就无法启动。(串口没有任何信息)
离线
这个先结帖了。 换了一个板子。 从TF启动,加载emmc,然后格式化写入uboot,再修改uda启动。可以看到SPL,但是还有错误。继续折腾中。
这里谢谢Shaoxi2010的解答。
离线