首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | 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???

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







我采取的硬件调试,已经正确的写入了,而且是10个字节!
因为我是用const unsigned int F_address0x8000 = 8; 命令定义F_address常量并赋予8,再次对地址0x8000擦除与写入后,继续引用常量F_address,是不是在擦除和写入时,改变F_address常量的地址?但是从Debug窗口观察,没有!并且我在擦除与写入时未引用F-address常量,只是对地址操作,另我上述程序前后两次访问的F_address的值,方法正确吗?


我对0x8000--0x8FFF地址没有块保护,因为要对这些地址进行擦除和写入操作,

版主能在百忙中回复笨人的贴子!不胜感激!!!!!!!
http://bbs.chinaecnet.com/uploadImages/MC908GP32(擦除烧写程序).rar

带★★的部分是出错的简单说明.
http://bbs.chinaecnet.com/uploadImages/MC908GP32erase_write.rar

带★★的部分是出错的简单说明.
非常感谢,程序已经调试通过了,因为我以前使用的MICOROCHIP芯片,转到FREESCALE芯片时间不长,所以遇到的问题比较多,多谢版主对我的赐教,我一定会努力,在FREESCALE芯片
上作出一点成绩! 再次感谢版主!!!!!!!!!!!
返回列表