打印

STM8L FLASH 读写问题

[复制链接]
6742|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
readdai|  楼主 | 2012-12-20 12:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
请问各位ST MCU达人们,
Flash空间想要 操作(读写)  0x10000地址及以后的地址是如何操作的,
我在程序里试了 0x8000--0xFFFF地址空间内都可以正常读写。 当地址从0x10000开始往后就不行了。
环境是 STVD+COSMIC;  不知道是什么问题…… 还是说有什么特别的设置……额!!头疼,搞了一天了没找到问题的原因。
沙发
ymind| | 2012-12-20 13:13 | 只看该作者
没Unlock,这种错误应该不会有。但具体型号是什么,flash program memory size有这么大吗? 再,看是否处于User Boot Code area protection。

使用特权

评论回复
板凳
readdai|  楼主 | 2012-12-20 13:31 | 只看该作者
解锁肯定解了的,不然前面地址也写不进去。
型号是STM8L152R8, 空间是64K的。
你说的User Boot Code area protection,我再看看手册……

使用特权

评论回复
地板
readdai|  楼主 | 2013-5-21 11:06 | 只看该作者
擦,还没有结贴.....

综合网上意见,结合自己的实验,已经解决。
开发环境 STVD+COSMIC 读写Flash 地址0x10000及以后位置的,变量加修饰@far,就可以了。

如:定义 uchar @far *Flash_addr;

                Flash_addr  =  (uchar @far*)(addr);    //addr取值可以到0x10000以后。

         Flash_addr[i]  = Data[i];   //写 or    Data[i] = Flash_addr[i];   //读。

使用特权

评论回复
5
jimmyspa110| | 2014-11-7 13:53 | 只看该作者
mark

使用特权

评论回复
6
ql1000| | 2016-9-5 16:18 | 只看该作者
学习学习

使用特权

评论回复
7
dun20062006| | 2017-3-10 10:02 | 只看该作者
mark 一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

8

主题

79

帖子

1

粉丝