lihongfei

lihongfei

0个粉丝

17

问答

0

专栏

2

资料

lihongfei  发布于  2016-12-10 11:01:13
采纳率 0%
17个问答
16180

使用W25Q128 SPI flash 启动不成功

 
Hi,大家好,
       

        目前我使用W25Q128 Flash 芯片,焊接到电路板上,然后使用Fastboot写入,发现写入成功,但是重启电路板的时候,发现只有打印:0x20 0x20 0x20 。。。。。 0x0a不知道为什么会出现这种情况?
       
        实验环境:
                1.首先可以肯定的是,硬件没有问题,因为,我有使用其他SPI flash 芯片同样也是16MB的空间,完整的写入进去,之所以改用W25Q128是因为,原来使用过一次,发现不好用,现在想看看原因
                2.配置EXCEL哪里,也有修改添加了 W25Q128  ID为0xef 0x40 0x18 ; EXCET ID : 0x0  ;block:64K;
                3.uboot 代码里面,V350_ids发现里面是存在W25Q128的,所以就未更改;
        结果:
                上诉所说,在使用fastboot的时候,写入生成的uboot,发现写入基本和其他芯片一直,但是就只有重启的时候,发现,只有打印0x20 。。。。。。 0x0A ,给人的感觉是,程序未写入FLASH,或者未启动程序
       

        另外:有做个另外一个实验,就是把Hi3516A板子上的FLASH(W25Q128)拿下来,通过SPI烧写器,将程序灌进去,再重新焊接上,发现uboot可以启动,起码在kernel之前没有问题。

        请问:是我操作步骤有问题,还是哪里没有配置进去,或者是Hi3516A不支持,此芯片(这个可能性很低),请各位指教,不胜感激
我来回答
回答20个
时间排序
认可量排序

lihongfei

0个粉丝

17

问答

0

专栏

2

资料

lihongfei 2016-12-10 12:02:30
认可0


首先,下载成功,识别成功。
但重新上电之后,串口打印

lihongfei

0个粉丝

17

问答

0

专栏

2

资料

lihongfei 2016-12-12 14:20:55
认可0
uboot已跑起来,虽然没人顶,但是总算跑起来了,不过就是很糊涂

lpowencom

0个粉丝

3

问答

0

专栏

0

资料

lpowencom 2016-12-26 17:13:50
认可0
您好,能否分享下如何解决的呢?谢谢

lihongfei

0个粉丝

17

问答

0

专栏

2

资料

lihongfei 2016-12-28 15:52:06
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=43370&ptid=13621]lpowencom 发表于 2016-12-26 17:13[/url]
您好,能否分享下如何解决的呢?谢谢[/quote]

目前的状态是,uboot和kernel可以正常跑起来,但是文件系统就不可以了,
修改的话你找到这个文件“hisfc350_spi_ids.c”,里面有关于W25Q128的参数

tgwfcc

1个粉丝

13

问答

0

专栏

0

资料

tgwfcc 2017-01-14 16:46:34
认可0
我也遇到这种问题了,用FAST工具或是HiTool烧写Uboot,虽然提示成功,但是我感觉好像没烧进去,或是烧写不正确。
因为我把FLASH取下来,用专门的烧录器烧录,同一个Uboot,但是从FLASH读出来的数据是不一样的。用烧录器烧写的就可以打印串口信息。
目前还未找到原因。

wfknife_free

0个粉丝

4

问答

0

专栏

0

资料

wfknife_free 2017-01-15 21:03:01
认可0
把uboot 和内核中 flash 对应的非标准读写接口删掉就可以啦。

tgwfcc

1个粉丝

13

问答

0

专栏

0

资料

tgwfcc 2017-01-16 10:00:04
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=44209&ptid=13621]wfknife_free 发表于 2017-1-15 21:03[/url]
把uboot 和内核中 flash 对应的非标准读写接口删掉就可以啦。[/quote]

请问这个非标准读写接口在哪里呢?有没有说明,或是函数名称

dazhazha

0个粉丝

6

问答

0

专栏

0

资料

dazhazha 2017-01-16 13:57:02
认可0
请问这个问题解决没有,我也遇到了这个问题,毫无头绪啊!!!

tgwfcc

1个粉丝

13

问答

0

专栏

0

资料

tgwfcc 2017-01-16 20:50:38
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=44248&ptid=13621]wfknife_free 发表于 2017-1-16 18:56[/url]
找到 w25q128 那块 里面的读写接口。[/quote]

你好,我不是做软件的,能不能帮忙把非标准读写接口标一下呢?
设计是按照3516A的DEMO板做的,

FLASH那块的WP,DEMO板是下拉的,我把WP改成上拉,去掉C43,Hold管脚接的是SFC的Hold管脚,这种情况下目前来说也是可以启动的。
不过还是没弄明白为什么会这样才行?

tgwfcc

1个粉丝

13

问答

0

专栏

0

资料

tgwfcc 2017-01-17 15:09:54
认可0
WP的上拉还是下拉不影响烧录和启动,今天又试了下,发现HOLD管脚只能接SFC的HOLD管脚,不能接SYS_RSTN_OUT,C43也不上件,这样是可以的。
当接SYS_RSTN_OUT,C43上件时,烧录可以成功,重新上电启动只打印1次20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A,就不启动了。
正常的启动:先是打印1次20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A,在打印Uboot信息。

上图是抓的SYS_RSTN_OUT启动时的信号,复位外设信号脉宽70-80ms(C43上件或是不上件,脉宽差不多),看FLASH手册的复位要求只要30us,

根据手册所说该脉宽小于130ms,是先于HI3516A释放的复位信号,应该是满足要求的。
还是没弄明白。

wsk311728

0个粉丝

3

问答

0

专栏

1

资料

wsk311728 2017-01-17 17:00:50
认可0
你的跟我很像,我是这样解决的,在u-boot/include/configs/hi3516a.h第65行后面添加宏定义
#define CONFIG_CLOSE_SPI_8PIN_4IO
你试试,看能不能解决

tgwfcc

1个粉丝

13

问答

0

专栏

0

资料

tgwfcc 2017-01-18 10:28:41
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=44293&ptid=13621]wsk311728 发表于 2017-1-17 17:00[/url]
你的跟我很像,我是这样解决的,在u-boot/include/configs/hi3516a.h第65行后面添加宏定义
#define CONFIG ...[/quote]

FLASH的HOLD管脚是接的3516A的SYS_RSTN_OUT信号脚吗?

lihongfei

0个粉丝

17

问答

0

专栏

2

资料

lihongfei 2017-01-19 22:48:18
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=44329&ptid=13621]tgwfcc 发表于 2017-1-18 10:28[/url]
FLASH的HOLD管脚是接的3516A的SYS_RSTN_OUT信号脚吗?[/quote]

硬件方面不是很懂,但是如果是硬件问题,你就按照官方给予的原理图进行裁剪,肯定没有问题

tgwfcc

1个粉丝

13

问答

0

专栏

0

资料

tgwfcc 2017-01-20 11:24:32
认可0
我来终结下吧:
在坛友@wsk311728的帮助下,这个问题的原因已经找到。
首先了解下SPI的三种工作模式

1、3516的SDK中,FLASH默认的通信方式是4IO(IO0\IO1\IO2\IO3)的,也就是Quad SPI。我们一般用的是2个IO,Standard SPI或是Dual SPI,IO0(DI)和IO1(DO)做数据通信用,另外两个IO用作WP和HOLD。具体到有什么区别,请自行脑补。
2、3516AREFB VER.D DEMO板中,FLASH的默认接线方式是2线制的。


这样SDK和硬件连接就有个冲突,导致FLASH能烧成功,不能启动。
原因我猜测:1)目前FASTBOOT软件烧写过程不是很清楚,不知道用的是什么模式。在SDK和硬件连接默认的情况下,我对比了一下烧写到FLASH中的数据,发现和正确的数据不一样,怀疑是烧写到FLASH中的数据不对导致,所以启动不了。
2)虽然烧写成功了,由于读写模式的不一致性,导致FLASH读写错误,启动失败。

另外在测试中,发现Uboot打印如下:
没有Uboot的裸板,一直打印20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A。
烧录Uboot成功后,打印现象有3中,如果Uboot烧录不成功,请分析硬件:
第一种是打印1次20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A。之后就没有打印了。启动失败。
第二种仍然连续打印20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A。之后就没有打印了。启动失败。
第三种是打印1次20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0A。之后接着打印Uboot信息。启动成功。
失败的两种情况我遇到的就上边说的原因,SDK和硬件连接不一致导致。

怎么解决呢?
同理有两种解决办法:一是改Uboot和内核;二是改硬件连接。
第一种改Uboot和内核:在u-boot/include/configs/hi3516a.h第65行后面添加宏定义#define CONFIG_CLOSE_SPI_8PIN_4IO,同时在内核中被屏蔽掉的这个宏改成启用。
第二种改硬件连接:FLASH的HOLD管脚接到SFC的HOLD管脚,同时去掉C43。

终于完了,再次感谢坛友的帮助,不正确的地方请大家指正或补充。
.。。。
.。。。   回复   tgwfcc  2023-06-13 09:56:12
0

大佬,根据你的解决方法,我的也能跑起来,但是过10s左右,板子就会reboot重启,然后卡住,这是为啥呢

hanfei69882

2个粉丝

26

问答

0

专栏

2

资料

hanfei69882 2017-02-05 09:44:37
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=44434&ptid=13621]tgwfcc 发表于 2017-1-20 11:24[/url]
我来终结下吧:
在坛友@wsk311728的帮助下,这个问题的原因已经找到。
首先了解下SPI的三种工作模式
[/quote]

   为分享点赞:handshake:handshake:handshake

jiangfy486

0个粉丝

1

问答

0

专栏

0

资料

jiangfy486 2017-10-20 20:15:46
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=44434&ptid=13621]tgwfcc 发表于 2017-1-20 11:24[/url]
我来终结下吧:
在坛友@wsk311728的帮助下,这个问题的原因已经找到。
首先了解下SPI的三种工作模式
[/quote]

大神  按你的去处理  3516 串口依然这样  请问有什么方法处理呢

wfknife_free

0个粉丝

4

问答

0

专栏

0

资料

wfknife_free 2017-01-16 18:56:13
认可0
找到 w25q128 那块 里面的读写接口。

qn1598039482

0个粉丝

0

问答

0

专栏

0

资料

qn1598039482 2020-12-29 11:22:55
认可0
uboot一直会出现这个在Error: Disable Quad failed! reg:0x2  ,但系统能启来,不知有没有影响

huishowhui

0个粉丝

1

问答

0

专栏

0

资料

huishowhui 2021-10-27 16:29:09
认可0
记号!!!!
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区