twinboy

twinboy

0个粉丝

8

问答

0

专栏

1

资料

twinboy  发布于  2015-12-24 19:40:29
采纳率 0%
8个问答
30344

3516A SPI Flash使用32MB(MX25L25635F)无法启动

 
本帖最后由 twinboy 于 2015-12-24 19:49 编辑

使用MX25L12845E可以正常启动,但是换成MX25L25635F之后,按同样的方式把uboot、kernel、rootfs烧到32MB的flash里,重新上电之后没法启动,串口没有打印任何信息。SFC_BOOT_MODE加了上拉,选择了4byte启动方式,检查了各个配置,还是没法启动。
用Jlink配置DDR之后,把uboot载入到DDR中运行uboot,打印出来的信息如下:
U-Boot 2010.06 (Dec 23 2015 - 19:13:46)

Check spi flash controller v350... Found
Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19
SPI nor boot mode is 4 Bytes
Spi(cs1): Block:64KB Chip:32MB Name:"MX25L 256/257 35 E/F"
Spi(cs1): 4 addr SPI read:0x6,EB,0xc write:0x0,02,0xc erase:0x0,D8,0xc
num_chip of Spi: 1
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
Wrong Image Format for bootm command
ERROR: can't get kernel image!
hisilicon #

蓝色两行是把uboot中.\drivers\mtd\spi\hisfc350\hisfc350.c中DEBUG打开之后输出的,
        if (DEBUG) {
                        printf("Spi(cs%d): ", spi->chipselect);
                        if (spi->addrcycle == SPI_4BYTE_ADDR_LEN)
                                printf("4 addr SPI ");
                        else
                                printf("3 addr SPI ");

                        printf("read:0x%x,%02X,0x%x ",
                                spi->read->iftype,
                                spi->read->cmd,
                                spi->read->clock);
                        printf("write:0x%x,%02X,0x%x ",
                                spi->write->iftype,
                                spi->write->cmd,
                                spi->write->clock);
                        printf("erase:0x%x,%02X,0x%x\n",
                                spi->erase[0].iftype,
                                spi->erase[0].cmd,
                                spi->erase[0].clock);
        }

红色部分的是不是有问题,iftype怎么会是6呢?
我来回答
回答43个
时间排序
认可量排序

twinboy

0个粉丝

8

问答

0

专栏

1

资料

twinboy 2015-12-26 13:40:18
认可0
本帖最后由 twinboy 于 2015-12-26 13:44 编辑

用Jlink配置DDR之后,把uboot.bin载入到DDR中运行,然后把DDR里的uboot数据烧写到SPI Flash中,再通过命令把烧到SPI Flash中相应位置的数据读出来,和写进去的数据是不一样的,是不是说明我的这个uboot去操作这颗SPI Flash有问题呢?要如何修改uboot呢?以下是串口打印的信息。


U-Boot 2010.06 (Dec 23 2015 - 19:13:46)

Check spi flash controller v350... Found
Spi(cs1) ID: 0xC2 0x20 0x19 0xC2 0x20 0x19
SPI nor boot mode is 4 Bytes
Spi(cs1): Block:64KB Chip:32MB Name:"MX25L 256/257 35 E/F"
Spi(cs1): 4 addr SPI read:0x6,EB,0xc write:0x0,02,0xc erase:0x0,D8,0xc
num_chip of Spi: 1
*** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Hit any key to stop autoboot:  0
Wrong Image Format for bootm command
ERROR: can't get kernel image!
hisilicon # md 82000000
82000000: ea00041a e59ff014 e59ff014 e59ff014    ................
82000010: e59ff014 e59ff014 e59ff014 e59ff014    ................
82000020: 80801280 808012e0 80801340 808013a0    ........@.......
82000030: 80801400 80801460 808014c0 12345678    ....`.......xV4.
82000040: 201200c8 00000000 00000000 0000f00d    ... ............
82000050: 20050000 00000002 00000000 00000015    ... ............
82000060: 20050000 00000002 00000000 181d0000    ... ............
82000070: 20030000 12000000 00000000 000000fd    ... ............
82000080: 20030004 01501032 00000000 000000fd    ... 2.P.........
82000090: 20030030 000ae021 00000000 000000fd    0.. !...........
820000a0: 200300e8 0000000d 00000000 001d0000    ... ............
820000b0: 200300c0 00000066 00000000 000000fd    ... f...........
820000c0: 20120014 0000000f 00000000 0000801d    ... ............
820000d0: 20270000 005100c7 000007d0 000000fd    ..' ..Q.........
820000e0: 20270004 005100c7 000007d0 000000fd    ..' ..Q.........
820000f0: 20270008 005100c7 000007d0 000000fd    ..' ..Q.........
hisilicon # sf probe 0
32768 KiB hi_sfc at 0:0 is now current device
hisilicon # sf erase 0 100000
Erasing at 0x100000 -- 100% complete.
hisilicon # sf write 82000000 0 100000
Writing at 0x100000 -- 100% complete.
hisilicon # sf read 0x82000000 0 0x100000

hisilicon # md 82000000
82000000: 7f777777 ffffffff ffffffff ffffffff    www.............
82000010: ffffffff ffffffff ffffffff ffffffff    ................
82000020: ffffffff ffffffff ffffffff ffffffff    ................
82000030: ffffffff ffffffff ffffffff ffffffff    ................
82000040: 7f777777 ffffffff ffffffff ffffffff    www.............
82000050: ffffffff ffffffff ffffffff ffffffff    ................
82000060: ffffffff ffffffff ffffffff ffffffff    ................
82000070: ffffffff ffffffff ffffffff ffffffff    ................
82000080: 7f777777 ffffffff ffffffff ffffffff    www.............
82000090: ffffffff ffffffff ffffffff ffffffff    ................
820000a0: ffffffff ffffffff ffffffff ffffffff    ................
820000b0: ffffffff ffffffff ffffffff ffffffff    ................
820000c0: 7f777777 ffffffff ffffffff ffffffff    www.............
820000d0: ffffffff ffffffff ffffffff ffffffff    ................
820000e0: ffffffff ffffffff ffffffff ffffffff    ................
820000f0: ffffffff ffffffff ffffffff ffffffff    ................
hisilicon #

tjuseven

0个粉丝

0

问答

0

专栏

0

资料

tjuseven 2015-12-31 14:35:22
认可0
你好,楼主,我也遇到同样的问题。uboot无法从spi flash中读取数据。现象和你的一样,请问你的问题解决了吗?可否共享下经验,共同探讨,谢谢!

twinboy

0个粉丝

8

问答

0

专栏

1

资料

twinboy 2016-01-04 11:48:49
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=24035&ptid=9713]tjuseven 发表于 2015-12-31 14:35[/url]
你好,楼主,我也遇到同样的问题。uboot无法从spi flash中读取数据。现象和你的一样,请问你的问题解决了吗 ...[/quote]

还没解决,现在把这个项目暂时放下,忙其他的项目了,等有时间直接找海思的工程师过来帮忙解决,如果你那边解决了也贴出来,分享分享。

tjuseven

0个粉丝

0

问答

0

专栏

0

资料

tjuseven 2016-01-04 13:56:17
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=24083&ptid=9713]twinboy 发表于 2016-1-4 11:48[/url]
还没解决,现在把这个项目暂时放下,忙其他的项目了,等有时间直接找海思的工程师过来帮忙解决,如果你那 ...[/quote]

我用的3byte字节模式,256Mspi flash, 问题已经解决了。原因是excel配置表里没有加我的芯片型号。uboot源码里也做了修改。源码中read模式有很多种,实际硬件设计只用了标准的spi模式,把源码中其余模式注掉就好好了。希望能帮到你。

lihongfei

0个粉丝

17

问答

0

专栏

2

资料

lihongfei 2016-01-04 15:44:31
认可0
我是使用W25Q64好用,现在想更改为W25Q128更改不了,同问是怎么解决的

twinboy

0个粉丝

8

问答

0

专栏

1

资料

twinboy 2016-01-05 11:28:06
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=24086&ptid=9713]tjuseven 发表于 2016-1-4 13:56[/url]
我用的3byte字节模式,256Mspi flash, 问题已经解决了。原因是excel配置表里没有加我的芯片型号。uboot源 ...[/quote]

excel配置表我做了修改,3字节也试过,但是没改过uboot源码,我试试看按照你的方法修改uboot看看,谢谢分享!:handshake

singsuner

0个粉丝

5

问答

0

专栏

0

资料

singsuner 2016-01-07 10:34:10
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=24123&ptid=9713]twinboy 发表于 2016-1-5 11:28[/url]
excel配置表我做了修改,3字节也试过,但是没改过uboot源码,我试试看按照你的方法修改uboot看看,谢谢分 ...[/quote]

您好,我使用的也是MX25L25635F这款flash,遇到的问题跟您一样,请问excel配置表是怎么修改的,我是新手,求指教,万分感谢!!

seawaterblue

0个粉丝

6

问答

0

专栏

0

资料

seawaterblue 2016-01-11 13:30:25
认可0
收藏 以前也遇到过  没有解决 直接换芯片了

freesky

0个粉丝

3

问答

0

专栏

0

资料

freesky 2016-01-22 10:34:57
认可0
您好,我也在用MX25L25635F,现象也一样:Q,excel不知道怎么改,源码还在看?这个芯片问题怎么这么普遍,求详细解决方法啊,万分感激~

tjuseven

0个粉丝

0

问答

0

专栏

0

资料

tjuseven 2016-02-19 10:17:40
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=24842&ptid=9713]freesky 发表于 2016-1-22 10:34[/url]
您好,我也在用MX25L25635F,现象也一样,excel不知道怎么改,源码还在看?这个芯片问题怎么这么普遍,求 ...[/quote]

excel 改最后一页sheet,照着已有的型号加一行。
你可以再boot源码里搜索MX25L256关键字,找到对应的代码,看看这段代码和excel表格就知道怎么改了。

234615607

0个粉丝

1

问答

0

专栏

0

资料

234615607 2016-04-28 12:54:56
认可0

HI3516A SPI FLASH,16pin FLASH,IO3脚一直是高电平,无信号,U-BOOT启动不了,SFC时钟是37M,FLASH使用的是MX25L25635F。

情况是这样的,配置到BOOTROM启动,串口有输出 20 20  0A。 但是一配置到从NOR FLASH启动就没有任何输出。

求大神指教了,实在是困惑。

love_lin

1个粉丝

22

问答

0

专栏

1

资料

love_lin 2016-05-09 19:54:39
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=25485&ptid=9713]tjuseven 发表于 2016-2-19 10:17[/url]
excel 改最后一页sheet,照着已有的型号加一行。
你可以再boot源码里搜索MX25L256关键字,找到对应的代 ...[/quote]

大神吗,请指教,我修改了excel,没有作用!!

love_lin

1个粉丝

22

问答

0

专栏

1

资料

love_lin 2016-05-09 19:57:39
认可0
楼上的各位大神,谁解决了这个问题,求指教啊。:'(

Jin涛

0个粉丝

1

问答

0

专栏

0

资料

Jin涛 2016-05-11 10:55:26
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=25485&ptid=9713]tjuseven 发表于 2016-2-19 10:17[/url]
excel 改最后一页sheet,照着已有的型号加一行。
你可以再boot源码里搜索MX25L256关键字,找到对应的代 ...[/quote]

我在execl表最后一页添加了相应的一行flash的信息,然后点击Generate reg bin file之后生成的bin文件并没有变化啊?是我哪里操作有错吗?

love_lin

1个粉丝

22

问答

0

专栏

1

资料

love_lin 2016-05-11 11:36:18
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=24086&ptid=9713]tjuseven 发表于 2016-1-4 13:56[/url]
我用的3byte字节模式,256Mspi flash, 问题已经解决了。原因是excel配置表里没有加我的芯片型号。uboot源 ...[/quote]

请问你那read 模式是在哪里修改的?我找不到这部分的源码。

deeplyblue

0个粉丝

0

问答

0

专栏

0

资料

deeplyblue 2016-05-12 12:08:49
认可0
我在C050跟C060版本上均出现了这个问题,也是用的3byte模式,源码不晓得咋改,我是直接将boot下“drivers/mtd/spi/hisfc350/”跟kernel下“drivers/mtd/devices/hisfc350”替换为之前C030版本的就可以了,虽然暴力了点但问题解决了

orinwu

1个粉丝

4

问答

0

专栏

0

资料

orinwu 2016-05-12 19:17:10
认可0
uboot源码里改个文件 hisfc350_spi_ids.c里面找到对应的型号 把它的最后的接口读写模式注释掉

yzhiju

0个粉丝

12

问答

0

专栏

0

资料

yzhiju 2016-05-16 16:06:57
认可0
本帖最后由 yzhiju 于 2016-5-16 16:14 编辑

我以前修改execl表格 uboot里添加flash 型号 block 等 还有spi_ids.h 配置为4地址模式就好了

love_lin

1个粉丝

22

问答

0

专栏

1

资料

love_lin 2016-05-17 08:10:49
认可0
[quote][url=forum.php?mod=redirect&goto=findpost&pid=30084&ptid=9713]yzhiju 发表于 2016-5-16 16:06[/url]
我以前修改execl表格 uboot里添加flash 型号 block 等 还有spi_ids.h 配置为4地址模式就好了[/quote]

能具体截图出来吗?挺紧急的,谢谢!!

fz0817

0个粉丝

9

问答

0

专栏

0

资料

fz0817 2016-06-08 15:37:38
认可0
要选3比特,4是启动不了的
加载中···
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

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

Markdown 语法

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

举报类型

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

详细说明

易百纳技术社区