使用F1C200S TINA3.5 SPINAND 在windows下的PhoenixSuit V1.19烧写固件,现象是:
1,空的nand第一次似乎提示烧写成功,但启动失败。
2,第二次以及之后的烧写就会失败。
3,配置以及按照官方nor切换nand的指南进行修改配置了。
4,板子换了全新空白nand 上去,也是一样的现象。
5,以下是第一次和第二次两次烧录的日志输出。
[0]beign to init dram
[23]init dram ok
U-Boot 2014.07 (Jul 31 2018 - 14:59:19) Allwinner Technology
uboot commit : 6604446f7bddb8fe53f2b993100929f92a5f4d6e
i2c_init: by cpux
[I2C-DEBUG]:i2c_set_clock() 354
[I2C-ERROR]:twi_send_clk_9pulse() 136 SDA is still Stuck Low, failed.
i2c_init ok
[2.651]pmbus: ready
axp: get node[/soc/pmu0] error
axp_probe error
[2.658]PMU: cpux 408 Mhz,AXI=408 Mhz
PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz
DRAM: 32 MiB
[2.667]fdt addr: 0x809e77a0
[2.669]gd->fdt_size: 0xc360
Relocation Offset is: 01524000
axp: get node[/soc/pmu0] error
int sunxi_dma_init---
irq enable
[2.739]flash init start
workmode = 16,storage type = 3
try card 1
[2.745][mmc]: mmc driver ver 2018-6-1 17:39:00
SUNXI SD/MMC: 1
[2.762][mmc]: ************Try SD card 1************
[mmc]: mmc 1 cmd 8 timeout, err 100
[mmc]: smc 1 err, cmd 8, RTO
[mmc]: mmc 1 close bus gating and reset
[mmc]: mmc 1 mmc cmd 8 err 0x00000100
[2.780][mmc]: mmc send if cond failed
[mmc]: mmc 1 cmd 55 timeout, err 100
[mmc]: smc 1 err, cmd 55, RTO
[mmc]: mmc 1 close bus gating and reset
[mmc]: mmc 1 mmc cmd 55 err 0x00000100
[2.798][mmc]: send app cmd failed
[2.801][mmc]: ************Try MMC card 1************
[mmc]: mmc 1 cmd 1 timeout, err 100
[mmc]: smc 1 err, cmd 1, RTO
[mmc]: mmc 1 close bus gating and reset
[mmc]: mmc 1 mmc cmd 1 err 0x00000100
[2.823][mmc]: read op condition failed
[2.826][mmc]: mmc send op cond failed
Card did not respond to voltage select!
[2.833][mmc]: ************SD/MMC 1 init error!!!************
[2.839][mmc]: mmc_init_boot: mmc int fail
[2.842][mmc]: mmc_init: mmc init fail, err -17
MMC init failed
try emmc fail
[2.849]NAND_UbootProbe start...
[2.852]NB1 : enter phy init
[2.855]nand_physic_init
[2.859]nand0: get node offset error
[2.862]init nctri NAND PIORequest error!
[2.866]nand_physic_init, init nctri error
[2.870]nand_physic_init init_parameter error
[2.874]nand_physic_init error -1
[2.877]SpiNandHwInit: Start Nand Hardware initializing Jun 9 2018 19:05:34.....
[2.884]uboot: nand version: 3 6008 20180610 1300
[2.901]request spi gpio ok!
int sunxi_dma_init---
irq enable
[2.906]uboot nand_request_tx_dma: reqest genernal dma for nand success, 0x81db8c7c
[2.914]request general tx dma channel ok!
[2.917]uboot nand_request_tx_dma: reqest genernal dma for nand success, 0x81db8c9c
[2.925]request general rx dma channel ok!
[2.929]SPI nand ID: 21aaef 0
[2.931][SCAN_DBG] NandTwoPlaneOp: 1, DriverTwoPlaneOPCfg: 1, 0xffbfffff
[2.938]nand : get id number_ctl from script:0x55aaaa55
[2.943]_UpdateExtAccessFreqPara: no para.
[2.947]PHY_Scan_DelayMode, it is a free page(type 0), block 8
[2.952]PHY_Scan_DelayMode, it is a free page(type 0), block 9
[2.958]PHY_Scan_DelayMode, it is a free page(type 0), block 10
[2.963]PHY_Scan_DelayMode, it is a free page(type 0), block 11
[2.969]PHY_Scan_DelayMode, it is a free page(type 0), block 12
[2.975]PHY_Scan_DelayMode, it is a free page(type 0), block 13
[2.980]PHY_Scan_DelayMode, it is a free page(type 0), block 14
[2.986]PHY_Scan_DelayMode, it is a free page(type 0), block 15
[2.992]PHY_Scan_DelayMode, it is a free page(type 0), block 16
[2.997]PHY_Scan_DelayMode, it is a free page(type 0), block 17
_get_spic_clk_v1: sclk0=0x64
[3.006]PHY_Scan_DelayMode: no right delay mode,set default clk 30MHz
[3.012]physic_info_read start!!
[3.015]physic_info_get_offset start!!
[3.027]can't find uboot head
[3.029]_GetOldPhysicArch: chip 0, block 20, page 0, oob: 0xff, 0xff, 0xff, 0xff
[3.036]_GetOldPhysicArch: find a good block, but no physic arch info.
[3.043]NAND_ReadPhyArch: blank page!
[3.046]
[3.047][SCAN_DBG] ==============Nand Architecture Parameter==============
[3.054][SCAN_DBG] Nand Chip ID: 0xff21aaef 0xffffffff
[3.059][SCAN_DBG] Nand Chip Count: 0x1
[3.064][SCAN_DBG] Nand Chip Connect: 0x1
[3.068][SCAN_DBG] Sector Count Of Page: 0x4
[3.072][SCAN_DBG] Page Count Of Block: 0x40
[3.076][SCAN_DBG] Block Count Of Die: 0x400
[3.081][SCAN_DBG] Plane Count Of Die: 0x2
[3.085][SCAN_DBG] Die Count Of Chip: 0x1
[3.089][SCAN_DBG] Bank Count Of Chip: 0x1
[3.093][SCAN_DBG] Optional Operation: 0x6d
[3.098][SCAN_DBG] Access Frequence: 0x32
[3.102][SCAN_DBG] =======================================================
[3.117]nand secure storage fail: 0,0
[3.120]NB1 : nand phy init ok
[3.123]NB1 : enter phy Exit
nand release dma:81db8c7c
nand release dma:0
sunxi dma exit
[3.131]NAND_UbootProbe end: 0x0
nand found
read mbr copy[0] failed
read mbr copy[1] failed
read mbr copy[2] failed
read mbr copy[3] failed
[3.143]flash init end
[3.145]try to burn key
[3.150]inter uboot shell
Hit any key to stop autoboot: 0
work mode=0x10
run usb efex
delay time 2500
int sunxi_dma_init---
irq enable
sunxi_dma_install_int ok
usb init ok
set address 0xd
set address 0xd
SUNXI_EFEX_ERASE_TAG
erase_flag = 0x0
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
the 0 mbr table is ok
the 1 mbr table is ok
the 2 mbr table is ok
the 3 mbr table is ok
*************MBR DUMP***************
total mbr part 8
part[0] name :bootlogo
part[0] classname :DISK
part[0] addrlo :0x2000
part[0] lenlo :0x800
part[0] user_type :32768
part[0] keydata :0
part[0] ro :0
part[1] name :env
part[1] classname :DISK
part[1] addrlo :0x2800
part[1] lenlo :0x200
part[1] user_type :32768
part[1] keydata :0
part[1] ro :0
part[2] name :boot
part[2] classname :DISK
part[2] addrlo :0x2a00
part[2] lenlo :0x3000
part[2] user_type :32768
part[2] keydata :0
part[2] ro :0
part[3] name :rootfs
part[3] classname :DISK
part[3] addrlo :0x5a00
part[3] lenlo :0x15c70
part[3] user_type :32768
part[3] keydata :0
part[3] ro :0
part[4] name :rootfs_data
part[4] classname :DISK
part[4] addrlo :0x1b670
part[4] lenlo :0xc800
part[4] user_type :32768
part[4] keydata :0
part[4] ro :0
part[5] name :misc
part[5] classname :DISK
part[5] addrlo :0x27e70
part[5] lenlo :0x200
part[5] user_type :32768
part[5] keydata :0
part[5] ro :0
part[6] name :private
part[6] classname :DISK
part[6] addrlo :0x28070
part[6] lenlo :0x200
part[6] user_type :32768
part[6] keydata :0
part[6] ro :0
part[7] name :UDISK
part[7] classname :DISK
part[7] addrlo :0x28270
part[7] lenlo :0x0
part[7] user_type :33024
part[7] keydata :0
part[7] ro :0
total part: 9
mbr 0, 2000, 8000
bootlogo 1, 800, 8000
env 2, 200, 8000
boot 3, 3000, 8000
rootfs 4, 15c70, 8000
rootfs_data 5, c800, 8000
misc 6, 200, 8000
private 7, 200, 8000
UDISK 8, 0, 8100
[6.846]erase_flag = 0
[6.848]NB1 : enter phy init
[6.851]SpiNandHwInit: Start Nand Hardware initializing Jun 9 2018 19:05:34.....
[6.858]uboot: nand version: 3 6008 20180610 1300
[6.875]request spi gpio ok!
[6.878]uboot nand_request_tx_dma: reqest genernal dma for nand success, 0x81db8c9c
[6.885]request general tx dma channel ok!
[6.889]uboot nand_request_tx_dma: reqest genernal dma for nand success, 0x81db8cbc
[6.896]request general rx dma channel ok!
[6.900]SPI nand ID: 21aaef 0
[6.903][SCAN_DBG] NandTwoPlaneOp: 1, DriverTwoPlaneOPCfg: 1, 0xffbfffff
[6.909]nand : get id number_ctl from script:0x55aaaa55
[6.914]_UpdateExtAccessFreqPara: no para.
[6.918]PHY_Scan_DelayMode, it is a free page(type 0), block 8
[6.924]PHY_Scan_DelayMode, it is a free page(type 0), block 9
[6.929]PHY_Scan_DelayMode, it is a free page(type 0), block 10
[6.935]PHY_Scan_DelayMode, it is a free page(type 0), block 11
[6.940]PHY_Scan_DelayMode, it is a free page(type 0), block 12
[6.946]PHY_Scan_DelayMode, it is a free page(type 0), block 13
[6.952]PHY_Scan_DelayMode, it is a free page(type 0), block 14
[6.957]PHY_Scan_DelayMode, it is a free page(type 0), block 15
[6.963]PHY_Scan_DelayMode, it is a free page(type 0), block 16
[6.969]PHY_Scan_DelayMode, it is a free page(type 0), block 17
_get_spic_clk_v1: sclk0=0x64
[6.977]PHY_Scan_DelayMode: no right delay mode,set default clk 30MHz
[6.983]physic_info_read start!!
[6.986]physic_info_read already!!
[6.989]_GetOldPhysicArch: chip 0, block 20, page 0, oob: 0xff, 0xff, 0xff, 0xff
[6.996]_GetOldPhysicArch: find a good block, but no physic arch info.
[7.002]NAND_ReadPhyArch: blank page!
[7.006]
[7.007][SCAN_DBG] ==============Nand Architecture Parameter==============
[7.013][SCAN_DBG] Nand Chip ID: 0xff21aaef 0xffffffff
[7.019][SCAN_DBG] Nand Chip Count: 0x1
[7.023][SCAN_DBG] Nand Chip Connect: 0x1
[7.028][SCAN_DBG] Sector Count Of Page: 0x4
[7.032][SCAN_DBG] Page Count Of Block: 0x40
[7.036][SCAN_DBG] Block Count Of Die: 0x400
[7.041][SCAN_DBG] Plane Count Of Die: 0x2
[7.045][SCAN_DBG] Die Count Of Chip: 0x1
[7.049][SCAN_DBG] Bank Count Of Chip: 0x1
[7.053][SCAN_DBG] Optional Operation: 0x6d
[7.058][SCAN_DBG] Access Frequence: 0x32
[7.062][SCAN_DBG] =======================================================
0,bit[11]=1
[19.296]physic_info_read start!!
[19.299]physic_info_read already!!
[19.302]
[19.304][SCAN_DBG] ==============Nand Architecture Parameter==============
[19.310][SCAN_DBG] Nand Chip ID: 0xff21aaef 0xffffffff
[19.316][SCAN_DBG] Nand Chip Count: 0x1
[19.320][SCAN_DBG] Nand Chip Connect: 0x1
[19.325][SCAN_DBG] Sector Count Of Page: 0x4
[19.329][SCAN_DBG] Page Count Of Block: 0x40
[19.333][SCAN_DBG] Block Count Of Die: 0x400
[19.338][SCAN_DBG] Plane Count Of Die: 0x1
[19.342][SCAN_DBG] Die Count Of Chip: 0x1
[19.347][SCAN_DBG] Bank Count Of Chip: 0x1
[19.351][SCAN_DBG] Optional Operation: 0x60
[19.355][SCAN_DBG] Access Frequence: 0x0
[19.360][SCAN_DBG] =======================================================
[19.387]secure storage updata ok!
[19.390]nand secure storage ok: 58,59
[19.394]NB1 : nand phy init ok
[19.397]burn boot0 normal mode!
[19.399]SPINAND burn boot0!
[19.402]boot0 count 0!
[19.441]SPINAND burn boot0!
[19.443]boot0 count 1!
[19.482]SPINAND burn boot0!
[19.484]boot0 count 2!
[19.523]SPINAND burn boot0!
[19.525]boot0 count 3!
[19.564]SPINAND burn boot0!
[19.566]boot0 count 4!
[19.605]SPINAND burn boot0!
[19.607]boot0 count 5!
[19.646]SPINAND burn boot0!
[19.649]boot0 count 6!
[19.687]SPINAND burn boot0!
[19.690]boot0 count 7!
[19.728]NB1 : enter phy Exit
nand release dma:81db8c9c
nand release dma:0
FEX_CMD_fes_verify_status
FEX_CMD_fes_verify last err=0
sunxi_efex_next_action=2
exit usb
sunxi dma exit
next work 2
SUNXI_UPDATE_NEXT_ACTION_REBOOT
set next mode 14
nand not opened
sunxi dma exit
[0]HELLO! BOOT0 is starting!
[2]boot0 commit : 80628dcde5dc4ecdc757a9e782c58d7cf1abf959
[60]dram size =64
[62](GPIO_BASE_ADDR + 0x48): 0x00002222
[65](GPIO_BASE_ADDR + 0x5c): 0x00000055
[69](GPIO_BASE_ADDR + 0x64): 0x00000004
[72]CCMU_BASE_ADDR + 0x2c0 0x00104040
[76]CCMU_BASE_ADDR + 0x60 0x00104040
[79]SPIC0_BASE_ADDR+0x24: 0x00001004
[82]spinand UBOOT_START_BLK_NUM 8 UBOOT_LAST_BLK_NUM 58
[87]block from 8 to 58
[567]Check is correct.
[578]Ready to disable icache.
[581]Jump to secend Boot.
U-Boot 2014.07 (Jul 31 2018 - 14:59:19) Allwinner Technology
uboot commit : 6604446f7bddb8fe53f2b993100929f92a5f4d6e
i2c_init: by cpux
[I2C-DEBUG]:i2c_set_clock() 354
[I2C-ERROR]:twi_send_clk_9pulse() 136 SDA is still Stuck Low, failed.
i2c_init ok
[0.629]pmbus: ready
axp: get node[/soc/pmu0] error
axp_probe error
[0.636]PMU: cpux 408 Mhz,AXI=408 Mhz
PLL6=600 Mhz,AHB1=200 Mhz, APB1=100Mhz
key value = 4294967295, fel_key = [256,426]
DRAM: 64 MiB
Relocation Offset is: 03524000
axp: get node[/soc/pmu0] error
int sunxi_dma_init---
irq enable
workmode = 0,storage type = 0
[0.719]NAND: NAND_UbootInit
[0.721]NAND_UbootInit start
[0.724]NB1: enter NAND_LogicInit
[0.729]nand0: get node offset error
[0.732]init nctri NAND PIORequest error!
[0.735]nand_physic_init, init nctri error
[0.739]nand_physic_init init_parameter error
[0.743]nand_physic_init error -1
[0.746]SpiNandHwInit: Start Nand Hardware initializing Jun 9 2018 19:05:34.....
[0.754]uboot: nand version: 3 6008 20180610 1300
int sunxi_dma_init---
irq enable
[0.773]uboot nand_request_tx_dma: reqest genernal dma for nand success, 0x83db8c7c
[0.781]uboot nand_request_tx_dma: reqest genernal dma for nand success, 0x83db8c9c
_get_spic_clk_v1: sclk0=0x64
[0.818]not burn nand partition table!
[0.821][ND]not enough block:479,878!!
[0.825][NE]build phy partition 0 error!
[0.828][NE]build all phy partition fail!
[0.949][NE]not find mbr table!!!!
[0.952]NB1: nand_info_init fail
[0.955]NAND_UbootInit end: 0xfffffffb
[0.958]nand init fail
initcall sequence 83dacb6c failed at call 80809fec
Error reading from serial device
第二次 末尾的日志
562][PHY_DBG] Find a bad block (NO. 0x3f0) in the Die 0x0
[18.568]PHY_PageReadSpare bad flag: bank 0x0 block 0x3f1 page 0x0
[18.574][PHY_DBG] Find a bad block (NO. 0x3f1) in the Die 0x0
[18.579]PHY_PageReadSpare bad flag: bank 0x0 block 0x3f2 page 0x0
[18.585][PHY_DBG] Find a bad block (NO. 0x3f2) in the Die 0x0
[18.591]PHY_PageReadSpare bad flag: bank 0x0 block 0x3f3 page 0x0
[18.597][PHY_DBG] Find a bad block (NO. 0x3f3) in the Die 0x0
[18.603]PHY_PageReadSpare bad flag: bank 0x0 block 0x3f4 page 0x0
[18.609][PHY_DBG] Find a bad block (NO. 0x3f4) in the Die 0x0
[18.614]PHY_PageReadSpare bad flag: bank 0x0 block 0x3f5 page 0x0
[18.620][PHY_DBG] Find a bad block (NO. 0x3f5) in the Die 0x0
[18.626]PHY_PageReadSpare bad flag: bank 0x0 block 0x3f6 page 0x0
[18.632][PHY_DBG] Find a bad block (NO. 0x3f6) in the Die 0x0
[18.638]PHY_PageReadSpare bad flag: bank 0x0 block 0x3f7 page 0x0
[18.644][PHY_DBG] Find a bad block (NO. 0x3f7) in the Die 0x0
[18.649]PHY_PageReadSpare bad flag: bank 0x0 block 0x3f8 page 0x0
[18.656][PHY_DBG] Find a bad block (NO. 0x3f8) in the Die 0x0
[18.661]PHY_PageReadSpare bad flag: bank 0x0 block 0x3f9 page 0x0
[18.667][PHY_DBG] Find a bad block (NO. 0x3f9) in the Die 0x0
[18.673]PHY_PageReadSpare bad flag: bank 0x0 block 0x3fa page 0x0
[18.679][PHY_DBG] Find a bad block (NO. 0x3fa) in the Die 0x0
[18.685]PHY_PageReadSpare bad flag: bank 0x0 block 0x3fb page 0x0
[18.691][PHY_DBG] Find a bad block (NO. 0x3fb) in the Die 0x0
[18.696]PHY_PageReadSpare bad flag: bank 0x0 block 0x3fc page 0x0
[18.702][PHY_DBG] Find a bad block (NO. 0x3fc) in the Die 0x0
[18.708]PHY_PageReadSpare bad flag: bank 0x0 block 0x3fd page 0x0
[18.714][PHY_DBG] Find a bad block (NO. 0x3fd) in the Die 0x0
[18.720]PHY_PageReadSpare bad flag: bank 0x0 block 0x3fe page 0x0
[18.726][PHY_DBG] Find a bad block (NO. 0x3fe) in the Die 0x0
[18.731]PHY_PageReadSpare bad flag: bank 0x0 block 0x3ff page 0x0
[18.737][PHY_DBG] Find a bad block (NO. 0x3ff) in the Die 0x0
[18.743][NE]not find mbr table!!!!
[18.746]NB1: nand_info_init fail
[18.749]NAND_UbootInit end: 0xfffffffb
sunxi sprite init fail when downlaod mbr
根据以上描述及LOG提示可以得知:
1、第一次烧录成功了,证明你的flash驱动应该是支持这颗nand的,所以可以烧进去
2、但烧录进去不代表你flash驱动中的ID配置一定是正确的,有可能你拿到的flash驱动中对这颗物料的参数配置(坏块标记位、oob区域划分、ecc校验能力等)配置不正确,导致你第一次烧录的时候,在这颗flash上误标记了bad block,故后续烧录或者启动会提示很多的“bad block......”
3、建议找一个常用型号的flash,先替换上去,看下是否能正常启动,可以试一下这款(MX35LF1GE4AB),这款在很早之前的驱动已经是支持的了
原贴链接:https://bbs.aw-ol.com/topic/4251/
资源获取、问题讨论可以到全志在线开发者社区进行:https://www.aw-ol.com
全志及开发者最新动态可以关注全志在线微信公众号