有没有在全志 V3s下用过Spi nand flash的朋友?
一个朋友焦急调试spi nand的聊天记录:
我准备换spi nand flash了,目前我的这个型号有可能v3s不支持,我先换成它支持的,先测一下,你先别焊上去了,免得到时候还要拆
我买另外一种先验证一下
目前的这个芯片的oob比正常的大一倍
这个是v3s的支持的芯片
我换了一个MX35LF1GE4AB
我先试试,验证一下
但是我测试了一下,分析了一下uboot的代码,前面的那段汇编以及一小段C代码是和flash无关的,
只要芯片读到了就能运行的,但是我现在它检测不到我的文件,我就很费解
我看了一下,官方的那个是Q4UAY
我的是Q4UBY
oob空间两个不一样
现在问题是不知道有没有用校验算法, 用什么校验算法
我这版代码里面直接写的,没有对oob做什么处理,我也怕是这个原因在里面
离线
离线
这里有个人使用了spi nand flash启动的
https://www.youtube.com/watch?v=IIbRWTCTslw
不知道晕哥解决了没有?
我也想换成w25n01gva1启动
离线
离线
离线
关注此贴
离线
我验证了半天,好像GD的芯片不能启动,下午去搞一片MX的试试
离线
我试过W25N01GVZEIG,linux下可以读写。把uboot的写到0x00000000开始的1MB,spl没有打印信息。
离线
我试过W25N01GVZEIG,linux下可以读写。把uboot的写到0x00000000开始的1MB,spl没有打印信息。
据我所知主线的uboot spl 串口本来就没输出吧?
离线
看来没下文啊,过去这么久了
离线
@emosquito 你好,我也用的W25N01GVZEIG,怎么调的,能否分享一下
我试过W25N01GVZEIG,linux下可以读写。把uboot的写到0x00000000开始的1MB,spl没有打印信息。
离线
首先要搞定v3s内置的启动代码如何识别nand,如何读取数据和使用oob,能运行到spl阶段,一切都好办
离线
是不是要先在spi_flash_ids.c的const struct spi_flash_info spi_flash_ids[] =中添加w25n01g的相关信息
首先要搞定v3s内置的启动代码如何识别nand,如何读取数据和使用oob,能运行到spl阶段,一切都好办
离线
是不是要先在spi_flash_ids.c的const struct spi_flash_info spi_flash_ids[] =中添加w25n01g的相关信息
www220 说:首先要搞定v3s内置的启动代码如何识别nand,如何读取数据和使用oob,能运行到spl阶段,一切都好办
首先要整明白v3s内置rom的启动spi的nand的运行机制,然后才是你说的问题,就说要先启动到spl阶段才能又我们修改代码的机会,否则都是v3s的内部rom的代码,没机会接管芯片的
最近编辑记录 www220 (2018-05-14 13:00:35)
离线
U-Boot 2011.09-rc1 (Oct 18 2019 - 23:10:17) Allwinner Technology
[ 0.334]version: 1.1.0
[ 0.337]uboot commit : 8
[ 0.343]pmbus: ready
not set main pmu id
axp read error
probe axp20x failed
axp152 read error
probe axp15 failed
axp_probe error
[ 0.470]PMU: pll1 408 Mhz,PLL6=600 Mhz
AXI=204 Mhz,AHB=204 Mhz, APB1=102 Mhz
set power on vol to default
dcdc2_vol = 1200
axp set dcdc2_vol to 1200 failed
dcdc3_vol = 3300
axp set dcdc3_vol to 3300 failed
aldo2_vol = 2500
axp set aldo2_vol to 2500 failed
aldo3_vol = 3000
axp set aldo3_vol to 3000 failed
ldo1_vol = 3300
axp set ldo1_vol to 3300 failed
ldo2_vol = 3000
axp set ldo2_vol to 3000 failed
ldo3_vol = 3000
axp set ldo3_vol to 3000 failed
find power_sply to end
vbus exist
no battery, limit to dc
dram_para_set start
dram_para_set end
[ 0.600]DRAM: 64 MiB
relocation Offset is: 030a0000
save config for small mem_size
Not Found clk pll_de in script
Not Found clk pll_video1 in script
Not Found clk pll_video in script
Not Found clk pll_periph0 in script
DRV_DISP_Init end
[ 0.711]fetch script data boot_disp.output_disp fail
[ 0.716]fetch script data boot_disp.output_type fail
[ 0.721]fetch script data boot_disp.output_mode fail
[ 0.726]fetch script data boot_disp.auto_hpd fail
[ 0.731]lcd0_para.lcd_used=1
[disk_read_fs] no the partition
error: open disp_rsl.fex, maybe it is not exist
disp0 device type(1) enable
lcd_panel_fun[0].cfg_open_flow is NULL
lcd_panel_fun[0].cfg_panel_info is NULL
disp 0, clk: pll(360000000),clk(90000000),dclk(9000000) dsi_rate(360000000)
clk real:pll(114000000),clk(0),dclk(0) dsi_rate(0)
lcd_panel_fun[0].cfg_open_flow is NULL
lcd_panel_fun[0].cfg_open_flow is NULL
workmode = 17
storage type = 1
NAND_UbootProbe start
NB1 : enter phy init
NandHwInit: Start Nand Hardware initializing .....
uboot:nand version: 2 25 20150917 1145
Reg 0x01c20848: 0x3333
Reg 0x01c2085c: 0x55
Reg 0x01c20864: 0x10
uboot nand_request_tx_dma: reqest genernal dma for nand success, 0x43a34210
request general tx dma channel ok!
uboot nand_request_tx_dma: reqest genernal dma for nand success, 0x43a3422c
request general rx dma channel ok!
SPI nand ID: 21aaef 0
_SearchNandArchi fail
[ERR]NandHwInit: SCN_AnalyzeNandSystem() failed!
NandHwInit: End Nand Hardware initializing ..... FAIL!
NB1 : nand phy init fail
NB1 : enter phy Exit
nand release dma:43a34210
nand release dma:0
NAND_UbootProbe end: 0xffffffff
try nand fail
[ 0.835][mmc]: mmc driver ver 2015-04-13 14:50:00
err: gpio count < =0 ,gpio_count is: 0
[ 0.844][mmc]: get sdc_phy_wipe fail.
[ 0.847][mmc]: get sdc0 sdc_erase fail.
[ 0.851][mmc]: get sdc_2xmode fail used = 0
[ 0.856][mmc]: get sdc_ddrmode fail used = 0
[ 0.861][mmc]: get sdc_f_max fail,use default 50000000Hz
[ 0.866][mmc]: get card_line fail,use default card_line 4
[ 0.872][mmc]: get sdc_ex_dly_used fail,use default
[ 0.877][mmc]: SUNXI SD/MMC: 2
[ 2.879][mmc]: mmc 2,update clk failed
[ 2.882][mmc]: [mmc]: mmc 2 update clock failed
[ 2.888][mmc]: mmc 2 Found fatal err,so no send cmd
[ 2.893][mmc]: go idle failed
[ 2.896][mmc]: mmc go idle error
[ 2.899][mmc]: erase_grp_size:0x0WrBlk * 0x0 = 0x0 Byte
[ 2.905][mmc]: secure_feature 0x0
[ 2.908][mmc]: secure_removal_type 0x0
MMC init failed
In: serial
Out: serial
Err: serial
--------fastboot partitions--------
mbr not exist
[ 2.922]Hit any key to stop autoboot: 0
work mode=0x11
run card sprite
try sprite_led_gpio config
[ 2.932]sunxi sprite begin
sunxi sprite error: unable to get firmware start position
sunxi sprite firmware probe fail
离线
MX35LF1GE4AB
这个是NAND-FLASH吗
好像是1Gbit吧---128MB
离线
是不是封装是WSON8的SPI-FLASH大多数是NAND-FLASH吗,例如MX35LF1GE4AB.
离线
我的开发板上就是这个nand flash芯片。是不是需要在sunxi-tools中添加支持。正好找到这。
离线