您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 技术讨论区 -> BF531 NorFlash的硬件连接方式
本帖共有3030个阅读者
发表帖子 发表投票 回复主题
BF531 NorFlash的硬件连接方式
rolcye(论坛新手)
rolcye
头衔:社区公民
帮派:无帮无派
帖数:14
金钱:214
积分:18
注册时间:2012/7/16
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF531 NorFlash的硬件连接方式



上传的图片
  201311015144792.jpg [ 54.86 KB 604×469 ] (缩略时请点击查看原图)

 


小弟自己做的BF531硬件板子,NorFlash部分不清楚什么原因,工作不正常。
打算用1MB的NorFlash,现手头没有,暂是使用了2MB的NorFlash,A19线直接接了GND,是把2MB的当作1MB使用。
不清楚是不是硬件连接有错误,在Blackfin memory里打入Norflash的地址0x20000000后,发现NorFlash全部是0xFF,
(如果正常烧入程序,可以从Blackfin memory的窗口看到ldr文件)
倒底硬件连接有没有问题呢?
或者还是Flash programmer驱动不对,需要重新生成一个Flash programmer?

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/1/10 15:20:56
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

你的15脚最好上拉10K电阻。

你先用VDSP软件的烧写工具,把norflash的驱动挂载一下,驱动挂载成功后,再用memory看你2000 0000地址的数据。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/1/10 22:00:09
rolcye(论坛新手)
rolcye
头衔:社区公民
帮派:无帮无派
帖数:14
金钱:214
积分:18
注册时间:2012/7/16
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
嗯……15脚是Ready/Busy输出脚,不接没问题吧?至少不会影响正常功能,应该对NorFlash自身有点影响,可能跟JTAG一样功耗会大一点吧!没查过,不确定。

昨天有些新发现,昨天从别人的板子上拆机拿到一块1MB的NorFlash,型号是S29AL008J70TFI02,焊上去过后,从0x20000000的地址确实可以看到别人的程序文件。
然后我先把别人的程序Dump出来,生成ldr文件。再烧写我自己的程序,就发现一个很有意思的问题。
用Winhex对比发现,0x4000之前的数据,还是别人的程序,但0x4000之后的数据,就变成了我的程序,并且从我的ldr文件起始位置偏移0x4000完全一致。
烧进去的程序是个“拼接版”的,前一半是别人的程序,后一半是我自己的程序。

我觉得是0x4000之前的block没有擦除,导致这种现象。
可能应该需要修改Flash programmer 的程序……你觉得呢?


「该帖子被 rolcye 在 2013-01-11 09:55:53 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/1/11 9:55:19
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

你先将norflash整个擦除,然后看看norflash的数据有没有擦干净。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/1/11 10:38:22
rolcye(论坛新手)
rolcye
头衔:社区公民
帮派:无帮无派
帖数:14
金钱:214
积分:18
注册时间:2012/7/16
4信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
我在Flash programmer里面选择的就是全部擦除啊……没选只擦部分的……
试了好几次的,到底是不是Flash programmer程序不兼容呢?

莫非2MB的Norflash与1MB的擦写方式不一样?

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/1/11 18:16:28
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
5信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线

擦除后flash内存是否都为ff?你写个代码校验一下看看


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/1/11 19:32:40
rolcye(论坛新手)
rolcye
头衔:社区公民
帮派:无帮无派
帖数:14
金钱:214
积分:18
注册时间:2012/7/16
6信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
Andy 大哥,这个问题肯定也检查过的呀,才能确定是0x2000 000到 0x2000 4000的Flash区间没有被擦除的。
下面的图,是0x20007000地址区间,程序ldr结束的地方。
没有程序的地方全部是0xFF,其余在0x2000 8000 - 0x2010 0000区间内的任何地址,全部是0xFF。
而刚拿到这片NorFlash时,0x2000 0000 - 0x2001 A000是有程序的,后来被Flash programmer擦掉了。
说明NorFlash的确能被擦除,但是没擦干净,0x4000地址之前的NorFlash擦不掉。


上传的图片
  201311213533633.jpg [ 119.54 KB 694×407 ] (缩略时请点击查看原图)

 


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/1/12 13:58:45
rolcye(论坛新手)
rolcye
头衔:社区公民
帮派:无帮无派
帖数:14
金钱:214
积分:18
注册时间:2012/7/16
7信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
更直接一点的例子,如果只Erase ALL,全片擦除,只擦不写。在0x20004000位置看到的如下图:


上传的图片
  201311214103933.jpg [ 119.61 KB 694×407 ] (缩略时请点击查看原图)

 


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/1/12 14:10:43
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
8信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
可能你的A14管脚始终被拉高了,你写个程序测试一下A14线的波形。再仔细检查一下焊接

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2013/1/12 16:28:05
rolcye(论坛新手)
rolcye
头衔:社区公民
帮派:无帮无派
帖数:14
金钱:214
积分:18
注册时间:2012/7/16
9信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
没道理呀,我觉得如果A14短路或拉高了,正常情况下应该是 0x0与0x4000地址的数据完全一致的。
可事实上不一致。
0x0与0x2000位置的数据也不一致,A13短路的情况也排除了。
检查了硬件,没发现问题,怀疑是NorFlash写护了……

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2013/1/14 13:43:17
14
1
1/2
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154133 Call, 1 Queries, Processed in 0.030762 second(s),