OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 8958|回复: 2

SPIFLASH读数据问题 为什么地址是这样的?有代码。。

[复制链接]

36

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
282
金钱
282
注册时间
2012-3-23
在线时间
0 小时
发表于 2012-9-15 21:02:22 | 显示全部楼层 |阅读模式

             
本人将字库下载到了SPIFLASH             型号AT45DB04,容量:512K      现在根据汉字的内码   算出地址Address           根据2312标准:

           Address =( (MSB - 0xA1) * 94 + (LSB - 0xA1))*32+ BaseAdd; 
           ReadFlashData((Address , DataBuf0, 32);
这样为什么得不到准确的数据?

做以下改变却可以,这是为什么?
            Address =( (MSB - 0xA1) * 94 + (LSB - 0xA1))*32+ BaseAdd; 

            iFlashPageNo = (INT32U)(Address / 264);         (264为SPIFLASH每页的BYTES数)
            iOffsetAddr = Address-iFlashPageNo*264;

            ReadFlashData((iFlashPageNo<<9)+iOffsetAddr, DataBuf0, 32);


为什么iFlashPageNo<<9)+iOffsetAddr才是地址    而不是直接是Address       iFlashPageNo<<9,为什么是左移9位?        

天天实验室   却无成就。。。。。惨蛋!  感谢opendv的所有大虾。。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2012-9-16 00:26:14 | 显示全部楼层
这可能和你的flash特性有关吧.
<<9就是*512.你看看AT45DB04 falsh读写相关的资料.
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复 支持 反对

使用道具 举报

36

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
282
金钱
282
注册时间
2012-3-23
在线时间
0 小时
 楼主| 发表于 2012-9-18 14:54:34 | 显示全部楼层
回复【2楼】正点原子:
---------------------------------
谢谢原子哥  我弄清楚了  资料没仔细看。。
天天实验室   却无成就。。。。。惨蛋!  感谢opendv的所有大虾。。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-2-27 20:15

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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