6191|10

71

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

STM8的Flash访问求助 [复制链接]

我用的芯片是STM8S207RBT6,Flash是128K,现在我想对芯片的Flash进行操作,大概情况如下:
unsigned long FlashAddr;
FlashAddr = 0x00018000;
FLASH_PUKR = 0x56;//Flash解锁
FLASH_PUKR = 0xAE;//Flash解锁
FLASH_CR1 |= MASK_FLASH_CR1_FIX;//编程时间固定为标准编程时间
*((unsigned char*)FlashAddr) = 1;
while( (FLASH->IAPSR & (FLASH_IAPSR_EOP | FLASH_IAPSR_WR_PG_DIS)) == 0);
if(*((unsigned char*)FlashAddr) == 1)//校验
return TRUE;
else
return FALSE;
结果编译器报警,conversion from integer to smalll pointer 我查了一下,原来unsigned char型指针只占两个字节,那么这样的话,最大只能访问到0xffff,但是我用的那款芯片是128K的Flash,地址是从0x8000-0x27ffff的,所以用上面的方法就行不通了。于是我换了一种方法:
unsigned int FlashAddr;
unsigned int FlashOffset;
FlashAddr = 0x8000;
FlashOffset = 0x0001;
*((unsigned char*)FlashAddr + FlashOffset*256*256) = 1;
成功骗过了编译器,但是执行后发现校验还是不行,也就是写进去的数据读出来不对。那到底怎么样才能对0xffff以后的Flash进行操作呢?
注:用的开发环境是IAR FOR STM8,那个写Flash的操作应该是正常的,因为从0x9000一直到0xffff都是正常的,当写到0x10000的时候校验就出错了。到底怎么才能访问地址超过16位的Flash啊,正式无语。。。。。。。
此帖出自stm32/stm8论坛

最新回复

                                 IAR中用__far  详情 回复 发表于 2011-1-30 19:32
点赞 关注
 

回复
举报

72

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
                                 那位大虾搞过啊,赶紧指点指点小弟啊
此帖出自stm32/stm8论坛
 
 

回复

65

帖子

0

TA的资源

一粒金砂(初级)

板凳
 
                                 Cosmic中倒是有个@far
此帖出自stm32/stm8论坛
 
 

回复

74

帖子

0

TA的资源

一粒金砂(初级)

4
 
                                 我也看到了,试了一下,IAR不支持@far
此帖出自stm32/stm8论坛
 
 
 

回复

27

帖子

0

TA的资源

一粒金砂(初级)

5
 
                                 我在STVD下用@far好像也没有用
此帖出自stm32/stm8论坛
 
 
 

回复

92

帖子

0

TA的资源

一粒金砂(初级)

6
 
                                 那怎么搞啊。。。。。。。。。。。。。
此帖出自stm32/stm8论坛
 
 
 

回复

69

帖子

0

TA的资源

一粒金砂(初级)

7
 
                                 那位IAR达人指点指点啊。。。。。。。。。。
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

8
 
                                 版主在不在啊,指点指点啊。搞完好回家过年啊
此帖出自stm32/stm8论坛
 
 
 

回复

48

帖子

0

TA的资源

一粒金砂(初级)

9
 
                                 不好意思,版主没有用过IAR For STM8。
此帖出自stm32/stm8论坛
 
 
 

回复

68

帖子

0

TA的资源

一粒金砂(初级)

10
 
                                 LZ可以按照3楼的思路在IAR的文档中搜索一下。
此帖出自stm32/stm8论坛
 
 
 

回复

77

帖子

0

TA的资源

一粒金砂(初级)

11
 
                                 IAR中用__far
此帖出自stm32/stm8论坛
 
 
 

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

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表