您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> 【已解决】[求助]NOR FLASH 驱动改写问题
本帖共有592个阅读者
发表帖子 发表投票 回复主题
【已解决】[求助]NOR FLASH 驱动改写问题
ddbear(论坛新手)
ddbear
头衔:社区公民
帮派:无帮无派
帖数:3
金钱:131
积分:5
注册时间:2014/11/20
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
【已解决】[求助]NOR FLASH 驱动改写问题

在BF544的板子上,本人用仿真器将编译生成的ldr文件烧进flash中时,用到了ADI自带的flash驱动文件(.dxe)。因为用到的flash芯片是M29W320EB,没有相应的驱动程序,需要做适当的修改。但是在修改过程中,有2个疑问:(1)查看M29W320EB的datasheet,操作读写时都应该有向0x0555地址写命令的语句,但为什么在ADI自带的flash驱动程序里面都是向0x0554地址写命令(WriteFlash( (ulAddr + 0x0554), 0x55 )),而改成向0x0555地址写命令时,程序会报错?(2)如果板子上的flash数据位设计为16bit的(/BYTE拉高),编译生成ldr文件也是按16bit生成的,那这个flash驱动文件(.dxe)需要修改吗?貌似它默认的是按bit8格式编写的。

请各位大神帮我解答一下哈


上传的图片
  20158514282354.png [ 66.00 KB 740×548 ] (缩略时请点击查看原图)

 


这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2015/8/5 14:39:32
尊贵身份标志
OpenADSP(管理员)
OpenADSP
头衔:社区公民
帮派:无帮无派
帖数:5195
金钱:34806
积分:6378
注册时间:2011/6/7
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
帖子换个地方

我是OP...
等级:管理员 参考IP地址:*.*.*.*
2015/8/8 12:38:28
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF544没有A0地址线,所以你写555和554在数据线上的反应是一样的。你注意一下硬件连接,ADI的A1地址线应该是接在Flash的A0上的。这就导致了当你需要给flash送0xaaa时,BF544的地址实际是要向左偏移1的。于是BF544送入的值是0x1554。
你参考的代码,应该是BF533上的,肯定不是BF54系列的官方代码。533上用的是2MB的flash。数据手册有一句话不要忽略:
5. Address bits A19–A11 are don’t cares for unlock and command cycles, unless SA or PA required.
就是说从A11开始,数据开始被忽略,于是0x1554变成了0x554。

官方默认的是16bit驱动,只是命令字移位,你误以为是8位。


这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2015/8/11 22:56:08
ddbear(论坛新手)
ddbear
头衔:社区公民
帮派:无帮无派
帖数:3
金钱:131
积分:5
注册时间:2014/11/20
3信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
@andy  谢谢,确实是这样的。感谢!

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2015/8/25 20:07:43
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.159183 Call, 1 Queries, Processed in 0.015625 second(s),