WhyCan Forum

人过留名,雁过留声,感谢各位朋友不离不弃地支持。 QQ: 516333132, 微信: whycan_cn (挖坑网/填坑网) admin@whycan.cn

您尚未登录。

#1 2019-11-06 14:46:44

ydei
会员
注册时间: 2019-11-06
累计积分: 10

【挖坑】索志S3 的SPI NAND在线自动无感烧录

【背景】
1、S3+SPI NAND,只预留了USB接口
2、当前是通过USB接口,使用PhoenixUSBPro进行在线量产烧录

【问题】
1、量比较大,而,PhoenixUSBPro在USB端口发生变化时,会弹窗,需要手动处理,做不到全自动,效率低
2、有不少库存需要做升级,须在烧录前备份出厂数据,在烧录后恢复出厂数据,而,PhoenixUSBPro在烧写完成的接口未提供,我们无法在烧录完成后准确进行下一步恢复出厂数据操作。

【需求】
1、求填坑。

离线

#2 2019-11-06 14:51:02

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,304

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

这个问题用USB烧录始终不好解决, 不如换一种思路吧, 做一张特殊的TF卡,从这种TF卡启动, 自动烧录,烧完屏幕提示,或者蜂鸣器提醒,这种效率是不是高很多,能满足需求吗?

离线

#3 2019-11-06 14:54:11

ydei
会员
注册时间: 2019-11-06
累计积分: 10

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

晕哥 说:

这个问题用USB烧录始终不好解决, 不如换一种思路吧, 做一张特殊的TF卡,从这种TF卡启动, 自动烧录,烧完屏幕提示,或者蜂鸣器提醒,这种效率是不是高很多,能满足需求吗?

产品上只留了USB口,这个怎么破解?

离线

#4 2019-11-06 14:56:04

ydei
会员
注册时间: 2019-11-06
累计积分: 10

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

找到个linux版本的: https://github.com/parasyte/awutils 。不知道支持不支持S3。

离线

#5 2019-11-06 14:56:29

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,304

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

3. V3s/S3/f1c100s通过USB启动Linux,并把SD NAND/TF卡挂载为U盘, 可以dd或Win32DiskImager任烧写

可以接受这种烧录方式吗?
如果可以的话,就没问题。

离线

#6 2019-11-06 15:00:35

ydei
会员
注册时间: 2019-11-06
累计积分: 10

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

晕哥 说:

3. V3s/S3/f1c100s通过USB启动Linux,并把SD NAND/TF卡挂载为U盘, 可以dd或Win32DiskImager任烧写

可以接受这种烧录方式吗?
如果可以的话,就没问题。

我正在看能否让小白用户做到无感升级。我先试试。

离线

#7 2019-11-06 15:08:16

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,304

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

改造一下编程的软件, 应该问题不大, windows配合 Win32DiskImager 烧录。

原理就是, 先通过usb(sunxi fel)下载u-boot/linux到板子上运行, 并且把 spi nand模拟成一个u盘, 然后用Win32DiskImager二进制模式写这个U盘。

上面这些工具都是开源的, 你整合整合, 应该问题不大。

离线

#8 2019-11-06 16:02:32

ydei
会员
注册时间: 2019-11-06
累计积分: 10

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

晕哥 说:

改造一下编程的软件, 应该问题不大, windows配合 Win32DiskImager 烧录。

原理就是, 先通过usb(sunxi fel)下载u-boot/linux到板子上运行, 并且把 spi nand模拟成一个u盘, 然后用Win32DiskImager二进制模式写这个U盘。

上面这些工具都是开源的, 你整合整合, 应该问题不大。

嗯呐。下载u-boot到板子上时,提示如下错误信息,是啥原因?我有安装ADB驱动。

"bin\sunxi-fel.exe" -p uboot u-boot-sunxi-with-spl.bin.S3 write 0x41000000 zImage write 0x41800000 sun8i-v3s-licheepi-zero-dock.dtb.PG9 write 0x41900000 boot_fel_initrd.scr write 0x41A00000 rootfs.cpio.gz.uImage
ERROR: Allwinner USB FEL device not found!
"download complete! now run linux ..."

离线

#9 2019-11-06 16:05:06

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,304

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

fel的驱动要换 libusb的: https://whycan.cn/t_444.html

离线

#10 2019-11-06 16:33:19

ydei
会员
注册时间: 2019-11-06
累计积分: 10

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

我的设备,只有SPI NAND FLASH,把BOOT下载到板子上,是否就意味着,下到了SPI NAND FLASH上?如果是,接下来还能对NAND分区并烧录?

另外,既然可以把BOOT 下到板子上,那么,是否可以把IMAGE直接写到NAND上就可以了?

离线

#11 2019-11-06 16:42:48

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,304

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

我的意思就是做一个正常的,能启动的 spi nand flash 镜像 bin文件,然后通过上面说的Win32DiskImager一次烧到模拟u盘文件。

linux下用dd命令会更灵活。

离线

#12 2019-11-06 16:45:15

ydei
会员
注册时间: 2019-11-06
累计积分: 10

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

晕哥 说:

我的意思就是做一个正常的,能启动的 spi nand flash 镜像 bin文件,然后通过上面说的Win32DiskImager一次烧到模拟u盘文件。

linux下用dd命令会更灵活。

"bin\sunxi-fel.exe" -p uboot u-boot-sunxi-with-spl.bin.S3 write 0x41000000 zImage write 0x41800000 sun8i-v3s-licheepi-zero-dock.dtb.PG9 write 0x41900000 boot_fel_initrd.scr write 0x41A00000 rootfs.cpio.gz.uImage

晕哥,

这个地址,是内存地址,还是哪里的地址? 0x41000000

另外,烧写成功了,但是用Win32DiskImager,貌似找不到device。

离线

#13 2019-11-06 16:59:20

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,304

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

上面都是内存地址。

你的usb id脚和小智s3的板子不同,他的是PG9,你要么改下设备树,要么飞线。

离线

#14 2019-11-06 17:04:19

ydei
会员
注册时间: 2019-11-06
累计积分: 10

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

晕哥 说:

上面都是内存地址。

你的usb id脚和小智s3的板子不同,他的是PG9,你要么改下设备树,要么飞线。

求科普 设备的树修改:sun8i-v3s-licheepi-zero-dock.dtb.PG9

离线

#15 2019-11-06 17:10:03

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,304

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

反编译设备树,把PG9那个地方改成你的io口,然后再编译,我没这么干过,只是建议。

离线

#16 2019-11-06 18:59:07

ydei
会员
注册时间: 2019-11-06
累计积分: 10

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

晕哥 说:

反编译设备树,把PG9那个地方改成你的io口,然后再编译,我没这么干过,只是建议。

;----------------------------------------------------------------------------------
[usbc0]
usb_used            = 1
usb_port_type       = 0
usb_detect_type     = 1
usb_id_gpio         = port:PG09<0><1><default><default>
usb_det_vbus_gpio   = "axp_ctrl"
usb_drv_vbus_gpio   = port:PG08<1><0><default><0>
usb_restrict_gpio   =
usb_host_init_state = 1
usb_restric_flag    = 0
usb_restric_voltage = 3550000
usb_restric_capacity= 5
usb_regulator_io    = "nocare"
usb_regulator_vol   = 0
usb_not_suspend     = 0

离线

#17 2019-11-06 19:02:41

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,304

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

你这个也是PG9, 可能都是照搬索智的参考电路吧, 你有没有用 PMU 芯片, PG8控制了什么?

离线

#18 2019-11-06 19:04:59

ydei
会员
注册时间: 2019-11-06
累计积分: 10

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

晕哥 说:

你这个也是PG9, 可能都是照搬索智的参考电路吧, 你有没有用 PMU 芯片, PG8控制了什么?

PG9直接上拉3.3V,PG8什么都没接。有PMU:AXP203

离线

#19 2019-11-06 19:06:39

晕哥
Administrator
注册时间: 2017-09-06
累计积分: 8,304

Re: 【挖坑】索志S3 的SPI NAND在线自动无感烧录

PG9接 USB ID 管脚, 这个版本的软件才切换 OTG 的. 要不你下拉试一试.

离线

页脚