OpenEdv-开源电子网

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

关于FLASH操作时超出芯片地址的一点疑惑。

[复制链接]

5

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2013-9-11
在线时间
40 小时
发表于 2016-3-29 09:52:43 | 显示全部楼层 |阅读模式
1金钱
本人和同学合作做了一个项目,硬件电路是我设计的,用的芯片是STM32F103RCT6这个256K FLASH  48K RAM的这个芯片。
keil工程中我把硬件初始化部份弄好了,就把它丢给我同学,让他参照开发板带的例程去写应用层的业务逻辑了。

其中有一部分是要在flash中存储一段数据。
#define FLASH_SYS_DYEING 0x8070020
#define FLASH_SYS_DYEING1 (FLASH_SYS_DYEING+0) //F_:~0x80700B8-1~(30步*4字节=120字节)
#define FLASH_SYS_DYEING2 (FLASH_SYS_DYEING1+120) //F_:~0x8070130-1~(30步*4字节=120字节)
#define FLASH_SYS_DISTANCE (FLASH_SYS_DYEING2+120) //F_:40个字节
这是他写的一个数据存储的一个基地址。

之前一直没有发现,机器一直在跑,而且数据读取写入还都没有问题。

我现在就郁闷了,他的数据是写到那里去了。256K的FLASH空间不是0x8000000到0x40000么,他上面操作的那个地址明显是超过了STM32F103RCT6这个芯片FLASH的存储空间。

最佳答案

查看完整内容[请看2#楼]

1.芯片是大容量芯片,但出厂只测试了256K,这个看到坛友说过 2.超出容量后写入循环了,可以将地址转换到256K对应地址读取,看是不是写入的值
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

72

主题

2711

帖子

2

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
3505
金钱
3505
注册时间
2014-8-4
在线时间
696 小时
发表于 2016-3-29 09:52:44 | 显示全部楼层
本帖最后由 龙之谷 于 2016-3-29 11:08 编辑

1.芯片是大容量芯片,但出厂只测试了256K,这个看到坛友说过
2.超出容量后写入循环了,可以将地址转换到256K对应地址读取,看是不是写入的值
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13129
金钱
13129
注册时间
2012-11-26
在线时间
3814 小时
发表于 2016-3-29 10:03:20 | 显示全部楼层
简直666,如果芯片真的是256k的话,这地址确实不合理        楼主可以单独测试一下这个地址读写,断电测试试试
回复

使用道具 举报

5

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2013-9-11
在线时间
40 小时
 楼主| 发表于 2016-3-29 10:10:19 | 显示全部楼层
jermy_z 发表于 2016-3-29 10:03
简直666,如果芯片真的是256k的话,这地址确实不合理        楼主可以单独测试一下这个地址读写,断电测试 ...

断电,重新开数据也在。也可以读取出来。
回复

使用道具 举报

70

主题

6763

帖子

0

精华

论坛大神

Rank: 7Rank: 7Rank: 7

积分
13129
金钱
13129
注册时间
2012-11-26
在线时间
3814 小时
发表于 2016-3-29 10:11:08 | 显示全部楼层
wfy9041 发表于 2016-3-29 10:10
断电,重新开数据也在。也可以读取出来。

那就搞不懂了。。。有外部nand flash?
学无止境
回复

使用道具 举报

5

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2013-9-11
在线时间
40 小时
 楼主| 发表于 2016-3-29 10:12:23 | 显示全部楼层
jermy_z 发表于 2016-3-29 10:11
那就搞不动了。。。有外部nand flash?

没有啊,PCB是我画的,没有外部的存储。连EEROM都没有。
回复

使用道具 举报

5

主题

24

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
206
金钱
206
注册时间
2013-9-11
在线时间
40 小时
 楼主| 发表于 2016-3-29 11:58:38 | 显示全部楼层
龙之谷 发表于 2016-3-29 11:07
1.芯片是大容量芯片,但出厂只测试了256K,这个看到坛友说过
2.超出容量后写入循环了,可以将地址转换到25 ...

我去看看。谢谢
回复

使用道具 举报

9

主题

80

帖子

0

精华

初级会员

Rank: 2

积分
192
金钱
192
注册时间
2015-2-9
在线时间
51 小时
发表于 2016-3-29 20:29:05 来自手机 | 显示全部楼层
一旦超过最大地址就循环写到前面真实物理地址了
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-19 15:55

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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