天嵌 ARM开发社区

 找回密码
 注册
查看: 4131|回复: 4

jflash出现如下错误提示,怎么回事

[复制链接]
有理想的咸鱼 发表于 2013-6-24 19:45:35 | 显示全部楼层 |阅读模式
本帖最后由 有理想的咸鱼 于 2013-6-25 23:54 编辑


通过jflash往norflash里面写uboot,出现如下情况:
Programming failed @ address 0x00000000 (item verification error)
Failed to program target

请问是什么原因呢??
可以connect上。



---------------------------------------------------------------------------------------
已解决,问题总结见3楼
2013年6月25日23点多

亚瑟王 发表于 2013-6-25 15:14:10 | 显示全部楼层
能详细说一下你的设置吗?或者你确认一下是否是从Nor Flash启动的,并且是在u-boot下载模式。
 楼主| 有理想的咸鱼 发表于 2013-6-25 23:52:17 | 显示全部楼层
不好意思,我说的确实不够详细,开关肯定是拨向norflash启动的。

不过我今天搞了一天终于搞定了,仍然谢谢亚瑟王回答。

详细说一下我出这个问题的由来,哎,菜鸟的麻烦辛酸历程。

因为公司项目需要,我得在norflash上建立个linux文件系统,jffs2文件系统,于是我想先在自己购买的TQ2440开发板上先尝试一下,然后再移植到部门硬件组的同事做的板子上,因为我们的这个板子上只有norflash,型号为S29GL512P90TFI010,所以我在拿TQ的板子做实验时必须把东西都放在norflash里面。

但是,TQ这个板子的norflash(EN29LV160AB-70TIP)只有2MB,uboot+linux内核+文件系统着实有点大小不够,同事建议我把TQ的这个板子的norflash换了,升级个大点的norflash,于是麻烦开始了。

经过一番型号对比后,在引脚封装基本一致的情况下,再加上我司的库存芯片型号限制,我最终选择了spansion的S29GL064M90TAIR70及S29GL064N90TFI040两个。搞硬件的同事一再建议我好好阅读下数据手册并比较,以决定到底该选择哪种型号,但是基础薄弱的我只是比较了下引脚图就决定了选用N系列的,然后让公司的焊接师傅拆芯片焊芯片,然后回来试用,打开jflash烧写uboot,就出现了本帖中的问题,如一楼所示。

于是我就想到底哪里出问题了,什么办法都试了一遍后,发现还是不行,于是又草草决定换M系列的那个试一下,又是一遍拆芯片焊芯片,回来后发现还是不行,仍然是这个错误。然后,自己又试了下换个地址烧写,烧写到往后一点的sector(比如20000),发现可以烧写成功。然后又换种方法从SDRAM里面启动uboot,然后用cp.b命令往norflash里写,经多次比较后,发现就是第一个sector不能写,其他sector都可以写,而我用jflash往flash里面写uboot肯定是要写到第一个sector里的。

于是问题发现了,是第一个sector不能写,于是仔细阅读技术手册,终于发现了Spansion的flash的WP#引脚(引脚14)的作用(EN29LV160的引脚14则是NC,不使用),对于S29GL064M系列的R7一类(Uniform sector),当WP#接低电平时,最低地址的那个sector是保护的,即不能写入,当其悬空或者接高电平时则可以写入,当然R0-R6、R8、R9等其他Model number则有其他的类似特性。而对于S29GL064N系列的04一类(bottom boot sector),当WP#为低电平时,最低地址的两个sector是保护的,其他Model number则有其他的类似特性,详见数据手册。

所以解决办法就是,将引脚14置高电平或悬空即可,查看TQ的核心板原理图发现把norflash引脚14接地了,于是我把最终采用的S29GL064N90TFI040的引脚14悬空了。
为什么选择S29GL064N90TFI040?
因为在自己阅读芯片手册后,发现S29GL064M系列的R6、R7的引脚分布是与其他Model number的不同的,而数据手册是讲的这一个系列的,引脚图只给了一张,然后再下面用很小的文字注释了R6与R7的不同之处,而粗心的我根本没有发现。不同之处就在于,Pin9是A21,Pin15是A19,这与EN29LV160的不一致,直接导致可寻址的flash空间不足8M,所以只能选择S29GL064N90TFI040,然后将WP#引脚(Pin14)接高电平或悬空。

说了这么多废话,针对本帖的问题总结起来,就是没有了解到Spansion的WP#引脚的作用(对相应的sector会有硬件保护的特性)。
总而言之,没有好好阅读相应芯片数据手册,没有深入理解相关内容。

最后,说一句,也是公司的焊接师傅跟我说的,因为我跟她说了很不好意思多次麻烦她,但她说:“没事,我倒是担心对板子的伤害,不过你买的这个小板子质量挺好的,芯片来回拆焊了这么多次,板子也没出现问题”。
 楼主| 有理想的咸鱼 发表于 2013-6-25 23:58:45 | 显示全部楼层
亚瑟王 发表于 2013-6-25 15:14
能详细说一下你的设置吗?或者你确认一下是否是从Nor Flash启动的,并且是在u-boot下载模式。

以后向你请教问题会描述详细点,谢谢!:P
亚瑟王 发表于 2013-6-26 09:07:25 | 显示全部楼层
有理想的咸鱼 发表于 2013-6-25 23:52
不好意思,我说的确实不够详细,开关肯定是拨向norflash启动的。

不过我今天搞了一天终于搞定了,仍然谢 ...

解决了就好。
你遇到这个问题如果不是你自己说出来会把人搞崩溃的,特别是换了芯片的情况。
一般情况下我们都是按照公司出的板子来做售后的,这样的情况需要你特别说明才能够很好的分析的。
天嵌科技板块的PCB都是大厂生产的,质量是可以得到保障的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-2 16:17 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表