首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

FLASH烧写前后的获取值无变化????

FLASH烧写前后的获取值无变化????


请问版主:
我在MC908GP32芯片进行FLASH的擦除和写入操作,其中在包含文件中定义了:
const unsigned int F_address@0x8000 = 8; //故障地址 默认值 =8
在程序文件中有如下代码:
ppp = F_address; //获取变量 F_address 的值
FLASH_erase(0x8000); //FLASH擦除程序
FLASH_write(0x8000,(unsigned char *)GUshuju,2); 写入111
ppp = F_address; //获取变量 F_address 的值

其中程序能够正确擦除和写入(从调试Debug窗口观察),但是在写入后重新获取F_address的还是8,为什么?怎样得到重新写入的F_address的值111???

谢谢!!!谢谢!!!谢谢!!!谢谢!!!谢谢!!!谢谢!!!







你是用软件仿真还是硬件运行调试?对FLASH的操作有可能通过调试窗口无法正确观察到。可能FLASH并没有被正确地擦除和写入。
海纳百川  有容乃大
我采取的硬件调试,已经正确的写入了,而且是10个字节!
已经正确写入了怎么会读不出正确的值?!
海纳百川  有容乃大
因为我是用const unsigned int F_address0x8000 = 8; 命令定义F_address常量并赋予8,再次对地址0x8000擦除与写入后,继续引用常量F_address,是不是在擦除和写入时,改变F_address常量的地址?但是从Debug窗口观察,没有!并且我在擦除与写入时未引用F-address常量,只是对地址操作,另我上述程序前后两次访问的F_address的值,方法正确吗?


对FLASH进行操作不会影响常量的地址。对FLASH进行操作时直接用地址值也是没问题的。不过你也可以换个地址试试?另外,FLASH有没有块保护?
海纳百川  有容乃大
我对0x8000--0x8FFF地址没有块保护,因为要对这些地址进行擦除和写入操作,

版主能在百忙中回复笨人的贴子!不胜感激!!!!!!!
如果还是不行,把你的project打包贴出来看看吧。
海纳百川  有容乃大
http://bbs.chinaecnet.com/uploadImages/MC908GP32(擦除烧写程序).rar

带★★的部分是出错的简单说明.
在上传文件名中最好不要用中文,否则链接有问题。
海纳百川  有容乃大
http://bbs.chinaecnet.com/uploadImages/MC908GP32erase_write.rar

带★★的部分是出错的简单说明.
问题出在编译器把它优化了,直接用常数进行操作,所以体现不出FLASH内容的变化了。你可以在常数定义前加volatile说明,如下所示:

volatile const unsigned char F_address@(FLASHbaoaddress) = 8;
volatile const unsigned char F_QDtime@(FLASHbaoaddress+1) = 5;
volatile const unsigned char F_Gcircuit@(FLASHbaoaddress+2) = 150;
volatile const unsigned char F_Gnumber@(FLASHbaoaddress+4) = 1;
volatile const unsigned char F_phl@(FLASHbaoaddress+5) = 30;
volatile const unsigned char F_QZcircuit@(FLASHbaoaddress+6) = 250;
volatile const unsigned char F_LXcircuit@(FLASHbaoaddress+8) = 180;
volatile const unsigned char F_Vbfb@(FLASHbaoaddress+10) = 20;
海纳百川  有容乃大
非常感谢,程序已经调试通过了,因为我以前使用的MICOROCHIP芯片,转到FREESCALE芯片时间不长,所以遇到的问题比较多,多谢版主对我的赐教,我一定会努力,在FREESCALE芯片
上作出一点成绩! 再次感谢版主!!!!!!!!!!!
非常高兴能对你有所帮助。你的程序本身写得还是不错的。

[此贴子已经被strongchen于2007-6-22 16:17:29编辑过]

海纳百川  有容乃大
返回列表