spi-flash烧写擦除都没有效果

Creator_莫言 2014-11-26 03:52:18
用mfgtool工具烧写uboot到spi-flash,终端输出都是正常的,但是烧写完成后却发现spi-flash里面什么都没有。擦除和写入都没有作用,有大神给点建议么?

终端打印:

m25p80 spi1.2: non-JEDEC variant of m25p16
m25p80 spi1.2: m25p16 (2048 Kbytes)
MXC MTD nand Driver 3.0
NAND device: Manufacturer ID: 0xad, Chip ID: 0xdc (Hynix NAND 512MiB 3,3V 8-bit)
RedBoot partition parsing not available
Creating 2 MTD partitions on "NAND 512MiB 3,3V 8-bit":
0x000000000000-0x000004000000 : "home-romfs"
0x000004000000-0x000020000000 : "user-nand-jffs2"
.
.
.
UTP: received command '$ flash_eraseall /dev/mtd0'
UTP: executing "flash_eraseall /dev/mtd0"
Erasing 64 Kibyte @ 200000 -- 100 % complete.
UTP: sending Success to kernel for command $ flash_eraseall /dev/mtd0.
UTP: received command 'send'
UTP: sending Success to kernel for command send.
UTP: received command '$ dd if=$FILE of=/dev/mtd0 bs=512'
UTP: executing "dd if=$FILE of=/dev/mtd0 bs=512"
516+1 records in
516+1 records out
264256 bytes (258.1KB) copied, 1.698087 seconds, 152.0KB/s
UTP: sending Success to kernel for command $ dd if=$FILE of=/dev/mtd0 bs=512.
utp_poll: pass returned.
UTP: received command '$ echo Update Complete!'


ucl配置文件:

<CMD type="push" body="mknod class/mtd,mtd0,/dev/mtd0"/>
<CMD type="push" body="mknod class/mtd,mtd1,/dev/mtd1"/>
<CMD type="push" body="mknod class/mtd,mtd2,/dev/mtd2"/>
<!--CMD type="push" body="mknod class/mtd,mtd3,/dev/mtd3"/>
<CMD type="push" body="mknod class/mtd,mtd4,/dev/mtd4"/>-->
<CMD type="push" body="mknod block,mtdblock0,/dev/mtdblock0,block"/>
<CMD type="push" body="mknod block,mtdblock1,/dev/mtdblock1,block"/>
<CMD type="push" body="mknod block,mtdblock2,/dev/mtdblock2,block"/>
<!--CMD type="push" body="mknod block,mtdblock3,/dev/mtdblock3,block"/>
<CMD type="push" body="mknod block,mtdblock4,/dev/mtdblock4,block"/>-->

<!------u-boot------>
<CMD type="push" body="$ flash_eraseall /dev/mtd0">Erasing u-boot partition</CMD>
<CMD type="push" body="send" file="files/u-boot.bin">Sending u-Boot</CMD>
<CMD type="push" body="$ dd if=$FILE of=/dev/mtd0 bs=512">write u-Boot to SPI_NOR</CMD>
...全文
790 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Creator_莫言 2014-12-02
  • 打赏
  • 举报
回复
现在的情况是这样的: 在mx53上尝试将u-boot烧写到spi-flash上,用示波器测量,CS信号,Clk信号都正常。能够擦除,但是当运行到dd命令写flash的时候,很快就完成了,查看flash中的数据,几乎大部分仍然是FFFF,附上部分错误数据: 70800000: ea00020e 00000000 00000000 00000000 ................ 70800010: 00000000 ffffffff ffffffff ffffffff ................ 70800020: ffffffff ffffffff ffffffff ffffffff ................ 70800030: ffffffff ffffffff ffffffff ffffffff ................ 正确的数据应该是: 0E0200EA 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000 我在uboot命令下可以正确写入,但是dd命令却出现数据错误。 按说我烧写的时候能够擦除,那说明spi是正常的,只是写数据出错,有没有可能是dd命令有问题?
Creator_莫言 2014-12-02
  • 打赏
  • 举报
回复
引用 2 楼 xuweiwei1860 的回复:
先检查电路 然后是否被写保护 然后再看是不是时序除了问题
写保护我关闭了,现在是可以擦除,但是烧写的dd命令写到spi中,读出来发现只有少部分数据,其他全是ffff
Creator_莫言 2014-12-02
  • 打赏
  • 举报
回复
引用 1 楼 aman01 的回复:
先定位一下是不是烧写器问题。在uboot下自己搞个命令,擦写一个block,看看能不能成功。
uboot下命令没问题,可以擦除和读写
fly 100% 2014-12-02
  • 打赏
  • 举报
回复
先检查电路 然后是否被写保护 然后再看是不是时序除了问题
aman01 2014-12-01
  • 打赏
  • 举报
回复
先定位一下是不是烧写器问题。在uboot下自己搞个命令,擦写一个block,看看能不能成功。

4,464

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 内核源代码研究区
社区管理员
  • 内核源代码研究区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧